內容簡介
本教材圍繞開源的技術示範項目PetStore的實現介紹Java Web套用系統開發技術:HTML/CSS,JDBC,JSP,標籤庫(JSTL),Servlet,JavaBean,Filter,以及J2EE輕量級框架技術Hibernate,Struts2和Spring,並且融入面向對象程式設計思想和MVC設計模式。本教材從完成最簡單的靜態版本(HTML/CSS)開始,逐步疊代,到最後使用框架技術(Hibernate,Struts2和Spring)完成項目,難度推進合理。本教材適合作為本科、高職軟體技術及相關專業學生學習Java Web套用開發技術的教材,也可作為面向就業的實習實訓教材。本書提供配套的PPT課件、課後習題答案和程式原始碼,可在電子工業華信教育資源網免費下載
目錄
第1章 背景知識 1
1.1 Web應用程式基本概念 1
1.1.1 什麼是Web應用程式 1
1.1.2 靜態資源和動態資源 2
1.1.3 Web伺服器 2
1.2 理解HTTP協定 3
1.2.1 HTTP請求訊息格式 3
1.2.2 HTTP回響訊息格式 5
1.3 Java Web套用開發技術 5
1.3.1 靜態網頁開發技術 5
1.3.2 動態網頁開發技術 6
1.3.3 SSH框架——Java輕量級企業套用解決方案 6
1.4 Servlet 7
1.5 JSP 9
1.6 Petstore項目簡介 10
作業 11
任務1 開發1個簡單的個人網站 12
第2章 使用HTML與CSS 14
2.1 HTML 14
2.1.1 HTML文檔結構 14
2.1.2 HTML標記的公共屬性 15
2.1.3 HTML常用標記 15
2.1.4 HTML表單 17
2.2 CSS 18
2.2.1 CSS分類 18
2.2.2 CSS的語法 19
2.2.3 CSS的選擇器 20
2.2.4 CSS的偽類 20
2.2.5 CSS的盒子模式 21
2.2.6 CSS的常用屬性 21
2.3 寵物分類展現的頁面及Web
套用開發步驟 23
2.3.1 寵物分類展現的頁面 23
2.3.2 使用MyEclipse開發Web
套用的步驟 24
2.4 寵物商城術語表 26
2.5 實現主頁面Main.html 27
2.5.1 主頁面的左邊導航條
部分代碼 27
2.5.2 主頁面的圖片導航代碼 28
2.5.3 通過層DIV標記對主頁
面Main.html進行布局 30
2.5.4 通過CSS設定效果 30
2.6 實現品種列表頁面主體部
分Category.html 32
作業 35
任務2 用HTML+CSS實現寵物商城
catalog模組的靜態網頁版本 35
第3章 使用JDBC 37
3.1 catalog模組數據準備 37
3.1.1 在MySQL中創建一個
資料庫petstore及其表 38
3.1.2 插入測試數據 39
3.1.3 為寵物商城系統創建一個
訪問資料庫petstore的用戶 41
3.2 JDBC資料庫編程 41
3.2.1 安裝MySQL 的驅動程式 42
3.2.2 JDBC應用程式的模板代碼 42
3.2.3 編寫JDBC應用程式修改
資料庫 44
3.2.4 編寫封裝創建資料庫
連線的類 46
3.3 POJO+DAO訪問資料庫的
編程模式 47
3.3.1 編寫表結構對應的
POJO類 48
3.3.2 設計訪問各表的DAO類 49
3.3.3 編寫訪問各表的DAO類 51
3.3.4 DAO類的使用 53
作業 54
任務3 為catalog模組準備數據並完
成各表對應的DAO類 55
第4章 使用JSP 58
4.1 JSP語法元素 58
4.1.1 指令標籤 59
4.1.2 聲明標籤 60
4.1.3 腳本標籤 60
4.1.4 表達式標籤 61
4.1.5 動作標籤 62
4.1.6 注釋標籤 63
4.2 JSP網頁是Servlet 64
4.2.1 JSP網頁是Servlet 64
4.2.2 理解轉化單元 64
4.3 理解page指令標籤屬性 65
4.4 JSP常用內部對象 65
4.4.1 request與請求參數 66
4.4.2 out 67
4.4.3 session 67
4.5 catalog模組網頁動態版本
開發準備 67
4.5.1 實現思路 67
4.5.2 在web.xml中設定歡迎頁面 68
4.6 用JSP實現Category.jsp 69
4.6.1 網頁頂部檔案
IncludeTop.jsp 69
4.6.2 IncludeBottom.jsp 72
4.6.3 用JSP實現Category.jsp 72
作業 74
任務4 用JSP+POJO+DAO+DB實現
catalog模組的動態網頁版本 77
第5章 使用JavaBean/ EL/JSTL/
Servlet/統一業務接口 79
5.1 JavaBean 79
5.1.1 JavaBean 簡介 79
5.1.2 在JSP中使用JavaBean 80
5.1.3 使用JavaBean的優勢 81
5.2 EL表達式 83
5.2.1 EL表達式簡介 83
5.2.2 在EL表達式中使用隱式
對象 84
5.2.3 EL屬性和集合訪問操作符 85
5.2.4 EL算術運算操作符 85
5.2.5 EL關係和邏輯運算符 86
5.3 使用Java標準標籤庫(JSTL) 87
5.3.1 JSTL標籤簡介 87
5.3.2 獲得和安裝JSTL 87
5.3.3 常用JSTL標籤 88
5.4 最佳化寵物分類展現頁面 94
5.4.1 使用去掉
寵物分類展現頁面中的new
語句 94
5.4.2 用EL表達式和JSTL標籤
簡化寵物分類展現頁面
代碼 94
5.4.3 通過疊代使用EL表達式
點符號簡化對象屬性的
輸出 96
5.5 JSP Model1、JSP Model2及
Servlet 98
5.5.1 JSP Model1 98
5.5.2 Servlet 99
5.5.3 使用Servlet去掉PetStore寵物
分類展現頁面中的Java
代碼 99
5.6 使用統一的業務接口 102
5.6.1 設計一個系統共享的業務
接口PetStore 102
5.6.2 設計接口PetStore的實現
類PetStoreImpl 103
5.6.3 用PetStoreImpl實現寵物分
類展現各頁面 104
作業 105
任務5 使用JSTL/Servlet/EL/JavaBean
最佳化catalog的頁面代碼 108
第6章 使用過濾器 110
6.1 什麼是過濾器 110
6.1.1 過濾器工作原理 111
6.1.2 過濾器的使用 111
6.1.3 過濾器的例子 112
6.2 過濾器編程接口 113
6.2.1 javax.servlet.Filter接口 114
6.2.2 javax.servlet.FilterConfig
接口 114
6.2.3 javax.servlet. FilterChain
接口 115
6.2.4 請求和回響包裝類 115
6.3 在web.xml中配置過濾器鏈 116
6.4 高級特性 118
6.4.1 使用回響包裝類 118
6.4.2 關於過濾器的重要內容 122
6.4.3 過濾器充當Controller的
優勢 122
作業 123
任務6 使用過濾器解決寵物商城項目
中的中文亂碼問題 124
第7章 實現購物車模組 125
7.1 購物車的界面及流程 125
7.2 購物車實現思路 126
7.3 “添加到購物車”功能的實現 127
7.3.1 定義CartItem類 127
7.3.2 定義Cart類 128
7.3.3 創建CartServlet 相關屬性
和方法實現“添加到購物車”
功能並配置 130
7.3.4 購物車頁面/cart/Cart.jsp的
實現 132
7.4 “從購物車刪除”與“更新購物車”
的實現 134
7.4.1 實現removeItemFromCart
方法 134
7.4.2 實現updateCartQuantities
方法 134
作業 135
任務7 完成寵物商城的購物車功能 136
第8章 使用Hibernate 137
8.1 Hibernate簡介 137
8.2 使用Hibernate的準備工作 138
8.2.1 用選單命令安裝配置
Hibernate開發環境 138
8.2.2 用DB Browser創建POJO
類和映射檔案 140
8.3 用Hibernate訪問資料庫 147
8.3.1 Hibernate的編程模式 147
8.3.2 使用Hibernate實現數據的
插入 148
8.3.3 使用Hibernate實現數據的
刪除和修改 149
8.3.4 使用Hibernate實現數據的
載入 150
8.3.5 使用Hibernate實現數據的
查詢 151
8.4 使用Hibernate重寫DAO類 152
8.4.1 使用Hibernate重寫
BaseDao類 152
8.4.2 BaseDao類的使用 155
8.4.3 基於BaseDao改寫
CategoryDao類 155
作業 156
任務8 用Hibernate最佳化的寵物分類
展現DAO類 157
第9章 使用Struts 2 158
9.1 Struts 2工作原理 158
9.1.1 Struts 1的局限性及
Struts 2 158
9.1.2 Struts 2的工作流程 159
9.2 用Struts 2開發Web應用程式 159
9.2.1 安裝配置Struts 2 159
9.2.2 編寫Action類 161
9.2.3 配置Action類 162
9.2.4 編寫用戶界面(JSP頁面) 164
9.3 Struts 2的其他重要知識點 165
9.3.1 Struts 2的標籤庫 165
9.3.2 Struts 2的類型轉換 165
9.3.3 Struts 2的數據驗證 166
9.3.4 Struts 2的攔截器 166
9.3.5 檔案的上傳和下載 167
9.3.6 動態方法調用 167
9.3.7 防止表單的重複提交 167
9.3.8 Struts 2中Action與
Servlet容器的耦合 168
作業 168
任務9 使用 Struts 2最佳化寵物分類
展現功能 169
第10章 使用Struts 2進階 170
10.1 用戶登錄頁面和MVC模組劃分 170
10.1.1 用戶登錄的頁面及流程 170
10.1.2 用戶登錄的實現思路 171
10.2 用戶登錄Model層的實現 172
10.2.1 創建資料庫表account,
生成對應POJO類及
Hibernate映射檔案 172
10.2.2 創建表account對應資料庫
訪問類AccountDao 177
10.2.3 在PetStore及其實現類中
增加相關方法或成員
變數 177
10.3 用戶登錄View層的實現 178
10.3.1 用戶登錄頁面 178
10.3.2 用戶登錄成功頁面 179
10.3.3 用戶登錄失敗頁面 180
10.4 用戶登錄Controller層的實現 181
10.4.1 處理用戶登錄和退出
AccountAction的實現 182
10.5 為用戶登錄頁面增加數據驗證 184
10.6 用戶登錄功能的相關配置 185
10.6.1 在web.xml中配置Struts 2
過濾器 185
10.6.2 創建struts-account.xml
完成登錄退出 186
10.6.3 修改struts-account.xml
完成數據校驗 187
10.6.4 修改struts-account.xml完成
防止表單重複提交 187
作業 188
任務10 使用 Struts 2實現登錄註冊
賬戶編輯功能 188
第11章 使用Spring 189
11.1 Spring簡介 189
11.1.1 Spring簡介 189
11.1.2 Spring開發環境的安裝
配置 189
11.1.3 Spring的控制反轉和依賴
注入 192
11.2 使用Spring的依賴注入
重寫catalog模組 192
11.2.1 用Spring管理PetStoreImpl
和各DAO類對象之間的
依賴 192
11.2.2 生成BaseAction傳遞
petstore對象 195
11.2.3 重寫已經完成的Action 196
11.3 使用Spring簡化Hibernate編程 196
11.3.1 繼承HibernateDaoSupport
實現BaseDao類 197
11.3.2 在Spring配置檔案中
注入sessionFactory 198
11.3.3 使用import簡化配置
檔案 200
11.4 增加分頁顯示功能 202
11.4.1 分頁顯示的實現思路 202
11.4.2 使用Spring 的PagedListHolder
進行分頁 203
11.4.3 修改相關Action 204
11.4.4 修改相關JSP頁面 206
作業 207
任務11 用Spring改寫Catalog和用戶
登錄模組 208
參考文獻 210