李發(fā)英 胡山泉
摘要:目前許多高等院校針對(duì)不同專(zhuān)業(yè)開(kāi)設(shè)了“JSP程序設(shè)計(jì)”課程。針對(duì)這門(mén)實(shí)踐性很強(qiáng)的課程,如何提高教學(xué)質(zhì)量,改進(jìn)教學(xué)方法,尋求合理的教學(xué)模式是課程教學(xué)中著重要解決的問(wèn)題。在多年教學(xué)經(jīng)驗(yàn)的基礎(chǔ)上,本文提出該課程“以設(shè)計(jì)模式為主線(xiàn),理論為基礎(chǔ),項(xiàng)目為目標(biāo)”的教學(xué)方法。
關(guān)鍵詞:JSP程序設(shè)計(jì);教學(xué)方法;教學(xué)質(zhì)量
中圖分類(lèi)號(hào):G642 文獻(xiàn)標(biāo)識(shí)碼:A
Java Server Page(簡(jiǎn)稱(chēng)為 JSP)是由 Sun公司于1999年6月推出的一種基于Java Servlet 的 Web 開(kāi)發(fā)技術(shù)。它以Java 語(yǔ)言為基礎(chǔ),與HTML語(yǔ)言緊密結(jié)合,可以很好地實(shí)現(xiàn)Web 頁(yè)面設(shè)計(jì)和業(yè)務(wù)邏輯實(shí)現(xiàn)的分離,可以讓W(xué)eb 程序員專(zhuān)注于業(yè)務(wù)邏輯的實(shí)現(xiàn)。JSP程序不僅編寫(xiě)靈活、執(zhí)行容易,而且大大提高了系統(tǒng)的執(zhí)行性能。在我校,“JSP程序設(shè)計(jì)”課程已成為網(wǎng)絡(luò)工程、計(jì)算機(jī)科學(xué)與技術(shù)等專(zhuān)業(yè)的必修課程。
由于“JSP程序設(shè)計(jì)”課程是J2EE的先導(dǎo)課程,又是Web應(yīng)用開(kāi)發(fā)的首選技術(shù),因此,如何提高教學(xué)質(zhì)量,讓學(xué)生真正理解JSP程序設(shè)計(jì)方法的精髓,是擺在每一個(gè)JSP程序設(shè)計(jì)教師面前的一個(gè)嚴(yán)峻課題。
1教學(xué)方法
“JSP程序設(shè)計(jì)”課程是一門(mén)集知識(shí)和技能于一體,實(shí)踐性很強(qiáng)的課程,要求學(xué)生既要學(xué)好理論知識(shí),又要掌握實(shí)際操作技能。經(jīng)過(guò)多年的JSP程序設(shè)計(jì)教學(xué),我們總結(jié)出課程的教學(xué)方法。
1.1以設(shè)計(jì)模式為主線(xiàn),讓學(xué)生把握J(rèn)SP程序設(shè)計(jì)的整體架構(gòu)
“JSP程序設(shè)計(jì)”作為一門(mén)程序設(shè)計(jì)課程,跟傳統(tǒng)的VB、VC等程序設(shè)計(jì)課程既有共同點(diǎn)又有本質(zhì)的區(qū)別。傳統(tǒng)的程序設(shè)計(jì)語(yǔ)言課程的教學(xué)重點(diǎn)講解基本概念、算法及程序的運(yùn)行,JSP程序設(shè)計(jì)的目標(biāo)是開(kāi)發(fā)Web應(yīng)用系統(tǒng),為了改善系統(tǒng)性能和提高系統(tǒng)開(kāi)發(fā)效率,開(kāi)發(fā)者必須選擇一種合理的設(shè)計(jì)模式。設(shè)計(jì)模式一方面表明了系統(tǒng)各個(gè)組件之間相互關(guān)聯(lián)的方式,如JavaBean組件,Servlet組件與JSP頁(yè)面是如何交互的,JavaBean對(duì)象的創(chuàng)建和調(diào)用等;另一方面,事先確定設(shè)計(jì)模式可以把握整個(gè)Web應(yīng)用程序的總脈絡(luò),系統(tǒng)各個(gè)模塊的實(shí)現(xiàn)大體上都將按照預(yù)定的設(shè)計(jì)模式進(jìn)行設(shè)計(jì)?;贘SP技術(shù)的Web應(yīng)用開(kāi)發(fā)模式有兩種:一是JSP+JavaBean開(kāi)發(fā)模式,即模式一;二是JSP+JavaBean+Servlet開(kāi)發(fā)模式,即模式二。在設(shè)計(jì)模式的講解過(guò)程中,通過(guò)比較兩種模式的本質(zhì)區(qū)別及其聯(lián)系總結(jié)它們各自的優(yōu)勢(shì)。這樣做有2個(gè)主要優(yōu)點(diǎn):一是便于學(xué)生在設(shè)計(jì)自己的Web應(yīng)用系統(tǒng)時(shí)選擇合適的設(shè)計(jì)模式,更好地提高系統(tǒng)性能;二是便于教師在講解Servlet和JavaBean等基本概念時(shí)結(jié)合模式闡述組件在不同模式中的應(yīng)用。
1.2以概念為基礎(chǔ),讓學(xué)生深入理解概念,為實(shí)踐奠定基礎(chǔ)。
“JSP程序設(shè)計(jì)”課程的入門(mén)篇涵蓋了所有的概念,如JSP語(yǔ)法、JSP內(nèi)置對(duì)象、JavaBean組件、Servlet組件等。如何深入透徹地講解這些概念及其應(yīng)用場(chǎng)合,直接關(guān)系到學(xué)生能否在Web應(yīng)用開(kāi)發(fā)時(shí)靈活使用相關(guān)組件,也直接影響到Web應(yīng)用的開(kāi)發(fā)效率。為了達(dá)到預(yù)期目的,在講解基本概念時(shí),采用具有代表性?xún)煞N方式:
(1) 將概念講解配合必要的實(shí)例演示,可以加深學(xué)生對(duì)概念的理解。對(duì)于JSP概念講解部分,單純講解概念本身而不是通過(guò)某個(gè)實(shí)例進(jìn)行演示,很容易導(dǎo)致枯燥無(wú)味,削弱課堂氣氛,達(dá)不到預(yù)期學(xué)習(xí)效果。如在講解JSP語(yǔ)法中的包含指令include指令時(shí),可以通過(guò)以下的典型實(shí)例進(jìn)行演示。
第一步,創(chuàng)建一個(gè)輸出日期的被包含JSP頁(yè)面date.jsp,代碼如下:
<%@ page contentType="text/html; charset=GB2312 “l(fā)anguage= "java" import="java.util.*,java.text.*" %>
<% Date date=new Date(); //獲得當(dāng)前日期date
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
//得到日期格式對(duì)象sdf
%>
第二步,新建一個(gè)測(cè)試用頁(yè)面index.jsp,在測(cè)試頁(yè)面中使用包含指令:
第三步,在瀏覽器中訪(fǎng)問(wèn)index.jsp,結(jié)果顯示當(dāng)前日期,如圖1所示:
概念講解必須通過(guò)具體實(shí)例來(lái)展示,這樣有助于學(xué)生加深對(duì)include包含指令的理解,又能夠避免在概念講解章節(jié)中帶來(lái)的枯燥無(wú)味,可以收到良好的學(xué)習(xí)效果,提高教學(xué)質(zhì)量,教學(xué)效果明顯。
(2) 比較分析相似概念,總結(jié)其異同點(diǎn)。在JSP程序設(shè)計(jì)的概念講解階段,有幾個(gè)對(duì)象比較容易混淆。講解JSP內(nèi)置對(duì)象時(shí),session對(duì)象,application對(duì)象都可用于存儲(chǔ)用戶(hù)相關(guān)信息,并實(shí)現(xiàn)在Web中多個(gè)頁(yè)面之間共享信息,而且有相同的用于實(shí)現(xiàn)保存信息和獲取信息的方法。但兩個(gè)對(duì)象是有區(qū)別的:session對(duì)象允許一個(gè)用戶(hù)在同一個(gè)Web應(yīng)用系統(tǒng)的不同頁(yè)面共享信息,針對(duì)同一個(gè)用戶(hù)而言,在系統(tǒng)的多個(gè)頁(yè)面中可以共享該用戶(hù)的所有信息;application對(duì)象允許多個(gè)用戶(hù)在同一個(gè)Web應(yīng)用系統(tǒng)的多個(gè)頁(yè)面共享信息,針對(duì)使用該系統(tǒng)的所有用戶(hù),任何一個(gè)用戶(hù)對(duì)共享信息的改變都將影響到其他用戶(hù),利用對(duì)象的這一特點(diǎn),使用application對(duì)象實(shí)現(xiàn)統(tǒng)計(jì)網(wǎng)頁(yè)訪(fǎng)問(wèn)次數(shù)的計(jì)數(shù)器。
1.3以項(xiàng)目為目標(biāo),提高學(xué)生綜合運(yùn)用所學(xué)知識(shí)解決實(shí)際問(wèn)題的能力
在程序設(shè)計(jì)課程中,不管是傳統(tǒng)的VC、VB還是Web程序設(shè)計(jì)JSP,其教學(xué)的最終目的是要求學(xué)生能夠具備開(kāi)發(fā)項(xiàng)目的能力。因此,在JSP程序設(shè)計(jì)教學(xué)活動(dòng)中,必須樹(shù)立項(xiàng)目教學(xué)理念?!绊?xiàng)目教學(xué)”是指師生以團(tuán)隊(duì)的形式共同實(shí)施一個(gè)完整“項(xiàng)目”的工作而進(jìn)行的教學(xué)活動(dòng)。通過(guò)在開(kāi)展項(xiàng)目過(guò)程中有針對(duì)性的工作來(lái)培養(yǎng)學(xué)生的關(guān)鍵能力,特別是獨(dú)立工作能力、想象力、創(chuàng)新能力。項(xiàng)目教學(xué)法包括了計(jì)劃、實(shí)施和檢查及成果展示的全過(guò)程。它是由學(xué)生自己來(lái)完成整個(gè)過(guò)程的教學(xué)方法。以下是一個(gè)項(xiàng)目教學(xué)法的簡(jiǎn)案。
項(xiàng)目名稱(chēng):基于JSP的網(wǎng)絡(luò)廣告系統(tǒng)。
教學(xué)目標(biāo):(1)培養(yǎng)學(xué)生運(yùn)用JSP技術(shù)設(shè)計(jì)Web應(yīng)用系統(tǒng)的能力;(2)培養(yǎng)學(xué)生自行解決實(shí)際問(wèn)題的能力;(3)培養(yǎng)學(xué)生獨(dú)立學(xué)習(xí)和工作的能力;(4)培養(yǎng)學(xué)生與人合作的能力。
項(xiàng)目設(shè)計(jì)的合理性:項(xiàng)目設(shè)計(jì)的最重要的原則就是可實(shí)踐性,以保證學(xué)生可操作,并有收獲。因此,項(xiàng)目的設(shè)計(jì)應(yīng)采用模塊化的方法,將整個(gè)項(xiàng)目分成7個(gè)模塊,由7個(gè)成員中的一個(gè)負(fù)責(zé)某個(gè)模塊的開(kāi)發(fā)。
項(xiàng)目要求如下:
(1) 整個(gè)項(xiàng)目共有7個(gè)模塊,分別為會(huì)員注冊(cè)模塊,會(huì)員登陸模塊,上傳產(chǎn)品照片模塊,瀏覽會(huì)員廣告模塊,修改密碼模塊,修改注冊(cè)信息模塊,退出登錄模塊。學(xué)生分為多個(gè)組,每組7人,每人實(shí)現(xiàn)其中的一個(gè)模塊。
(2) 系統(tǒng)要實(shí)現(xiàn)的功能:①會(huì)員注冊(cè):實(shí)現(xiàn)新會(huì)員填寫(xiě)會(huì)員基本信息,包括姓名,年齡,學(xué)歷和E-mail地址。②會(huì)員登錄:輸入會(huì)員姓名和密碼,實(shí)現(xiàn)對(duì)用戶(hù)姓名和密碼驗(yàn)證。③后續(xù)的5個(gè)模塊必須在會(huì)員登錄后才可實(shí)現(xiàn)其功能。
(3) 任何一個(gè)模塊按照模式一和模式二分別進(jìn)行設(shè)計(jì),當(dāng)系統(tǒng)實(shí)現(xiàn)后,比較兩種模式的異同點(diǎn)。
(4) 項(xiàng)目運(yùn)行環(huán)境由各個(gè)組自行配置,為了統(tǒng)一數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)編程,使用Mysql數(shù)據(jù)庫(kù)管理系統(tǒng)。
項(xiàng)目實(shí)施過(guò)程如下:
(1) 各個(gè)組推選出一個(gè)組長(zhǎng),負(fù)責(zé)項(xiàng)目中各個(gè)組員在項(xiàng)目中的角色,如美工、數(shù)據(jù)庫(kù)開(kāi)發(fā)人員、組件設(shè)計(jì)人員等具體活動(dòng)的分工。
(2) 為了提高項(xiàng)目開(kāi)發(fā)效率,統(tǒng)一在集成開(kāi)發(fā)環(huán)境MyEclipse環(huán)境下開(kāi)發(fā)項(xiàng)目。確定開(kāi)發(fā)平臺(tái)后,可能還需要增加某些類(lèi)庫(kù),必須要將具體的類(lèi)庫(kù)復(fù)制到項(xiàng)目中。
(3) 項(xiàng)目服務(wù)器的選擇。由于學(xué)生所作項(xiàng)目的目標(biāo)是鞏固所學(xué)知識(shí),掌握開(kāi)發(fā)中小型Web應(yīng)用系統(tǒng)的基本步驟,因此可以只選用性能較好,功能較完備的Tomcat服務(wù)器。
(4) 對(duì)于所有頁(yè)面或大部分頁(yè)面都顯示的內(nèi)容,由公共文件實(shí)現(xiàn),這樣可以減少JSP頁(yè)面的代碼量。
項(xiàng)目驗(yàn)收:
(1) 組長(zhǎng)將本組所開(kāi)發(fā)項(xiàng)目的項(xiàng)目進(jìn)行部署并運(yùn)行。所有組員都必須講解本人在項(xiàng)目中的角色及完成的工作,并及時(shí)回答老師提出的問(wèn)題。
(2) 檢查所開(kāi)發(fā)項(xiàng)目是否達(dá)到預(yù)期功能并指出其中未能實(shí)現(xiàn)的部分。
(3) 項(xiàng)目小組需要考慮的問(wèn)題是如何提高系統(tǒng)性能。
2結(jié)語(yǔ)
“JSP程序設(shè)計(jì)”課程教學(xué)方法的改革是一項(xiàng)長(zhǎng)期艱巨的任務(wù)。教師在教學(xué)過(guò)程中應(yīng)根據(jù)課程特點(diǎn)及當(dāng)前的計(jì)算機(jī)技術(shù)和社會(huì)需求情況適當(dāng)改變教學(xué)方法。其次,教學(xué)方法還需要根據(jù)學(xué)生特點(diǎn)進(jìn)行適當(dāng)調(diào)整,即對(duì)于上述三種方式,如概念講解,對(duì)于基礎(chǔ)較差的學(xué)生最好由淺入深引入并從多個(gè)角度詳細(xì)講解,項(xiàng)目實(shí)施,對(duì)于基礎(chǔ)較好的學(xué)生可以要求做較復(fù)雜的Web應(yīng)用系統(tǒng),并提出改善系統(tǒng)性能措施的要求,如安全性,事務(wù)處理等方面,這樣有助于充分發(fā)揮學(xué)生的潛力。
參考文獻(xiàn):
[1] 劉曉華,張健,周慧貞. JSP應(yīng)用開(kāi)發(fā)詳解[M]. 北京:電子工業(yè)出版社,2007.
[2] 耿祥義. JSP實(shí)用教程第二版[M]. 北京:清華大學(xué)出版社,2006.
[3] 李淑娟,李言,孫太國(guó). 基于JSP的合同管理系統(tǒng)開(kāi)發(fā)[J]. 計(jì)算機(jī)工程,2004(12):147-149.
The Research and Practice of Teaching Method of JSP Programming
LI Fa-ying, HU Shan-quan
(Xiangnan University, Computer Science Deparment, Chenzhou 423000, China)
Abstract: At present, JSP programming class is set up in according to certain major in many universities. JSP is the class that is very practically. The essential problem of JSP teaching is improving teaching quality and the revolution of teaching method.Based on teaching practice for many years,the teaching method is provided,that is,using designing mode as main index,theory as basis and project as objective.
Key words: JSP programming;teaching method; teaching quality