王俊杰
【摘 要】Java Web,是用Java技術(shù)來解決相關(guān)web互聯(lián)網(wǎng)領(lǐng)域的技術(shù)總和。web包括:web服務(wù)器和web客戶端兩部分。Java在客戶端的應(yīng)用有java applet,不過使用得很少,Java在服務(wù)器端的應(yīng)用非常的豐富,比如Servlet,JSP和第三方框架等等。Java技術(shù)對(duì)Web領(lǐng)域的發(fā)展注入了強(qiáng)大的動(dòng)力。
【關(guān)鍵詞】Javaweb;http;服務(wù)器
一、課程簡介和教材介紹
JavaWeb課程的的先修課程有Java編程、數(shù)據(jù)庫系統(tǒng)、web技術(shù)和計(jì)算機(jī)網(wǎng)絡(luò);本門課程作為軟件工程專業(yè)在第七學(xué)期開設(shè)《企業(yè)級(jí)框架開發(fā)》的先修課程。
教材選用清華大學(xué)出版社出版的《JavaWeb程序設(shè)計(jì)》(第二版),主編,郭克華,2016年10月1日出版。這本教材是21世紀(jì)高等學(xué)校計(jì)算機(jī)專業(yè)核心課程規(guī)劃教材,具有如下特點(diǎn):實(shí)戰(zhàn)性。所有內(nèi)容都用案例引入,通俗易懂。流行性。書中講解的都是Java Web開發(fā)過程中最流行的方法、框架、模式等,緊扣學(xué)生的就業(yè)。適合教學(xué)。
二、教學(xué)設(shè)計(jì)思路說明
1.教學(xué)目標(biāo)
本課程開設(shè)在第六學(xué)期,是前幾個(gè)學(xué)期學(xué)生所學(xué)的課程的融合。學(xué)生所學(xué)的web前端知識(shí)、Java語言基礎(chǔ)、計(jì)算機(jī)網(wǎng)絡(luò)以及數(shù)據(jù)庫相關(guān)的知識(shí),在這些知識(shí)的基礎(chǔ)之上,讓學(xué)生對(duì)現(xiàn)在市場(chǎng)上需求量非常大的JavaEE開發(fā)方向進(jìn)行由淺入深的介紹,并通過教學(xué)環(huán)節(jié)讓學(xué)生對(duì)開發(fā)的思路有一定的了解、對(duì)設(shè)計(jì)思路有充分的掌握。
2.教學(xué)內(nèi)容
整個(gè)JavaWeb開發(fā)過程,是一個(gè)囊括了前端、業(yè)務(wù)邏輯設(shè)計(jì)與控制、數(shù)據(jù)庫設(shè)計(jì)的繁復(fù)過程。前端的內(nèi)容涉及到html+Jsp;業(yè)務(wù)邏輯設(shè)計(jì)涉及到內(nèi)置對(duì)象、javabean和servlet;數(shù)據(jù)庫設(shè)計(jì)涉及到sql語句以及數(shù)據(jù)庫工具的使用。
3.教學(xué)方法
前面說到,課程以以前所學(xué)課程知識(shí)作為基礎(chǔ),并不是表明,在這門課程中,只是原有知識(shí)點(diǎn)的簡單合并,而是在原有的基礎(chǔ)之上引申出新的知識(shí)點(diǎn)。
4.開發(fā)環(huán)境搭建
從開發(fā)環(huán)境入手,讓學(xué)生大致了解eclipse+tomcat+mysql完成的開發(fā)流程。
5.Jsp語法基礎(chǔ)
在這個(gè)章節(jié)主要以知識(shí)點(diǎn)回顧和課堂實(shí)訓(xùn)的方式,手把手讓學(xué)生體會(huì)jsp這樣一種新的開發(fā)語言和之前所學(xué)html以及java的異同,并基本了解和掌握jsp的語法和使用規(guī)則。
6.內(nèi)置對(duì)象
內(nèi)置對(duì)象作為Javaweb開發(fā)的核心,從概念、類的組織結(jié)構(gòu)、派生方法等方面做詳解介紹和講解,結(jié)合課堂小案例,例如簡單注冊(cè)、登錄驗(yàn)證等讓學(xué)生在jsp基礎(chǔ)語法的支持下,掌握jsp內(nèi)置對(duì)象的使用方法以及設(shè)計(jì)技巧。
7.Jdbc
主要以回顧的方式,從java基礎(chǔ)中的jdbc入手,讓學(xué)生加深對(duì)于java數(shù)據(jù)庫開發(fā)的掌握程度以及在web開發(fā)中使用jdbc開發(fā)的技巧。
Javabean+servlet
簡單的使用jsp內(nèi)置對(duì)象能完成簡單程序設(shè)計(jì),但程序復(fù)雜之后,內(nèi)置對(duì)象不能滿足開發(fā)需求,于是介紹Javabean的作用以及通過簡單的課堂項(xiàng)目,讓學(xué)生掌握其概念和用法。
Servlet流程控制核心,也是后續(xù)課程企業(yè)級(jí)框架的基礎(chǔ),對(duì)于概念和組織結(jié)構(gòu),學(xué)生必須掌握,于是在課堂項(xiàng)目中,將原有的使用內(nèi)置對(duì)象完成的流程控制,做修改之后,使用servlet進(jìn)行流程控制,讓學(xué)生在jsp內(nèi)置對(duì)象和servlet兩者中有一個(gè)比較明顯的對(duì)比,從而更加深刻掌握jsp以及servlet的使用。
8.MVC
這是一種常見的web開發(fā)的設(shè)計(jì)模式,分層開發(fā),減少耦合,學(xué)生從概念和使用方法上達(dá)到基本掌握的層次。
三、教學(xué)策略
知識(shí)點(diǎn)的零散以及學(xué)生動(dòng)手能力的欠缺,迫使我在進(jìn)行教學(xué)設(shè)計(jì)的時(shí)候,特別是在準(zhǔn)備課堂案例的時(shí)候,盡量選擇針對(duì)性強(qiáng)而且代碼量不大的小項(xiàng)目。并且,項(xiàng)目實(shí)施過程盡量照顧到每一位同學(xué),以保證每個(gè)學(xué)生能跟上進(jìn)度,保證教學(xué)目的的要求。
基本采用計(jì)算機(jī)行業(yè)內(nèi)常用的技能培訓(xùn)方式,逐行代碼手動(dòng)鍵入,每行代碼標(biāo)注注釋,學(xué)生有不明白的地方隨時(shí)打斷,詳細(xì)講解,直到弄明白為止。
教學(xué)流程圖
以JDBC為例:
教學(xué)效果
數(shù)據(jù)庫:
代碼:
頁面實(shí)現(xiàn):
四、教學(xué)對(duì)象分析與教學(xué)反思
教學(xué)對(duì)象為軟件工程專業(yè)學(xué)生,學(xué)生有如下特點(diǎn):基礎(chǔ)薄弱,動(dòng)手能力較差,上課注意力不集中,自主學(xué)習(xí)能力不足、上課積極性不高。針對(duì)以上幾點(diǎn)我除了在上述的第四點(diǎn)教學(xué)策略中,手把手教學(xué)之外,在教學(xué)環(huán)節(jié)上約束學(xué)生必須跟上我的進(jìn)度,否則課后的實(shí)驗(yàn)報(bào)告書將無法獨(dú)立完成。
知識(shí)點(diǎn)零碎,整個(gè)javaweb開發(fā)對(duì)于學(xué)生基礎(chǔ)要求比較高,難免出現(xiàn)班級(jí)學(xué)習(xí)進(jìn)度不一樣的情況,往后應(yīng)該調(diào)整授課細(xì)節(jié),加強(qiáng)課后鍛煉。
【參考文獻(xiàn)】
[1](美國)埃里克·珍兆科. Java EE 7權(quán)威指南:卷1(原書第5版)[M].機(jī)械工業(yè)出版社,2015.
[2]李興華. Java Web開發(fā)實(shí)戰(zhàn)經(jīng)典基礎(chǔ)篇(JSP、Servlet、Struts、Ajax)[M]. 清華大學(xué)出版社,2010.
[3]Craig Walls 沃爾斯. Spring實(shí)戰(zhàn)(第4版)[M].人民郵電出版社,2016.
[4]李鐘蔚.Java項(xiàng)目實(shí)例自學(xué)手冊(cè)[M]. 人民郵電出版社,2008.
[5]陸遲.Java語言程序設(shè)計(jì)[M].電子工業(yè)出版社,2007.
[6]埃史爾.Java編程思想(第4版)[M].機(jī)械工業(yè)出版社,2007.