《Java Web程序設計》課程教學大綱
課程編碼:
課程名稱:Java Web程序設計
課程類型:
英文名稱:Java Web Programming
總學時數:64
學分數:4
適用對象:計科、軟工專業學生
授課學期:第4學期
先修課程:Java程序設計、網頁設計基礎、資料庫原理與應用
一、課程性質、目的和任務
(一)課程性質
本課程為計算機及相關專業學生專業技術開發方向的核心課程。課程的先修課程主要是Java程序設計、網頁設計基礎;後續課程主要有Java Web開發技術課程設計、Java EE框架等。通過本課程的學習,學生能夠掌握基於Java技術的Web編程的基本思想,具有使用JSP和Servlet技術開發B/S應用程式的能力,同時為後續課程打下紮實的基礎。
(二)教學目的及任務
本課程的目標是讓學生通過學習,掌握Java Web開發環境的搭建、了解JavaEE的體系結構、學會使用開發工具Eclipse進行Web程序設計、掌握Servlet和JSP核心技術、掌握Java Web應用程式的設計思想和具體編程過程。加強學生的實踐應用開發能力,為後續開發實踐課程打下良好的技術基礎,同時為對口高質量面向Java開發方向的就業做好一定的技術儲備。具體達到以下三個方面的目標:
1. 專業知識方面
使學生了解基於Java技術的Web應用開發原理與流程,掌握伺服器端的核心Servlet與JSP編程技術、JSTL核心標籤庫與EL表達式的使用、Session與Cookie會話、Filter過濾器與Listener監聽器的使用以及JDBC等知識。
2. 專業能力方面
通過該課程的學習,使學生掌握基於Java技術的Web應用程式開發的基本思路與構建過程,掌握會話技術、監聽器技術、過濾器技術在真實項目開發中的應用,掌握基於MVC設計模式下的Java Web項目開發流程,具有利用Java Web技術獨立分析與開發B/S架構中小型應用程式的能力。
3. 素質方面
通過課內技術講解與實驗實踐程序的編寫和調試,培養學生嚴謹的學習態度;掌握Java Web核心編程技術,培養良好的編碼習慣;同時,對於實驗實踐難點以小組討論的方式培養學生初步的團隊協作與獨立分析處理問題的能力。
二、教學基本要求
1. 了解JavaWeb程序設計的基本特點、要求、配置等,掌握HTML技術和JavaScript技術。
2. 熟悉和掌握JSP技術、Servlet技術和JavaBean技術,掌握這三種技術的特點以及應用場合,能夠運用這三種技術設計簡單的Java Web應用系統。
3. 熟悉和掌握MVC(模型-視圖-控制器)模式和相應開發技術,能夠開發簡單的Java Web應用。
4. 掌握過濾器與監聽器的應用,掌握Java Web安全的簡單的思想。
5. 注重JavaWeb的設計與開發能力,提高學生學以致用的能力。
三、教學內容、要求及方法設計
以下內容描述中,「®」後面表示是重點內容,「¯」後面表示是難點內容,「²」後面表示既是重點內容也是難點內容。
1. 知識單元一:Web開發基礎(理論2學時,上機2學時)
教學要求:
了解XML的概念,熟悉XML語法、DTD約束、Schema約束,了解HTTP協議,熟悉HTTP請求行和常用請求頭欄位的含義,熟悉HTTP響應狀態行和常用響應消息頭欄位的含義,掌握Web應用的目錄結構,掌握在Eclipse中配置Tomcat伺服器的方法與步驟。
教學內容:
(1)XML基礎
(2)HTTP協議概述
(3)²HTTP請求與響應消息
(4)²Tomcat下載安裝與配置
(5)®Web應用
(6)²在Eclipse中配置與調試Tomcat
教學方法:
相關基本概念採用講授法,XML代碼及約束採用演示法,Tomcat伺服器的下載安裝與配置、Web應用的目錄結構、Eclipse開發調試工具採用邊講解邊演示方法。
2. 知識單元二:Servlet基礎(理論4學時,上機4學時)
教學要求:
掌握Servlet接口及其實現類的使用,掌握Servlet的生命周期,熟練掌握使用Eclipse工具開發Servlet程序,熟練掌握基於XML配置與@WebServlet註解的Servlet創建方式,掌握Servlet虛擬路徑映射的配置。
教學內容:
(1)Servlet概述
(2)®Servlet開發入門
(3)®Servlet應用HttpServlet類
(4)®ServletConfig與ServletContext接口
(5)²Servlet的生命周期。
教學方法:
Servlet概述採用講授法,Servlet類的編寫採用演示和驗證法,基於XML配置與註解兩種編寫Servlet類的兩種方式採用演示與比較法。
3. 知識單元三:請求和響應(理論4學時,上機4學時)
教學要求:
掌握HttpServletRequest對象的使用,掌握HttpServletResponse對象的使用,掌握如何解決請求和響應過程中的中文亂碼問題,掌握如何實現請求轉發與請求重定向及其比較。
教學內容:
(1)®掌握HttpServletResponse對象及應用
(2)®掌握HttpServletRequest對象及應用
(3)²掌握請求與響應的亂碼問題
(4)®掌握請求轉發RequestDispatcher對象及其應用
(5)®掌握請求重定向的使用
(6)²掌握請求轉發與請求重定向的區別
教學方法:
HttpServletResponse對象及應用採用講授和演示法,HttpServletRequest對象及應用採用講授和演示法,請求與響應過程的亂碼問題解決採用演示與驗證法,請求轉發與重定向採用講授與演示法,請求轉發與重定向比較採用講授和驗證法。
4. 知識單元四:會話及其技術應用(理論4學時,上機4學時)
教學要求:
了解會話概念,了解在客戶端實現會話的技術Cookie,掌握Cookie在用戶登錄中的應用,了解在伺服器端保持會話的技術Session,掌握Session會話技術在購物車中的應用,掌握Cookie與Session會話技術的本質區別及應用場景區別。
教學內容:
(1)¯了解什麼是Web應用中的會話
(2)²掌握Cookie會話原理與對象的應用
(3)²掌握Session會話原理與對象的應用
(4)®掌握Cookie與Session兩種會話技術的比較
(5)²會話技術的案例應用(購物車與用戶登錄)
教學方法:
Web中的會話概念採用講授與舉例法,Cookie對象的會話原理與應用採用講授與演示法,Session對象的會話原理與應用採用講授與演示法,會話技術比較採用演示與比較法,並接合畫圖來讓學生們更好的理解與掌握。
5. 知識單元五:JSP技術(理論4學時,上機4學時)
教學要求:
了解什麼是JSP技術及其運行原理,掌握JSP的常用指令,掌握JSP中的腳本元素與註解,理解並掌握JSP中的9大隱式對象,理解並掌握JSP的動作元素,理解JSP頁面在MVC設計模式中的作用。
教學內容:
(1)¯了解JSP概述與運行原理
(2)®掌握JSP基本語法(腳本元素與註解)
(3)®掌握JSP中的常用指令
(4)²掌握JSP中的9大隱式對象
(5)²掌握JSP中的常用動作元素
(6)掌握JSP在基於MVC模式的網上書城系統中的註冊頁面中使用
教學方法:
JSP概述與運行原理採用講授與演示法,JSP基本語法採用演示法,JSP指令採用講授與演示法,JSP隱式對象採用講授與演示及驗證法,JSP中的動作元素採用演示與驗證法,JSP在登錄頁面中的使用採用演示法。
6. 知識單元六:EL表達式和JSTL核心標籤庫(理論3學時,上機3學時)
教學要求:
了解什麼是JavaBean,掌握EL表達式中的11大隱式對象及其應用,掌握JSTL中的核心標籤使用,掌握JSTL+EL表達式在項目中的組合應用。
教學內容:
(1)®了解JavaBean的作用
(2)²掌握EL表達式基本語法及其11大隱式對象的應用
(3)²掌握JSTL核心標籤庫中的常用標籤及其使用
(4)²掌握JSTL+EL在註冊頁面及數據顯示頁面中的組合使用
教學方法:
JavaBean採用講授與演示法,EL表達式採用講授與演示法,11大隱式對象採用演示與驗證法,JSTL採用演示法,JSTL與EL的組合應用採用演示與驗證法。
7. 知識單元七:Servlet高級編程(理論3學時,上機3學時)
教學要求:
了解Filter過濾器概念與運行原理,掌握Filter類的開發步驟,理解Filter在項目開發中的應用,如對編碼的過濾,對用戶訪問權限的攔截與處理,了解Listener監聽器概念與運行原理,掌握Listener類的開發步驟,理解Listener監聽器在項目開發中的應用,如在線精確人數的統計,定時掃描,在線監控等功能的實現。
教學內容:
(1)¯了解什麼是Filter及其運行原理
(2)²掌握Filter類的開發與配置過程
(3)²掌握Filter過濾器在編碼過濾與權限攔截中的作用
(4)¯了解什麼是Listener及其運行原理
(5)²掌握Listener類的開發與配置過程
(6)®掌握Listener監聽器在統計在線人數中的應用
(7)¯掌握Listener監聽器在定時掃描與在線監控中的應用
教學方法:
Filter概念及其運行原理採用講授與畫圖法,Filter類的開發與配置採用演示與驗證法,Filter在項目開發中的應用採用演示法,Listener概念及其原理採用講授與畫圖法,Listener類的開發與配置採用演示與驗證法,Listener在項目開發中的應用採用演示法。
8. 知識單元八:JDBC資料庫編程(理論4學時,上機4學時)
教學要求:
掌握什麼是JDBC,熟練掌握JDBC中常用接口及工具類中的常用API,掌握JDBC程序的編寫過程與步驟,熟練掌握使用JDBC完成對資料庫中表的CRUD操作,了解對JDBC操作的優化,掌握Statement、PreparedStatement、CallableStatement、ResultSet、ResultSetMetaData等接口類的使用。
教學內容:
(1)¯掌握什麼是JDBC
(2)®掌握JDBC中的常用接口Conneciton、Statement、PreparedStatement、ResultSet及類DriverManager、Diver的API
(3)²掌握資料庫連接程序編寫的流程與步驟及錯誤調試
(4)²掌握PreparedStatement接口在JDBC編程中的使用
(5)²掌握ResultSet接口在JDBC編程中的使用
(6)²掌握使用JDBC完成數據的CRUD操作
(7)¯了解CallableStatement接口在處理存儲過程編程中的應用
(8)¯了解JDBC操作的優化
教學方法:
JDBC操作原理採用講授與畫圖法,JDBC中的常用API採用開發文檔講授法,JDBC程序採用演示與調試驗證法,JDBC操作在項目開發中的CRUD操作採用演示與驗證法,JDBC優化採用講解與演示法,利用CallableStatement來操作存儲過程編程採用講授與演示法。
9. 知識單元九:JSP開發模型(理論2學時,上機2學時)
教學要求:
了解JSP開發模型Model1與Model2及其區別,理解並掌握MVC設計模式及其在開發中的應用。
教學內容:
(1)了解JSP開發的兩種常用模式Model1和Model2
(2)²掌握MVC設計模式原理
(3)²掌握基於MVC設計模式下的用戶註冊功能實現
教學方法:
JSP開發的兩種常用模式採用講授與演示法,MVC設計模式採用講授與畫圖演示法,基於MVC模式下的用戶註冊功能實現採用演示與驗證法。
10.知識單元十:文件的上傳與下載(理論2學時,上機2學時)
教學要求:
掌握文件上傳的兩種技術實現,一種是傳統且企業使用最為廣泛的Apache的FileUpload上傳組件技術,一種是Servlet3.0之後提供的Part技術,掌握文件下載及中文亂碼問題的解決方式。
教學內容:
(1)了解上傳實現的原理
(2)®掌握Apache的FileUpload上傳組件的相關API使用
(3)®掌握Servlet3.0的Part上傳技術API使用
(4)兩種上傳技術的實現與比較
(5)®掌握文件下載及亂碼解決方式實現
教學方法:
上傳的原理採用講授與畫圖法,上傳的兩種技術實現採用演示與驗證法,文件下載採用講授與演示法,文件下載的亂碼解決採用演示與驗證法。
四、各教學環節學時分配
總學時64,其中授課32學時,上機32學時,課內實踐0學時,實驗0學時,習題及討論學時根據學生具體掌握情況靈活穿插安排。
課程學時分配表
教學環節
課時數
知識單元
授課
上機
課內實踐
實驗
習題及討論
小計
Web開發基礎
2
2
4
Servlet基礎
4
4
8
請求與響應
4
4
8
會話及其技術應用
4
4
8
JSP技術
4
4
8
EL表達式與JSTL核心標籤庫
3
3
6
Servlet高級
3
3
6
JDBC資料庫編程
4
4
8
JSP開發模型
2
2
4
文件上傳與下載
2
2
4
總 計
32
32
64
五、學習要求與考核評價
1. 學習要求
在本課程學習過程中,學生應該做到課前預習,課堂中認真聽講,積極思考,並做好課堂筆記,上機練習過程中,要做到多動手實踐,遇到問題要主動向老師或同學請教,課後還要花更多的時間來消化吸收課堂內講解的知識,更要多上機實踐,通過小項目案例來築固所學知識點及理解知識點在項目開發中的應用。課後也要多上網查閱相關資料,養生自我學習、自我解決問題的良好習慣。對於綜合性上機內容,以團隊形式提交作業,各組員要積極發揮作用,並協同作業,培養團隊合作的精神。
2. 考核評價
(1)考核方式
本課程期末考核採用考試方式進行學習評價。
(2)成績構成
成績評估:總成績(100%)=平時成績(40%)+ 期末成績(60%);
平時成績(40%)=出勤(20%)+ 上機綜合實驗(20%);
期末成績(60%)=閉卷考試
六、教材及參考書
1. 建議教材
《Java Web程序設計及項目實戰——微課視頻版》,聖文順、李曉明、劉進芬主編,清華大學出版社,2020年
2. 主要參考書
[1]《Java Web程序設計任務教程》,黑馬程式設計師編著,人民郵電出版社,2017年
[2]《Java Web從入門到精通(第2版)》,明日科技著,清華大學出版社,2017年
七、說明
該課程的操作實踐性與應用性很強,而且有些概念比較抽象與晦澀難懂,例如會話技術、監聽器技術、過濾器技術等,課堂教學完全採用企業真實項目案例貫穿整個教學過程,學生們一定要多上機實踐,課後要花更多的時間來消化吸收,通過完成小項目案例來鍛鍊、體驗與積累項目開發的經驗,從而獲得對Java Web開發技術方面的更好理解和掌握。同時使學生通過參加小組團隊的開發實踐,了解項目管理、團隊合作、文檔編寫、口頭溝通與書面表達的重要性,提高學生的自學能力、書面與口頭表達能力、創造能力和團隊協作能力,為學生後面的就業打下堅實的技術基礎,更好的增強了他們的學習興趣、提高了他們的就業競爭力。
執筆人: 審核人: 二級學院(部)領導:
編寫完成時間: