內容簡介
本書基於作者多年的實踐教學與開發經驗,深入淺出地介紹了Java Web程式設計的核心知識和技巧,主要內容包括Servlet編程、Cookie與Session、JSP編程、EL表達式與JSTL標籤、資料庫整合開發、過濾器與監聽器等。同時,本書以留言本為案例,分別講解了JSP和JavaBean套用開發、JSP/Servlet和JavaBean整合開發、Java Web常用組件套用開發、Struts2/Spring/Hibernate框架整合開發。本書內容豐富,實用性強,既可用做高等院校的課程教材,也可供相關專業人士參考。
圖書目錄
第 1章 Java Web開發概論 1
1.1 HTML 1
1.1.1 HTML檔案結構 2
1.1.2 HTML常用標籤 3
1.2 HTTP協定簡介 15
1.2.1 HTTP請求協定格式 15
1.2.2 HTTP回響協定格式 18
1.2.3 URL 19
1.2.4 簡單的Web伺服器 20
1.3 Tomcat 26
1.3.1 Tomcat的安裝與配置 26
1.3.2 Tomcat的使用 28
1.3.3 MyEclipse配置Tomcat 29
1.4 小結 30
習題 31
第 2章 Servlet編程 33
2.1 創建Servlet 33
2.2 web.xml配置檔案 41
2.3 Servlet獲取請求參數 43
2.4 Servlet實現登錄功能 44
2.5 請求參數為空的問題 46
2.5.1 參數值為null 46
2.5.2 參數值為"""" 47
2.6 複選框提交參數 49
2.7 GET請求與POST請求 50
2.8 中文亂碼問題 52
2.8.1 Servlet輸出亂碼 52
2.8.2 POST參數亂碼 52
2.8.3 GET參數亂碼 53
2.9 Servlet請求轉發 53
2.9.1 Servlet間的轉發 53
2.9.2 轉發時傳遞對象 55
2.9.3 重定向 58
2.9.4 重定向時傳遞對象 59
2.9.5 轉發與重定向的區別 60
2.10 Servlet生命周期 63
2.10.1 驗證Servlet生命周期 63
2.10.2 實現訪問計數器 65
2.11 ServletContext 66
2.11.1 跨用戶傳遞對象 66
2.11.2 記錄套用日誌 68
2.12 ServletConfig 69
2.13 @WebServlet註解 71
2.13 小結 73
習題 74
第3章 Cookie與Session 76
3.1 使用Servlet編寫簡單Web套用 76
3.1.1 Web套用功能說明 76
3.1.2 登錄模組的實現 77
3.2 Cookie 82
3.2.1 Cookie簡介 83
3.2.2 Cookie在登錄中的套用 85
3.2.3 Cookie詳解 88
3.3 Session 95
3.3.1 HttpSession簡介 95
3.3.2 HttpSession在登錄中的套用 99
3.3.3 HttpSession詳解 100
3.4 Session工作原理 101
3.5 個人信息模組的實現 101
3.6 基於MVC的臨時購物車 107
3.6.1 臨時購物車設計需求 108
3.6.2 臨時購物車代碼實現 108
3.7 小結 114
習題 114
第4章 JSP編程 116
4.1 JSP概述 116
4.2 JSP頁面代碼解析 118
4.2.1 JSP指令元素 119
4.2.2 JSP模板元素 121
4.2.3 JSP腳本元素 121
4.3 JSP工作原理 126
4.3.1 JSP與Servlet的關係 128
4.3.2 JSP的執行流程 132
4.4 JSP隱含對象 133
4.4.1 response與out對象 134
4.4.2 四個作用域對象 135
4.4.3 pageContext對象 137
4.4.4 config 對象 140
4.4.5 exception 對象 143
4.5 JSP標籤與JavaBean 144
4.5.1 JavaBean概述 144
4.5.2 標籤 146
4.5.3 標籤 149
4.5.4 標籤 151
4.6 JSP動作標籤 152
4.6.1 標籤 152
4.6.2 標籤 154
4.6.3 標籤 156
4.7 綜合Servlet與JSP的登錄程式 161
4.8 簡易購物商城系統 167
4.8.1 系統功能 167
4.8.2 系統設計 170
4.8.3 實體類定義 172
4.8.4 DAO接口定義 180
4.8.5 DAO接口實現類 184
4.8.6 工具類的設計 188
4.8.7 簡易購物商城系統前台實現 190
4.9 小結 206
習題 206
第5章 EL表達式與JSTL標籤 209
5.1 EL語法 209
5.1.1 EL獲取數據 209
5.1.2 EL執行運算 218
5.1.3 EL訪問隱含對象 220
5.2 JSTL標籤庫 225
5.2.1 JSTL庫安裝 225
5.2.2 JSTL核心標籤 227
5.2.3 JSTL格式化標籤 247
5.2.4 JSTL函式 251
5.3 簡易購物商城系統 252
5.3.1 首頁模板 253
5.3.2 個人中心 254
5.3.3 全部商品列表 256
5.3.4 購物車 257
5.4 小結 258
習題 259
第6章 資料庫整合開發 261
6.1 MySQL簡介 261
6.2 JDBC概述 261
6.2.1 創建資料庫連線 263
6.2.2 SQL的執行 265
6.2.3 SQL執行結果處理 272
6.3 資料庫連線池 274
6.3.1 DataSource 275
6.3.2 Tomcat數據源 276
6.3.3 DBCP 277
6.4 DBUtils框架簡介 280
6.4.1 QueryRunner 281
6.4.2 ResultSetHandler 281
6.4.3 資源釋放 285
6.5 簡易購物商城 286
6.5.1 資料庫設計 286
6.5.2 DAO接口實現 287
6.6 小結 291
習題 291
第7章 過濾器與監聽器 293
7.1 過濾器 293
7.1.1 過濾器簡介 293
7.1.2 過濾器的套用 295
7.2 監聽器 298
7.2.1 監聽器簡介 298
7.2.2 監聽器的套用 301
7.3 小結 302
習題 302
第8章 JSP和JavaBean套用開發——留言本1.0 304
8.1 系統功能 304
8.2 資料庫分析及設計 305
8.2.1 資料庫分析 305
8.2.2 創建資料庫和數據表 306
8.3 系統設計 307
8.3.1 和包結構 307
8.3.2 實體類User 308
8.3.3 枚舉類Sex 309
8.3.4 實體類Article 310
8.3.5 輔助類DBUtil 310
8.3.6 數據訪問接口UserDao 311
8.3.7 數據訪問類UserDao4MySqlImpl——登錄與註冊功能 312
8.3.8 數據訪問接口ArticleDao 313
8.3.9 數據訪問類ArticleDao4MySqlImpl——添加與刪除功能 314
8.3.10 登錄頁面login.jsp 316
8.3.11 註冊頁面register.jsp 316
8.3.12 留言頁面show.jsp 317
8.4 系統運行 319
8.5 開發過程常見問題及解決 321
8.5.1 在同一JSP頁面區分多種操作的問題 321
8.5.2 DAO層中的類型轉換問題 322
8.6 小結 322
習題 322
第9章 JSP/Servlet/JavaBean套用開發——留言本2.0 323
9.1 系統功能 323
9.2 系統設計 324
9.2.1 和包結構 324
9.2.2 連線池的配置與編程 325
9.2.3 工廠類DaoFactory——工廠設計模式與單例設計模式 326
9.2.4 數據訪問類UserDao4MySqlImpl——修改功能 328
9.2.5 數據訪問類ArticleDao4MySqlImpl——查詢與修改功能 329
9.2.6 MVC控制器類UserServlet 331
9.2.7 MVC控制器類ArticleServlet 334
9.2.8 過濾器類CharsetEncodingFilter 336
9.2.9 過濾器類AuthFilter 337
9.2.10 留言頁面show.jsp 338
9.2.11 修改留言頁面update_article.jsp 340
9.2.12 修改用戶頁面update_user.jsp 341
9.3 系統運行 344
9.4 開發過程常見問題及解決 346
9.4.1 亂碼問題 346
9.4.2 路徑問題 346
9.5 小結 347
習題 347
第 10章 Java Web常用組件套用開發——留言本3.0 348
10.1 系統功能 348
10.2 系統設計 348
10.2.1 和包結構 349
10.2.2 添加Apache Commons Email組件 350
10.2.3 利用郵件找回密碼功能 350
10.2.4 添加CKEditor組件 352
10.2.5 可視化線上編輯留言功能 352
10.2.6 添加Apache Commons FileUpload組件 353
10.2.7 圖片上傳與顯示頁面update_user.jsp 354
10.2.8 圖片上傳功能 355
10.2.9 驗證碼檢驗功能 357
10.2.10 分頁查詢功能 360
10.2.11 分頁查詢頁面page.jspf 365
10.3 系統運行 366
10.4 開發過程常見問題及解決 367
10.4.1 快取問題 367
10.4.2 SQL語句的拼裝問題 368
10.5 小結 369
習題 369
第 11章 Java Web常用組件套用開發——留言本3.0 370
11.1 系統功能 370
11.1.1 系統目標 370
11.1.2 功能概覽 370
11.2 系統設計 371
11.2.1 Hibernate和Spring的整合——guestbook4.0 371
11.2.2 Hibernate配置檔案hibernate.cfg.xml 372
11.2.3 自定義映射類型EnumType——Hibernate持久化枚舉類型 373
11.2.4 Hibernate映射檔案 376
11.2.5 Spring配置檔案——配置SessionFactory和DAO類 377
11.2.6 數據訪問類UserDao4MySqlImpl——Hibernate持久化 378
11.2.7 數據訪問類ArticleDao4MySqlImpl——Hiberante持久化 380
11.2.8 Struts2實現控制層——guestbook4.1 382
11.2.9 控制器類BaseActionSupport 383
11.2.10 控制器類UserAction 385
11.2.11 控制器類ArticleAction 386
11.2.12 控制器類UploadAction 388
11.2.13 Struts2配置檔案struts.xml 389
11.2.14 Struts2枚舉類型轉換器SexConvertor 391
11.2.15 修改JSP頁面以訪問Action 391
11.2.16 Struts2和Spring整合——guestbook4.2 392
11.2.17 Spring配置檔案applicationContext-action.xml 393
11.2.18 Struts2配置檔案struts.xml 394
11.2.19 登錄與註冊的輸入校驗 395
11.2.20 OpenSessionInView設計模式 397
11.3 系統運行 398
11.4 開發過程常見問題及解決 399
11.4.1 Struts2跨命名空間跳轉問題 399
11.4.2 Struts2中JSP頁面的相對路徑問題 400
11.5 小結 401
習題 401