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