單曉光
(哈爾濱德強商務學院,哈爾濱150025)
JavaWeb開發(fā)技術的教學方法研究
單曉光
(哈爾濱德強商務學院,哈爾濱150025)
Java Web開發(fā)技術是目前基于B/S結構動態(tài)網站開發(fā)的主流技術。根據(jù)此課程的自身特征,從內容組織、案例設計、教學模式、測試評估等方面闡述教學經驗,對傳統(tǒng)教學中不適宜軟件學科的教學方法予以改革,并對學生在學習中出現(xiàn)的常見問題進行分析,給出相應的解決方案。
Java Web;設計模式;框架技術;案例教學
隨著Internet的高速發(fā)展,Java Web技術已經成為各大高校計算機軟件專業(yè)的一門核心課程。本課程大體涵蓋ht Ml、javascript、css、jsp、jdbc、servlet、struts、hibernate、spring、x Ml、ajax和常用設計模式等具體內容。學生通過本課程的學習可以掌握Java Web開發(fā)的專業(yè)理論知識和實際開發(fā)技能,為今后從事軟件開發(fā)工作奠定扎實的專業(yè)基礎。由于本課程知識點龐雜,程序設計思想又需要在實踐訓練中才能培養(yǎng)起來,所以學生學習起來有很大的難度。筆者有多年從事Java教學工作經驗,在實際工作中不斷探索研究問題的解決方案,現(xiàn)就本課程的教學方法總結如下。
由于本課程所涉及的知識點繁多,所以必須總結出一條主線把所學知識點貫穿起來,方便學生的理解和記憶。傳統(tǒng)的方案是以知識結構為綱領。我以知識點所能實現(xiàn)的功能為綱領來組織主線。例如在學習Jsp基礎時按如下線索進行組織:1)動態(tài)顯示→2)接受請求參數(shù)→3)處理中文亂碼→4)文件包含→5)網頁跳轉→6)多網頁多用戶共享數(shù)據(jù)→7)用對象實現(xiàn)購物車,網站計數(shù)器→8)獲取web.x Ml配置的初始化參數(shù)。這樣按功能為主線學生能很清晰地知道Jsp具體能做什么,更符合學生的接受心理。
對于實踐性學科,案例教學無疑是非常好的教學手段。針對每個知識點我設計的案例都分三個類型:首先設計最簡潔的案例用來解釋知識點;然后設計課堂案例注重使用知識點解決實際問題;最后設計課后作業(yè)練習知識點的綜合運用并起到復習目的。再次針對每個學習階段又設計出具有一定規(guī)模的項目案例,加深學生對知識點的理解程度。比如設計一個網絡留言板管理系統(tǒng),第一階段使用jsp+jdbc實現(xiàn);第二階段使用Jsp+JavaBean+DAO實現(xiàn);第三階段使用 MVC+DAO實現(xiàn);第四階段使用Struts+DAO實現(xiàn);第五階段使用Struts+Hibernate實現(xiàn);第六階段使用Struts+Hibernate+Spring實現(xiàn)[1]。通過項目來鍛煉學生的程序設計思維。另外,讓學生背典型案例也是一個非常好的學習方法。通過對經典案例的背誦,既鍛煉了思維又掌握了語法結構。我讓學生背誦如下案例:1)Jsp實現(xiàn)固定用戶密碼登陸;2)Jsp+JavaBean+DAO實現(xiàn)用戶登陸;3) MVC+DAO實現(xiàn)用戶登陸;4)Struts+DAO實現(xiàn)用戶登陸;5)Struts+Hibernate實現(xiàn)用戶登陸;6)Struts+Hibernate+Spring實現(xiàn)用戶登陸。
由于程序設計語言比較抽象并且它所涉及的概念學生在日常的學習和生活中很少有接觸過,所以要求教師會使用生動形象的比喻去闡述高深的技術和復雜的原理。比如講解 MVC設計模式時,該模式分為三層,由Jsp充當視圖,負責數(shù)據(jù)的輸入和動態(tài)內容的顯示;Javabean充當模型,負責實現(xiàn)相關的業(yè)務邏輯和數(shù)據(jù)的訪問;Servlet充當控制器,負責接受數(shù)據(jù),判斷調用哪個Javabean實現(xiàn)功能,再選擇調用哪個視圖來顯示最后結果[2]??梢宰鋈缦卤扔?視圖層Jsp相當于飯店的迎賓員和傳菜員,顧客來到飯店,把需求告訴迎賓員,然后由迎賓員報告給總經理,總經理相當于控制器,根據(jù)顧客點的菜決定由哪個廚師來炒菜,菜做好后再由總經理吩咐相應的傳菜員把菜端給顧客。廚師就相當于我們的模型層Javabean,這樣學生理解起來就容易多了。再比如講解過濾器時,對于攔截的每一個請求過濾器要執(zhí)行2次,學生很不容易理解??梢员扔鞒梢粋€人申請出國首先必須經過海關檢查,手續(xù)合法才允許你前往目標國家,這里海關就相當于過濾器,等到該人回國前,還必須先到海關辦理回國手續(xù),一次出國需要經過海關2次,通過這個比喻學生就可以很好地理解過濾器的工作原理。
算法有各種描述工具,我認為用學生最熟悉的漢語來描述算法是一個非常好的方案。對于每個項目案例首先做項目分析,通過分析找到解題的具體步驟然后用漢語描述,再編寫代碼實現(xiàn)。代碼編寫完成后分析整個項目由幾個文件構成,每個文件實現(xiàn)什么功能,文件之間是怎樣的跳轉關系。例如 MVC+DAO網絡留言板管理系統(tǒng)網頁的跳轉關系(下圖所示):
這樣以容易理解的圖片解析繁復的結構和過程,帶領學生一步步分析,讓學生經歷整個解題的思想過程,不僅提高了學生的思維能力,也達到了鍛煉學生程序設計思想的目的。
對于復雜的知識點,總結規(guī)律并把它的實現(xiàn)過程歸納出具體的步驟。例如在學習Jdbc連接數(shù)據(jù)庫時,把實現(xiàn)對數(shù)據(jù)庫操作歸納為固定的四步驟:1)加載驅動程序;2)創(chuàng)建數(shù)據(jù)庫連接;3)操作數(shù)據(jù)庫;4)關閉數(shù)據(jù)庫。其中第三步又分為四小步:1)創(chuàng)建數(shù)據(jù)庫操作對象;2)構造完整的sql語句;3)發(fā)送執(zhí)行sql語句;4)處理結果集[3]。這四步驟是學生的解題依據(jù),只要是按這四步去操作就能實現(xiàn)數(shù)據(jù)庫的增刪改查。再比如學習自定義標簽時,把實現(xiàn)自定義標簽分為以下四步驟完成:1)編寫標記處理類;2)編輯標記描述文件*.tld;3)在web.x Ml中配置tld文件路徑;4)在jsp頁面中聲明并使用。
在教學過程中,我們需要采用合適的評價手段來檢驗學生學習效果的,及時發(fā)現(xiàn)學習中的問題,研究解決辦法的有效途徑。本課程要經過一個學期四個月的學習時間,每次課的課堂容量又大,如果學生不勤復習,那么學過的知識點很容易遺忘,為此建立一個有效的督促機制勢在必行。我的做法是要求學生每周寫總結,總結這一周所學的所有內容以及經典案例。并且根據(jù)學習的進度編寫了四套測試題,每個月舉行月考,這樣的檢查機制對學生的學習起到了很好的監(jiān)督作用。
我們的教學過程要從教學向學習轉換,要改變傳統(tǒng)的以教為中心的教學方法,而是以學為中心,讓學生在自己的動手的實踐中,構建屬于自己的經驗和知識體系。機房授課四學時連上的教學模式為解決這個問題提供了有力保障。學生人手一機,教師邊講邊練。學生變成自己教育自己的主體,而教師從傳授者變成引導者,充分重視學生的學習權,達到了非常好的教學效果。
[1]李興華.Java Web開發(fā)實戰(zhàn)經典[ M].北京:清華大學出版社,2010.
[2]劉曉華.JSP應用開發(fā)詳解[ M].北京:電子工業(yè)出版社,2007.
[3]劉中兵.Java Web主流框架整合開發(fā)[ M].北京:電子工業(yè)大學出版社,2008.
Study on Teaching Methods of Java Web Develop Ment Technology
SHAN Xiao-guang
(Harbin Deqiang Business College,Harbin 150025,China)
Java Web develop Ment technology is a Mainstrea Mtechnology based on B/S structure dyna Mic web.According to the course's own characteristics,fro Mthe aspects of content organization,case design,teaching Mode,testing and evaluation,the teaching experience is illustrated in this paper.The traditional teaching Methods which are not appropriate are refor Med thoroughly.Besides,the recurrent proble Ms in students'learning are analyzed and the corresponding solutions are proposed.
Java Web;design patterns;fra Me technology;case teaching
G642.0
A
1001-7836(2011)07-0068-02
10.3969/j.issn.1001 -7836.2011.07.028
2011-04-26
單曉光(1979-),男,黑龍江哈爾濱人,講師,從事Java Web軟件開發(fā)和教學研究。