《Java Web基礎與實例教程(第2版微課版)》是2023年人民郵電出版社出版的圖書。
基本介紹
- 中文名:Java Web基礎與實例教程(第2版微課版)
- 出版時間:2023年11月1日
- 出版社:人民郵電出版社
- ISBN:9787115626479
內容簡介,圖書目錄,
內容簡介
本書採用“任務驅動”的編寫模式,由淺入深、循序漸進、全面系統地介紹了Java Web開發的相關知識。全書通過實際套用案例,幫助讀者鞏固所學的知識,以便更好地進行Java Web開發實踐。
本書共15章,內容涵蓋了Java Web開發基礎知識、Servlet接收GET請求數據、Servlet接收POST請求數據、Servlet生成HTTP回響數據、異步請求和異步回響、會話控制技術(Cookie與Session)、過濾器和監聽器、MVC和JSTL、個人筆記系統的資料庫設計與實現、MySQL事務機制和JDBC的使用、layui和CKEditor的使用,以及個人筆記系統首頁模組的設計與實現、用戶管理模組的設計與實現、筆記管理模組的設計與實現、其他功能模組的設計與實現等項目實訓。
本書內容豐富、講解深入,適合初、中級Java Web開發人員閱讀,可以作為各類院校計算機相關專業的教材,也可作為廣大Java Web開發愛好者的實用參考書。
圖書目錄
【章名目錄】
第 1章 Java Web開發基礎知識 1
第 2章 Servlet接收GET請求數據 18
第3章 Servlet接收POST請求數據 48
第4章 Servlet生成HTTP回響數據 74
第5章 異步請求和異步回響 94
第6章 會話控制技術:Cookie與Session 114
第7章 過濾器和監聽器 140
第8章 MVC和JSTL 154
第9章 個人筆記系統的資料庫設計與實現 179
第 10章 MySQL事務機制和JDBC的使用 206
第 11章 layui和CKEditor的使用 233
第 12章 項目實訓:個人筆記系統首頁模組的設計與實現 256
第 13章 項目實訓:個人筆記系統用戶管理模組的設計與實現 270
第 14章 項目實訓:個人筆記系統筆記管理模組的設計與實現 289
第 15章 項目實訓:個人筆記系統其他功能模組的設計與實現 311
【詳細目錄】
第 1章 Java Web開發基礎知識 1
1.1 B/S概述 1
1.1.1 瀏覽器 1
1.1.2 伺服器 1
1.2 靜態代碼和動態代碼 1
1.2.1 HTML和靜態代碼 2
1.2.2 伺服器端腳本語言和動態代碼 2
1.2.3 Servlet容器和動態代碼之間的關係 3
1.2.4 Web伺服器上資源檔案的分類 3
1.3 HTTP概述 4
1.3.1 瀏覽器與Web伺服器之間的互動 4
1.3.2 HTTP的本質 5
1.3.3 HTTP請求/HTTP回響的詳細過程 5
1.4 Java Web開發環境的部署 6
1.4.1 JDK的版本選擇和安裝 6
1.4.2 Tomcat的版本選擇和安裝 6
1.4.3 啟動和停止運行Tomcat 6
1.4.4 本機的“左右互搏之術” 8
1.4.5 Tomcat連線埠占用問題 9
1.4.6 有趣的實驗 9
實踐任務 Java Web開發基礎知識 11
第 2章 Servlet接收GET請求數據 18
2.1 使用Eclipse開發Java Web程式 18
2.1.1 Eclipse的安裝和啟動 18
2.1.2 啟動Eclipse的注意事項 18
2.1.3 認識Eclipse工作空間 19
2.1.4 小露身手:使用Eclipse創建動態Web項目 19
2.1.5 Eclipse的View和Perspective 21
2.1.6 小露身手:使用Eclipse創建第 一個Servlet程式 21
2.1.7 Eclipse中Servlet的URL Mappings和Servlet的urlPatterns 25
2.1.8 Servlet程式的生命周期 25
2.1.9 小露身手:使用Eclipse創建JSP程式 26
2.2 字元編碼 28
2.2.1 JSP檔案的字元編碼與pageEncoding 28
2.2.2 MIME和字元編碼 29
2.2.3 JSP檔案、pageEncoding和charset的字元編碼之間的關係 31
2.3 URL路徑 32
2.4 過程分析:瀏覽器傳送GET請求數據和Web伺服器接收GET請求數據 33
2.4.1 過程分析:瀏覽器向Web伺服器傳送GET請求數據 33
2.4.2 GET請求數據的構成 33
2.4.3 過程分析:Web伺服器接收GET請求數據 35
2.5 request請求對象獲取GET請求數據 37
2.5.1 獲取路徑信息 37
2.5.2 獲取GET請求參數信息 37
2.5.3 獲取GET請求行信息 38
2.5.4 獲取GET請求頭信息 38
2.5.5 獲取Web伺服器主機和瀏覽器主機信息 38
2.5.6 獲取URL Mappings信息的方法 38
2.6 request請求對象的請求派發功能 39
2.6.1 RequestDispatcher 39
2.6.2 請求派發的請求轉發 39
2.6.3 請求轉發的實現 40
2.6.4 請求轉發之間Servlet程式的數據共享 40
2.6.5 request請求對象的屬性和參數區別 41
實踐任務 Servlet接收GET請求數據 42
第3章 Servlet接收POST請求數據 48
3.1 FORM表單 48
3.1.1 表單標籤 48
3.1.2 表單控制項 48
3.1.3 表單按鈕 51
3.1.4 小露身手:利用FORM表單模擬傳送GET請求數據 52
3.2 URL路徑定位方法 53
3.2.1 URL絕對路徑 54
3.2.2 URL相對路徑 54
3.2.3 page-relative路徑的技巧 56
3.2.4 小露身手:URL路徑定位方法 57
3.3 過程分析:瀏覽器傳送POST請求數據和Web伺服器接收POST請求數據 59
3.3.1 準備工作 59
3.3.2 過程分析:瀏覽器向Web伺服器傳送POST請求數據 60
3.3.3 POST請求數據的構成 60
3.3.4 POST與GET請求數據對比 61
3.3.5 過程分析:Web伺服器接收POST請求數據 62
3.4 小露身手:request請求對象接收application/x-www-form-urlencoded格式的POST請求數據 62
3.5 小露身手:向Servlet程式添加multipart/form-data支持 66
3.5.1 application/x-www-form-urlencoded與multipart/form-data的比較 68
3.5.2 理解multipart/form-data內容格式中的片段 69
3.5.3 request請求對象獲取multipart/form-data請求體中的片段 70
實踐任務 Servlet接收POST請求數據 72
第4章 Servlet生成HTTP回響數據 74
4.1 HTTP回響數據與HttpServletResponse之間的關係 74
4.2 HTTP回響行 75
4.2.1 回響狀態碼 75
4.2.2 使用response回響對象設定回響狀態碼 75
4.3 HTTP回響頭列表 76
4.3.1 常見的回響頭 76
4.3.2 使用response回響對象設定、添加回響頭 78
4.3.3 重定向、定時刷新和請求轉發的比較 79
4.4 使用response回響對象生成HTTP回響體 81
4.4.1 response回響對象的快取 81
4.4.2 向response快取添加文本型數據 82
4.4.3 向response快取添加位元組數據 82
4.4.4 response回響對象“一石三鳥”的代碼 83
實踐任務 Servlet生成HTTP回響數據 84
第5章 異步請求和異步回響 94
5.1 Web前端技術 94
5.1.1 HTML簡介 94
5.1.2 HTML元素的屬性 94
5.1.3 CSS簡介 95
5.1.4 小露身手:理解CSS中層疊的含義 96
5.1.5 JavaScript簡介 97
5.2 JavaScript入門 97
5.2.1 JavaScript基礎知識 97
5.2.2 小露身手:演示HTML元素和JavaScript呈現的順序 99
5.2.3 通過JavaScript的document對象操作HTML元素 99
5.2.4 小露身手:通過JavaScript的document對象操作HTML元素內容 101
5.3 異步請求和異步回響 102
5.3.1 異步請求和同步請求概述 102
5.3.2 XMLHttpRequest異步請求對象 103
5.3.3 小露身手:了解GET異步請求和異步回響的執行流程 106
5.3.4 小露身手:使用XMLHttpRequest傳送異步的POST請求 109
5.3.5 小露身手:使用XMLHttpRequest和FormData異步上傳、顯示圖片 110
實踐任務 異步請求和異步回響 113
第6章 會話控制技術:Cookie與Session 114
6.1 會話控制技術概述 114
6.2 Cookie會話控制技術 114
6.2.1 Cookie的工作原理 114
6.2.2 Cookie的本質與核心 116
6.2.3 創建Cookie 116
6.2.4 將cookie對象添加到HTTP回響頭列表中 118
6.2.5 讀取Cookie 118
6.2.6 使Cookie手動失效 119
6.2.7 小露身手:Cookie的綜合運用 119
6.2.8 重定向和請求轉發關於Cookie使用的區別 123
6.3 Session會話控制技術 124
6.3.1 Session的工作原理 124
6.3.2 Session的本質與核心 126
6.3.3 開啟Session和獲取已有的session對象 126
6.3.4 Servlet開啟Session和JSP開啟Session的區別 127
6.3.5 session對象的使用 127
6.3.6 刪除Session或者使Session失效 127
6.3.7 小露身手:Session的綜合使用 128
實踐任務 會話控制技術:Cookie與Session 139
第7章 過濾器和監聽器 140
7.1 過濾器 140
7.1.1 小露身手:創建最簡單的過濾器ABCFilter 141
7.1.2 過濾器總結 143
7.1.3 小露身手:過濾器鏈的使用 144
7.1.4 過濾器的綜合套用1:URL級別的許可權訪問控制 145
7.1.5 小露身手:使用過濾器實現URL級別的許可權訪問控制 145
7.1.6 過濾器的綜合套用2:使用過濾器實現表單驗證 147
7.1.7 小露身手:使用過濾器實現表單驗證 148
7.2 監聽器 148
7.2.1 小露身手:演示Java Web 狀態監聽器和屬性監聽器 149
7.2.2 小露身手:利用HttpSessionListener統計線上人數 152
實踐任務 過濾器和監聽器 153
第8章 MVC和JSTL 154
8.1 MVC 154
8.1.1 MVC的歷史與簡介 154
8.1.2 MVC與Web開發的關係 155
8.1.3 MVC與Java Web的關係 155
8.1.4 理解Service和DAO的關係 157
8.2 JavaBean 158
8.2.1 JavaBean簡介 158
8.2.2 JavaBean代碼編寫規範 158
8.2.3 JavaBean命名屬性的特殊情況 159
8.2.4 小露身手:在Eclipse中創建數據模型JavaBean和業務邏輯Service 160
8.2.5 JavaBean的分類 162
8.3 JSP的內置對象 163
8.3.1 內置對象out 163
8.3.2 內置對象application和Servlet中的ServletContext 164
8.3.3 內置對象pageContext 165
8.4 EL 165
8.4.1 EL簡介 166
8.4.2 EL的功能和優點 166
8.4.3 EL的內置對象 167
8.4.4 小露身手:EL的使用 167
8.5 JSTL 173
8.5.1 JSTL核心標籤庫的準備工作 173
8.5.2 JSTL核心標籤庫的使用 174
8.5.3 小露身手:JSTL核心標籤庫的使用 174
實踐任務 MVC和JSTL 178
第9章 個人筆記系統的資料庫設計與實現 179
9.1 資料庫概述 179
9.1.1 資料庫管理系統和資料庫 179
9.1.2 表結構和表記錄 180
9.1.3 SQL 180
9.2 個人筆記系統資料庫的設計 180
9.2.1 構建個人筆記系統的必要性 181
9.2.2 個人筆記系統的功能需求分析 181
9.2.3 E-R圖簡介 182
9.2.4 個人筆記系統E-R圖的設計 185
9.2.5 個人筆記系統表結構的設計 186
9.3 MySQL安裝和配置 188
9.3.1 小露身手:在Windows中安裝MySQL ZIP壓縮檔案 188
9.3.2 小露身手:將MySQL服務註冊為Windows服務 190
9.4 資料庫的管理 191
9.5 表結構的管理 192
9.5.1 創建表結構的準備工作 192
9.5.2 創建表結構 194
9.5.3 查看錶和查看錶結構 195
9.5.4 刪除表結構 195
9.5.5 小露身手:創建個人筆記系統的資料庫和資料庫表 196
9.6 表記錄的更新 197
9.6.1 添加表記錄 197
9.6.2 修改表記錄 198
9.6.3 刪除表記錄 198
9.6.4 檢索表的所有記錄 198
9.6.5 小露身手:向個人筆記系統的資料庫添加測試數據 198
9.6.6 小露身手:更新表記錄時,不能違反表之間的外鍵約束條件 200
9.7 表記錄的檢索 200
9.7.1 使用select子句指定欄位列表 201
9.7.2 distinct和limit 201
9.7.3 表和表之間的連線 202
9.7.4 使用where子句過濾結果集 202
9.7.5 使用order by子句對結果集排序 203
9.7.6 使用聚合函式匯總結果集 204
9.7.7 使用group by子句對記錄分組統計 204
9.7.8 小露身手:個人筆記系統的綜合查詢 204
實踐任務 個人筆記系統的資料庫設計與實現 205
第 10章 MySQL事務機制和JDBC的使用 206
10.1 MySQL事務機制 206
10.1.1 個人筆記系統中事務機制的必要性 206
10.1.2 事務機制中同一個資料庫連線的必要性 207
10.1.3 事務機制中關閉資料庫連線自動提交模式的必要性 207
10.1.4 個人筆記系統的事務實現 208
10.2 JDBC概述 209
10.2.1 Java程式通過JDBC訪問資料庫 的步驟 209
10.2.2 部署資料庫驅動程式 210
10.2.3 載入資料庫驅動程式 210
10.2.4 創建資料庫連線對象con 211
10.2.5 關閉con對象的自動提交模式 212
10.2.6 使用con對象準備預處理SQL 語句 212
10.2.7 初始化預處理SQL語句的 參數 212
10.2.8 執行預處理SQL語句 213
10.2.9 遍歷結果集 213
10.2.10 結束事務 215
10.2.11 關閉資源 215
10.2.12 獲取insert語句的自增型欄位的值 215
10.2.13 異常總結和其他建議 216
10.2.14 小露身手:使用JDBC訪問MySQL資料庫 216
10.2.15 小露身手:設計工具類DBUtil 217
10.2.16 小露身手:個人筆記系統中事務的必要性 221
10.3 基於MVC的Java Web開發中的事務管理 222
10.3.1 多個DAO共用一個資料庫連線對象的解決方案 222
10.3.2 使用過濾器管理資料庫連線對象和事務 225
10.3.3 藉助ThreadLocal工具類共享參數 225
10.3.4 小露身手:藉助ThreadLocal工具類共享參數 226
10.3.5 小露身手:使用過濾器和ThreadLocal管理事務 227
實踐任務 MySQL事務機制和JDBC的使用 232
第 11章 layui和CKEditor的使用 233
11.1 layui的使用 233
11.1.1 小露身手:快速上手layui 233
11.1.2 小露身手:layui中的頁面元素 237
11.1.3 layui的柵格布局 241
11.1.4 小露身手:layui中常用的容器 242
11.1.5 小露身手:layui中常用的內置JavaScript模組 245
11.1.6 layui知識補充 247
11.1.7 小露身手:layui擴展知識 247
11.2 CKEditor 5的使用 252
11.2.1 經典模式編輯器的下載和安裝 252
11.2.2 小露身手:CKEditor的基本使用 252
實踐任務 layui和CKEditor的使用 255
第 12章 項目實訓:個人筆記系統首頁模組的設計與實現 256
12.1 個人筆記系統首頁模組的設計與分析 256
12.1.1 個人筆記系統首頁模組的視圖層設計 256
12.1.2 個人筆記系統首頁模組的邏輯分析 257
12.1.3 個人筆記系統首頁模組的數據分析 258
12.2 個人筆記系統URL級別的許可權訪問控制的設計 259
12.3 個人筆記系統Java類的目錄設定 260
12.4 個人筆記系統類名和方法名的命名規則 260
12.5 個人筆記系統靜態資源檔案的目錄設定 260
實踐任務 個人筆記系統首頁模組的設計與實現 261
第 13章 項目實訓:個人筆記系統用戶管理模組的設計與實現 270
13.1 用戶註冊功能的實現 270
13.2 用戶登錄和註銷功能的實現 271
實踐任務1 用戶註冊功能的實現 272
實踐任務2 用戶登錄和註銷功能的實現 280
實踐任務3 個人簡介的維護 283
實踐任務4 使用過濾器實現個人筆記系統URL級別的許可權訪問控制 287
第 14章 項目實訓:個人筆記系統筆記管理模組的設計與實現 289
實踐任務1 查詢所有筆記功能的開發 289
實踐任務2 後台管理面板author.jsp程式的開發 291
實踐任務3 添加筆記頁面和保存筆記功能的開發 291
實踐任務4 查看筆記全文功能的開發 298
實踐任務5 編輯筆記和更新筆記功能的開發 304
實踐任務6 刪除筆記功能的開發 308
實踐任務7 對筆記的標題和內容進行模糊查詢功能的開發 309
第 15章 項目實訓:個人筆記系統其他功能模組的設計與實現 311
實踐任務1 對筆記發表評論功能的開發 311
實踐任務2 查看某個用戶發表的評論功能的開發 313
實踐任務3 筆記類別名稱管理模組的開發 315
實踐任務4 筆記標籤名稱管理模組的開發 318
實踐任務5 向首頁添加layui固定塊 321
附錄 322