于紅斌,范黎林,謝自梅
(河南師范大學(xué) 計(jì)算機(jī)與信息工程學(xué)院,河南 新鄉(xiāng)453007)
JSP程序設(shè)計(jì)課程的內(nèi)聯(lián)與外擴(kuò)
于紅斌,范黎林,謝自梅
(河南師范大學(xué) 計(jì)算機(jī)與信息工程學(xué)院,河南 新鄉(xiāng)453007)
針對JSP教學(xué)要求,說明JSP的教學(xué)方法,同時結(jié)合相關(guān)課程建立聯(lián)合教學(xué)要求模式,通過不同實(shí)例和項(xiàng)目規(guī)劃對JSP程序設(shè)計(jì)課程的重點(diǎn)難點(diǎn)進(jìn)行橫縱比較,探討以多課程共享考核形式和項(xiàng)目小組競爭方式實(shí)現(xiàn)學(xué)生由被動學(xué)習(xí)到主動求知的轉(zhuǎn)變。
JSP;教學(xué)方法;教學(xué)擴(kuò)展
JSP (java server page)是1999年由Sun公司倡導(dǎo),多家公司參與推出的一種Web服務(wù)設(shè)計(jì)標(biāo)準(zhǔn)。JSP基于Java Servlet以及整個Java體系的Web開發(fā)技術(shù),利用這一技術(shù)可以開發(fā)安全、跨平臺的先進(jìn)動態(tài)網(wǎng)站,實(shí)現(xiàn)動態(tài)頁面和靜態(tài)頁面分離的效果,具有脫離硬件平臺束縛以及編譯后運(yùn)行等優(yōu)點(diǎn),從而成為開發(fā)動態(tài)網(wǎng)站的主流技術(shù)[1]。目前,多數(shù)高校已將JSP程序設(shè)計(jì)作為計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)的必修課程。
JSP 程序設(shè)計(jì)課程基于Java語言,涉及HTML語言,同時作為J2EE的先導(dǎo)課程,成為Web 應(yīng)用開發(fā)的首選技術(shù),因此,設(shè)定JSP程序設(shè)計(jì)的核心教學(xué)目標(biāo)為:提高教學(xué)質(zhì)量,讓學(xué)生真正理解 JSP 程序設(shè)計(jì)方法的精髓,提高基于JSP項(xiàng)目開發(fā)的能力,學(xué)以致用。
JSP頁面一般包含HTML標(biāo)記、Java程序片和JSP標(biāo)記3部分,內(nèi)容涉及知識點(diǎn)多,涵蓋面廣[1]。JSP包括JSP的語法、JSP的內(nèi)置對象、JavaBean和Servlet組件、MVC模式應(yīng)用等。這些基本概念的有效融合可以提高學(xué)生Web應(yīng)用開發(fā)的效率,因此,清晰透徹地講解每一個概念至關(guān)重要。
1)同一實(shí)例的多面性——區(qū)分概念。
為了明確JSP中概念的相關(guān)性和差異性[2],JSP的講解不僅使用包含每個知識點(diǎn)的不同案例,而且使用同一例子展現(xiàn)不同情形。在實(shí)際教學(xué)中,以三角形面積的計(jì)算為例,按照教學(xué)計(jì)劃,分別依次創(chuàng)建單純JSP頁面的實(shí)現(xiàn)情形、JSP+JavaBean的實(shí)現(xiàn)情形、JSP+Servlet的實(shí)現(xiàn)情形和MVC模式實(shí)現(xiàn)情形。
①單純JSP頁面的實(shí)現(xiàn)情形主要是數(shù)據(jù)的接收、存儲、計(jì)算的頁面實(shí)現(xiàn)。在實(shí)際教學(xué)中,需要將三角形三邊長的輸入用一個JSP頁面實(shí)現(xiàn),包括表單和超鏈接兩種方法,面積的計(jì)算通過另一個JSP頁面實(shí)現(xiàn)。通過例證,學(xué)生可以體會JSP頁面的連接跳轉(zhuǎn)模式,發(fā)現(xiàn)表單和超鏈接數(shù)據(jù)接收的異同,知道Web頁面設(shè)計(jì)的基本要求,即良好的用戶界面。該模式的優(yōu)點(diǎn)是簡單、易于實(shí)現(xiàn),缺點(diǎn)是數(shù)據(jù)的封裝性不好,用戶可以直接跳過數(shù)據(jù)的接收頁面,訪問其他頁面。
②在JSP+JavaBean的實(shí)現(xiàn)情形中,用戶通過JSP頁面提交數(shù)據(jù),避免對底層邏輯的修改和訪問,將數(shù)據(jù)的存儲和計(jì)算交給JavaBean。JavaBean組件的引入可以有效地避免JSP頁面連接跳轉(zhuǎn)的弊端。在實(shí)際教學(xué)中,三角形三邊長的輸入仍用一個JSP頁面實(shí)現(xiàn),但面積的計(jì)算由JavaBean來實(shí)現(xiàn)。因?yàn)閷W(xué)生有一定Java基礎(chǔ),重點(diǎn)可以放在JavaBean的動作標(biāo)記講解上,特別是動作標(biāo)記<jsp:getProperty>和<jsp:setProperty>,并與Java中的語句getXXX()和setXXX()方法做相應(yīng)對比,以加深同學(xué)的理解,同時為后面MVC模式中JavaBean只用來存儲數(shù)據(jù)預(yù)留伏筆。
③有些Web應(yīng)用可能只需要JSP+JavaBean就能設(shè)計(jì)得很好,但是有些Web應(yīng)用,就可能需要JSP+ Servlet來完成,即需要服務(wù)器再創(chuàng)建一些Servlet,配合JSP頁面來完成整個Web應(yīng)用程序的工作,即JSP+Servlet的應(yīng)用情形。Servlet組件的引入對JSP運(yùn)行原理進(jìn)行了更好的分析,有利于加深學(xué)生對JSP運(yùn)行原理的理解,也有利于學(xué)生對MVC模式有一個逐層深入的理解。在實(shí)際教學(xué)中,整個計(jì)算過程都通過Servlet實(shí)現(xiàn),為了簡單清晰,三角形的三邊長設(shè)為定值。這一部分,主要講解Servlet的工作原理,特別是Web部署。
④學(xué)生對MVC這一Web設(shè)計(jì)模式的理解在前面幾章的鋪墊之下,更加容易理解透徹。
在實(shí)際教學(xué)中,通過JSP中表單接收數(shù)據(jù),并請求相應(yīng)的Servlet計(jì)算三角形的面積,通過另一個JSP頁面對JavaBean的訪問獲得面積值。重點(diǎn)放在Servlet和JavaBean的交互上,同時涵蓋Web中頁面的轉(zhuǎn)發(fā)和重定向兩種方法。同一個三角形面積計(jì)算的不同實(shí)現(xiàn)方法,可以使學(xué)生對這幾個基本知識點(diǎn)理解深刻,實(shí)際教學(xué)效果突出。
2)不同實(shí)例的教學(xué)要求——深化理解。
JSP中概念豐富,有些概念密切聯(lián)系但用法迥異,只有明確區(qū)分才能適當(dāng)應(yīng)用。為此,教學(xué)中通過不同實(shí)例來加強(qiáng)對這些概念的區(qū)分,表1給出了幾種概念的對比。
表1中給出了JSP中幾個功能相仿但用法不同的概念,針對這些概念,課題組精心設(shè)計(jì)了不同的教學(xué)實(shí)例反復(fù)對比實(shí)驗(yàn)演示,將概念的相關(guān)性和差異性融入其中,使得學(xué)生能夠深入透徹地理解每一個概念及其使用場合。
實(shí)際教學(xué)中,概念的細(xì)分和熟悉是必不可少的,但學(xué)習(xí)目標(biāo)不能僅局限于此,實(shí)踐操作、學(xué)以致用才是JSP教學(xué)的最終目的。為此,每學(xué)期課程都會布置一個綜合實(shí)驗(yàn),由學(xué)生自由結(jié)成3~5人的小組完成整個項(xiàng)目[3]。為了真正達(dá)到鍛煉學(xué)生能力、檢測教學(xué)效果的目的,同時保證項(xiàng)目的開發(fā)效果,每個項(xiàng)目小組將完成不同的案例。
表1 JSP中易混淆概念對比
項(xiàng)目采用組長負(fù)責(zé)制,成員分工明確,由組長制定項(xiàng)目方案和計(jì)劃并對項(xiàng)目組成員進(jìn)行考核,最終由教師根據(jù)項(xiàng)目的完成效果給出最終成績。
整個大學(xué)期間,學(xué)生專業(yè)課的開展是一個非常有計(jì)劃有目的的過程。通過對開展該課程的師范類院校學(xué)生的回訪可知,學(xué)生不清楚課程開設(shè)的目的、不清楚各個課程的關(guān)聯(lián)性、不知道課程對以后的工作學(xué)習(xí)有什么作用。JSP程序設(shè)計(jì)作為Web程序設(shè)計(jì)的先導(dǎo)課,實(shí)用性強(qiáng),將其與相關(guān)課程結(jié)合才更有利于學(xué)生的學(xué)習(xí)。
數(shù)據(jù)庫是Web設(shè)計(jì)必不可少的,在數(shù)據(jù)查詢、修改、保存、安全等方面有著其他處理手段無法替代的地位[4]。
河南師范大學(xué)計(jì)算機(jī)與信息工程學(xué)院將數(shù)據(jù)庫系統(tǒng)理論課程和JSP程序設(shè)計(jì)課程開設(shè)在同一學(xué)期,為了加強(qiáng)對學(xué)生的約束,教師將兩門課的考核接合在一起,制定同一個實(shí)驗(yàn)方案。JSP程序設(shè)計(jì)提出對界面、模塊等的要求,也包括服務(wù)器的要求。數(shù)據(jù)庫課程提出數(shù)據(jù)的操縱要求,主要包括數(shù)據(jù)的關(guān)聯(lián)性、一致性等。以學(xué)生成績管理系統(tǒng)為例,基本要求見表2。
簡單來說,學(xué)生為了完成兩個課程的課業(yè)要求,或者想證明自己的能力,都會積極地投入到項(xiàng)目的研發(fā)中。通過這種考查形式,學(xué)生對課程的核心內(nèi)容有了更深入的理解,對課程的設(shè)置目的也更明確,將理論應(yīng)用于實(shí)踐,培養(yǎng)了學(xué)生的獨(dú)立思考能力和主觀學(xué)習(xí)能動性,學(xué)生的積極性得到了極大地調(diào)動。
XML提供了直接在數(shù)據(jù)上工作的通用方法,可以將用戶界面和結(jié)構(gòu)化數(shù)據(jù)相分離。XML語言有著豐富的內(nèi)容,應(yīng)用也很廣泛,如Android應(yīng)用程序開發(fā)等[5]。
河南師范大學(xué)XML程序設(shè)計(jì)開設(shè)在JSP程序設(shè)計(jì)之后,在XML課程期末考核時,要求每個學(xué)生根據(jù)自己的興趣愛好建立自己的XML文件,并作為數(shù)據(jù)存儲文件,通過JSP實(shí)現(xiàn)對數(shù)據(jù)訪問,基本模塊包括用戶注冊、登陸等,通過JSP實(shí)現(xiàn)對數(shù)據(jù)的查詢、修改、添加等。
教師根據(jù)學(xué)生的作業(yè)完成效果,從界面展示、功能劃分、XML數(shù)據(jù)豐富性等方面綜合評定成績。這一考核形式,有效地融合了兩門課的內(nèi)容,考查XML教學(xué)效果的同時,延續(xù)了JSP的實(shí)踐教學(xué)。
表2 JSP與數(shù)據(jù)庫課程考核的基本要求
結(jié)合JSP教學(xué)的實(shí)際情況,項(xiàng)目的開發(fā)形式以及強(qiáng)制與部分課程的考核相關(guān)聯(lián)的形式調(diào)動了學(xué)生學(xué)習(xí)的積極性,實(shí)踐過程中的挑戰(zhàn)性將學(xué)生從被動學(xué)習(xí)轉(zhuǎn)化成主動求解,最終從多途徑加強(qiáng)和鞏固了JSP的教學(xué)效果,這一點(diǎn)從河南師范大學(xué)近幾年學(xué)生的考核和反饋中已經(jīng)得到了印證,為數(shù)不少的學(xué)生甚至已經(jīng)申請了軟件著作權(quán)。
JSP課程概念豐富,實(shí)用性強(qiáng),有效掌握該技術(shù)對學(xué)生的Web開發(fā)能力的提高有極大的促進(jìn)作用。為了達(dá)到這一目標(biāo),只有充分合理安排整個教學(xué)過程,完善教學(xué)體系,不斷根據(jù)學(xué)生特點(diǎn)調(diào)整教學(xué)模式。
[1] 耿祥義, 張躍平. JSP實(shí)用教程[M]. 3版. 北京: 清華大學(xué)出版社, 2015.
[2] 楊占勝, 許作萍, 張雪飛. JSP應(yīng)用開發(fā)課程教學(xué)難點(diǎn)要點(diǎn)剖析[J]. 計(jì)算機(jī)教育. 2015(20): 96-98.
[3] 褚龍現(xiàn). JSP實(shí)訓(xùn)課程教學(xué)改革[J]. 計(jì)算機(jī)教育, 2013(12): 29-32.
[4] 王秀英, 張俊玲, 籍淑麗, 等. 數(shù)據(jù)庫原理與應(yīng)用[M]. 3版. 北京: 清華大學(xué)出版社, 2017.
[5] 孫更新, 李偉超, 李玉玲. XML編程與應(yīng)用教程[M]. 2版. 北京: 清華大學(xué)出版社, 2014.
1672-5913(2017)11-0062-03
G642
2017年度河南省教師教育課程改革研究項(xiàng)目(2017-JSJYYB-035)。
于紅斌,女,講師,研究方向?yàn)橹悄芩惴?,yuhb231@126.com。
(見習(xí)編輯:景貴英)