內容簡介
本書是目前國內較少的系統講解Spring MVC+MyBatis+Maven這一組合的教材。全書分為Java Web開發基礎、MyBatis和Spring MVC三部分,共再檔探旋20章。Java Web開發基礎(1~9章),主要包括搭建Java Web開發環境、Servlet編程、JSP語言基礎、會話管理、EL和JSTL、過濾器與監聽器、AJAX技術、Maven、jQuery基礎和jQuery EasyUI等內容。MyBatis(10~14章),主要包括MyBatis入門、配置和映射、動態SQL、MyBatis註解方式、MyBatis快取配置和MyBatis套用等內容。Spring MVC(15~20章),主要包括Spring基礎、Spring MVC入戒判籃門、基於註解的控制器、攔截器、數據轉換和格式化、Spring MVC的表單標籤庫、Spring MVC的檔案上傳和下載、Spring MVC的國際化和Spring MVC+MyBatis套用等內容。本書內容豐富、翔實,實用性強,適用面廣,既可作為高等學校計算機相關專業學生學習Java Web套用開發的教材,又可作為軟體培訓機構和編程人員的參考用書。
圖書目錄
目 錄
第一部海束埋分 Java Web開發基礎
第1章 搭建Java Web開發環境 2
1.1 基於B/S結構的Web套用 2
1.2 JDK安裝與配置 2
1.3 伺服器Tomcat下載與安裝 3
1.4 Eclipse安裝與使用 3
1.4.1 Eclipse下載及創建Dynamic Web Project 3
1.4.2 Eclipse中的編碼問題 4
1.4.3 將Tomcat和Eclipse相關聯 6
1.4.4 Eclipse自動部署項目到
Tomcat的Webapps目錄 7
1.5 MySQL安裝配置與使用 9
1.6 PostgreSQL安裝與使用 13
1.6.1 PostgreSQL下載與安裝 13
1.6.2 使用pgAdmin III連線
PostgreSQL 13
1.6.3 使用pgAdmin III創建
資料庫 14
1.7 Navicat Premium安裝與使用 14
1.8 本章小結 16
習題 1 17
第2章 Servlet編程 18
2.1 Servlet簡介 18
2.2 Servlet基礎 19
2.2.1 用記事道廈捆循本寫一個Servlet 19
2.2.2 Servlet 體系結構 20
2.2.3 Servlet 接口 20
2.2.4 Servlet 生命周期 21
2.2.5 Servlet 生命周期示例 22
2.3 Servlet API編程常用接口和類 25
2.3.1 GenericServlet類 25
2.3.2 HttpServlet類 26
2.3.3 ServletConfig接口 27
2.3.4 HttpServletRequest
接口 29
2.3.5 HttpServletResponse
接口 31
2.3.6 ServletContext接口全催 32
2.4 Servlet處理表單數據 35
2.5 Servlet重定向和請求轉發 36
2.5.1 重定向 36
2.5.2 請求轉發 37
2.5.3 Servlet中請求轉發時
forword()和include()的
區別 38
2.6 Servlet資料庫訪問 40
2.6.1 JDBC基礎 40
2.6.2 創建測試數據 40
2.6.3 訪問資料庫 40
2.7 Servlet異常處理 41
2.8 異步Servlet 45
2.9 本章小結 46
習題 2 47
第3章 JSP語言基礎 48
3.1 JSP基本語法 48
3.1.1 JSP簡介 48
3.1.2 JSP運行機刪故擔制 48
3.1.3 第一個JSP程式 49
3.1.4 JSP指令 49
3.1.5 JSP腳本 51
3.1.6 JSP注釋 52
3.2 JSP動作元素 52
3.3 JSP內置對象棕企籃 53
3.4 JSP綜合示例 57
3.5 本章小結 57
習題 3 58
第4章 會話管理 59
4.1 Cookies 59
4.1.1 Cookie剖析 59
4.1.2 在Servlet中操作
Cookie 59
4.1.3 Cookie API 60
4.1.4 使用Cookie示例 60
4.2 HttpSession對象 62
4.2.1 Session簡介 62
4.2.2 HttpSession API 62
4.2.3 使用HttpSession示例 63
4.3 URL重寫 65
4.3.1 為什麼需要URL重寫 65
4.3.2 encodeURL()和
encodeRedirectURL() 65
4.3.3 使用URL重寫示例 66
4.4 隱藏表單域 66
4.5 本章小結 66
習題 4 67
第5章 EL和JSTL 68
5.1 JSP表達式語言 68
5.1.1 EL簡介 68
5.1.2 EL的運算符和優先權 69
5.1.3 EL隱式對象 70
5.1.4 定義和使用EL函式 74
5.2 JSP標準標籤庫 75
5.2.1 JSTL簡介 75
5.2.2 JSTL安裝與配置 76
5.2.3 核心標籤庫 76
5.3 本章小結 79
習題 5 80
第6章 過濾器與監聽器 81
6.1 Servlet過濾器 81
6.1.1 Filter工作原理 81
6.1.2 Filter核心接口 81
6.1.3 Filter生命周期 82
6.1.4 Filter配置 82
6.1.5 Filter套用 83
6.2 Servlet監聽器 86
6.2.1 Servlet監聽器概述 86
6.2.2 Servlet上下文監聽 86
6.2.3 HTTP會話監聽 89
6.2.4 Servlet請求監聽 92
6.3 本章小結 94
習題 6 94
第7章 AJAX技術 95
7.1 實現AJAX套用的一般步驟 95
7.2 使用XMLHttpRequest對象 96
7.2.1 創建XMLHttpRequest
對象 96
7.2.2 XMLHttpRequest對象的
常用屬性和事件 96
7.2.3 XMLHttpRequest對象的
常用方法 97
7.3 AJAX示例 98
7.3.1 更改文本內容 98
7.3.2 查詢項目信息 100
7.3.3 驗證註冊信箱格式和
唯一性 101
7.4 本章小結 104
習題 7 104
第8章 Maven 105
8.1 初識Maven 105
8.2 Maven的安裝和配置 107
8.3 Maven使用 110
8.4 坐標和依賴 111
8.5 本章小結 112
習題 8 113
第9章 jQuery EasyUI 114
9.1 jQuery基礎 114
9.1.1 初識jQuery 114
9.1.2 jQuery選擇器 116
9.1.3 jQuery事件 116
9.1.4 jQuery AJAX 117
9.2 jQuery EasyUI 120
9.3 jQuery EasyUI布局 121
9.3.1創建框線布局 121
9.3.2 在面板中創建複雜
布局 122
9.3.3 創建摺疊面板 123
9.3.4 創建標籤頁 124
9.3.5 動態添加標籤頁 124
9.4 jQuery EasyUI數據格線 125
9.4.1 轉換HTML表格為
數據格線 125
9.4.2 取得選中行數據 126
9.4.3 創建複雜工具列 127
9.4.4 自定義分頁 129
9.5 本章小結 130
習題 9 130
第二部分 MyBatis
第10章 MyBatis入門 132
10.1 從JDBC到MyBatis 132
10.2 第一個MyBatis示例 134
10.2.1 創建Maven項目 134
10.2.2 準備數據 136
10.2.3 MyBatis配置 136
10.2.4 創建實體類 137
10.2.5 創建映射接口和SQL
映射檔案 138
10.2.6 配置Log4j 138
10.2.7 測試 138
10.3 MyBatis框架原理 139
10.3.1 MyBatis整體架構 140
10.3.2 MyBatis運行原理 140
10.4 MyBatis核心組件的
生命周期 142
10.4.1 SqlSessionFactory
Builder 142
10.4.2 SqlSessionFactory 142
10.4.3 SqlSession 142
10.4.4 Mapper Instances 142
10.5 本章小結 143
習題 10 143
第11章 配置和映射 144
11.1 示例:實現表數據的增、刪、
改、查 144
11.2 MyBatis主配置檔案 149
11.3 XML映射檔案 153
11.4 高級結果映射 160
11.4.1 示例說明 160
11.4.2 一對一映射 164
11.4.3 一對多映射 167
11.4.4 多對多關聯 171
11.5 本章小結 175
習題 11 175
第12章 動態SQL 176
12.1 示例:使用動態SQL 176
12.2 if 178
12.3 choose、when、otherwise 181
12.4 where、set、trim 182
12.5 foreach 187
12.6 bind 188
12.7 本章小結 189
習題 12 189
第13章 MyBatis其他 190
13.1 MyBatis註解方式 190
13.1.1 使用註解方式實現表
數據的增刪改查 190
13.1.2 使用註解的動態
SQL 194
13.2 MyBatis快取配置 200
13.2.1 一級快取(SqlSession
層面) 200
13.2.2 二級快取(SqlSession
Factory層面) 203
13.3 本章小結 206
習題 13 207
第14章 MyBatis套用 208
14.1 示例總體介紹 208
14.1.1 任務說明和準備數據 208
14.1.2 總體框架 209
14.1.3 程式主要流程 209
14.2 典型代碼及技術要點 210
14.2.1 通用功能包的類實現 210
14.2.2 控制層 210
14.2.3 業務層及使用
FastJson 211
14.2.4 數據層及JNDI
數據源 213
14.2.5 部署發布 215
14.2.6 使用Jackson和手工
拼湊JSON 215
14.3 本章小結 215
習題 14 216
第三部分 Spring MVC
第15章 Spring基礎 218
15.1 Spring入門 218
15.1.1 Spring概述 218
15.1.2 使用Spring容器 221
15.2 依賴注入 223
15.3 Spring容器中的Bean 227
15.4 容器中Bean的生命周期 230
15.5 兩種後處理器 231
15.5.1 Bean後處理器 231
15.5.2 容器後處理器 232
15.6 裝配Spring Bean 232
15.6.1 通過XML配置裝配
Bean 233
15.6.2 通過註解裝配Bean 233
15.6.3 自動裝配和精確裝配 235
15.7 Spring的AOP 236
15.8 本章小結 237
習題 15 237
第16章 Spring MVC入門 238
16.1 Spring MVC概述 238
16.2 Spring MVC入門示例1:Hello,
Spring MVC! 238
16.2.1 創建Maven項目 238
16.2.2 pom.xml 239
16.2.3 Web套用部署描述檔案
Web.xml 241
16.2.4 Spring MVC
配置檔案 242
16.2.5 基於Controller接口的
控制器 242
16.2.6 視圖 243
16.2.7 部署發布項目 243
16.3 Spring MVC入門示例2:
表單提交 243
16.3.1 創建Maven項目 243
16.3.2 編碼過濾器 244
16.3.3 表單提交及相應配置 245
16.3.4 測試套用 246
16.4 Spring MVC入門示例3:
基於註解 247
16.4.1 創建Maven項目 247
16.4.2 創建控制器並添加
註解 247
16.4.3 視圖解析器 248
16.4.4 測試套用 248
16.5 Spring MVC的工作流程 249
16.6 本章小結 250
習題 16 250
第17章 基於註解的控制器 251
17.1 Spring MVC常用註解 251
17.1.1 @Controller和
@RequestMapping 251
17.1.2 @Autowired和
@Service 253
17.1.3 @RequestParam和
@PathVariable 253
17.1.4 @CookieValue和
@RequestHeader 254
17.2 在Spring MVC中處理模型
數據 255
17.2.1 數據模型 255
17.2.2 ModelAndView 256
17.2.3 Map及Model 257
17.2.4 @SessionAttributes 258
17.2.5 @ModelAttribute 259
17.3 基於註解的控制器示例1 263
17.3.1 創建AnnotationDemo1
工程 263
17.3.2 創建控制器並添加
註解 263
17.3.3 測試套用 264
17.4 基於註解的控制器示例2 264
17.4.1 創建AnnotationDemo2
工程 264
17.4.2 套用@Autowired和
@Service進行依賴
注入 265
17.4.3 重定向 267
17.4.4 測試套用 267
17.5 本章小結 268
習題 17 268
第18章 攔截器、數據轉換和格式化 269
18.1 Spring MVC的攔截器 269
18.1.1 攔截器的定義和註冊 269
18.1.2 攔截器的執行流程 271
18.1.3 多個攔截器執行的順序 274
18.1.4 攔截器套用 275
18.2 Spring MVC的數據轉換和
格式化 278
18.2.1 Spring MVC訊息轉換
流程 279
18.2.2 Spring MVC的數據
綁定 279
18.2.3 Spring MVC的數據
轉換 284
18.2.4 Spring MVC的數據
格式化 287
18.2.5 JSON格式的數據
轉換 289
18.3 本章小結 295
習題 18 295
第19章 Spring MVC其他 296
19.1 Spring MVC的表單標籤庫 296
19.2 表單驗證 307
19.2.1 Spring驗證 308
19.2.2 JSR 303驗證 310
19.3 Spring MVC的檔案上傳和
下載 311
19.3.1 檔案上傳 311
19.3.2 檔案下載 314
19.4 Spring MVC的國際化 315
19.5 本章小結 318
習題 19 318
第20章 Spring MVC+MyBatis套用 319
20.1 項目總體介紹 319
20.1.1 項目簡介及任務說明 319
20.1.2 準備數據 320
20.1.3 總體框架 320
20.2 典型代碼及技術要點 320
20.2.1 登錄模組及Kaptcha
驗證碼組件 320
20.2.2 系統管理界面 325
20.2.3 系統用戶管理 328
20.2.4 功能模組管理 332
20.3 本章小結 333
習題 20 333
參考文獻 334
2.2.4 Servlet 生命周期 21
2.2.5 Servlet 生命周期示例 22
2.3 Servlet API編程常用接口和類 25
2.3.1 GenericServlet類 25
2.3.2 HttpServlet類 26
2.3.3 ServletConfig接口 27
2.3.4 HttpServletRequest
接口 29
2.3.5 HttpServletResponse
接口 31
2.3.6 ServletContext接口 32
2.4 Servlet處理表單數據 35
2.5 Servlet重定向和請求轉發 36
2.5.1 重定向 36
2.5.2 請求轉發 37
2.5.3 Servlet中請求轉發時
forword()和include()的
區別 38
2.6 Servlet資料庫訪問 40
2.6.1 JDBC基礎 40
2.6.2 創建測試數據 40
2.6.3 訪問資料庫 40
2.7 Servlet異常處理 41
2.8 異步Servlet 45
2.9 本章小結 46
習題 2 47
第3章 JSP語言基礎 48
3.1 JSP基本語法 48
3.1.1 JSP簡介 48
3.1.2 JSP運行機制 48
3.1.3 第一個JSP程式 49
3.1.4 JSP指令 49
3.1.5 JSP腳本 51
3.1.6 JSP注釋 52
3.2 JSP動作元素 52
3.3 JSP內置對象 53
3.4 JSP綜合示例 57
3.5 本章小結 57
習題 3 58
第4章 會話管理 59
4.1 Cookies 59
4.1.1 Cookie剖析 59
4.1.2 在Servlet中操作
Cookie 59
4.1.3 Cookie API 60
4.1.4 使用Cookie示例 60
4.2 HttpSession對象 62
4.2.1 Session簡介 62
4.2.2 HttpSession API 62
4.2.3 使用HttpSession示例 63
4.3 URL重寫 65
4.3.1 為什麼需要URL重寫 65
4.3.2 encodeURL()和
encodeRedirectURL() 65
4.3.3 使用URL重寫示例 66
4.4 隱藏表單域 66
4.5 本章小結 66
習題 4 67
第5章 EL和JSTL 68
5.1 JSP表達式語言 68
5.1.1 EL簡介 68
5.1.2 EL的運算符和優先權 69
5.1.3 EL隱式對象 70
5.1.4 定義和使用EL函式 74
5.2 JSP標準標籤庫 75
5.2.1 JSTL簡介 75
5.2.2 JSTL安裝與配置 76
5.2.3 核心標籤庫 76
5.3 本章小結 79
習題 5 80
第6章 過濾器與監聽器 81
6.1 Servlet過濾器 81
6.1.1 Filter工作原理 81
6.1.2 Filter核心接口 81
6.1.3 Filter生命周期 82
6.1.4 Filter配置 82
6.1.5 Filter套用 83
6.2 Servlet監聽器 86
6.2.1 Servlet監聽器概述 86
6.2.2 Servlet上下文監聽 86
6.2.3 HTTP會話監聽 89
6.2.4 Servlet請求監聽 92
6.3 本章小結 94
習題 6 94
第7章 AJAX技術 95
7.1 實現AJAX套用的一般步驟 95
7.2 使用XMLHttpRequest對象 96
7.2.1 創建XMLHttpRequest
對象 96
7.2.2 XMLHttpRequest對象的
常用屬性和事件 96
7.2.3 XMLHttpRequest對象的
常用方法 97
7.3 AJAX示例 98
7.3.1 更改文本內容 98
7.3.2 查詢項目信息 100
7.3.3 驗證註冊信箱格式和
唯一性 101
7.4 本章小結 104
習題 7 104
第8章 Maven 105
8.1 初識Maven 105
8.2 Maven的安裝和配置 107
8.3 Maven使用 110
8.4 坐標和依賴 111
8.5 本章小結 112
習題 8 113
第9章 jQuery EasyUI 114
9.1 jQuery基礎 114
9.1.1 初識jQuery 114
9.1.2 jQuery選擇器 116
9.1.3 jQuery事件 116
9.1.4 jQuery AJAX 117
9.2 jQuery EasyUI 120
9.3 jQuery EasyUI布局 121
9.3.1創建框線布局 121
9.3.2 在面板中創建複雜
布局 122
9.3.3 創建摺疊面板 123
9.3.4 創建標籤頁 124
9.3.5 動態添加標籤頁 124
9.4 jQuery EasyUI數據格線 125
9.4.1 轉換HTML表格為
數據格線 125
9.4.2 取得選中行數據 126
9.4.3 創建複雜工具列 127
9.4.4 自定義分頁 129
9.5 本章小結 130
習題 9 130
第二部分 MyBatis
第10章 MyBatis入門 132
10.1 從JDBC到MyBatis 132
10.2 第一個MyBatis示例 134
10.2.1 創建Maven項目 134
10.2.2 準備數據 136
10.2.3 MyBatis配置 136
10.2.4 創建實體類 137
10.2.5 創建映射接口和SQL
映射檔案 138
10.2.6 配置Log4j 138
10.2.7 測試 138
10.3 MyBatis框架原理 139
10.3.1 MyBatis整體架構 140
10.3.2 MyBatis運行原理 140
10.4 MyBatis核心組件的
生命周期 142
10.4.1 SqlSessionFactory
Builder 142
10.4.2 SqlSessionFactory 142
10.4.3 SqlSession 142
10.4.4 Mapper Instances 142
10.5 本章小結 143
習題 10 143
第11章 配置和映射 144
11.1 示例:實現表數據的增、刪、
改、查 144
11.2 MyBatis主配置檔案 149
11.3 XML映射檔案 153
11.4 高級結果映射 160
11.4.1 示例說明 160
11.4.2 一對一映射 164
11.4.3 一對多映射 167
11.4.4 多對多關聯 171
11.5 本章小結 175
習題 11 175
第12章 動態SQL 176
12.1 示例:使用動態SQL 176
12.2 if 178
12.3 choose、when、otherwise 181
12.4 where、set、trim 182
12.5 foreach 187
12.6 bind 188
12.7 本章小結 189
習題 12 189
第13章 MyBatis其他 190
13.1 MyBatis註解方式 190
13.1.1 使用註解方式實現表
數據的增刪改查 190
13.1.2 使用註解的動態
SQL 194
13.2 MyBatis快取配置 200
13.2.1 一級快取(SqlSession
層面) 200
13.2.2 二級快取(SqlSession
Factory層面) 203
13.3 本章小結 206
習題 13 207
第14章 MyBatis套用 208
14.1 示例總體介紹 208
14.1.1 任務說明和準備數據 208
14.1.2 總體框架 209
14.1.3 程式主要流程 209
14.2 典型代碼及技術要點 210
14.2.1 通用功能包的類實現 210
14.2.2 控制層 210
14.2.3 業務層及使用
FastJson 211
14.2.4 數據層及JNDI
數據源 213
14.2.5 部署發布 215
14.2.6 使用Jackson和手工
拼湊JSON 215
14.3 本章小結 215
習題 14 216
第三部分 Spring MVC
第15章 Spring基礎 218
15.1 Spring入門 218
15.1.1 Spring概述 218
15.1.2 使用Spring容器 221
15.2 依賴注入 223
15.3 Spring容器中的Bean 227
15.4 容器中Bean的生命周期 230
15.5 兩種後處理器 231
15.5.1 Bean後處理器 231
15.5.2 容器後處理器 232
15.6 裝配Spring Bean 232
15.6.1 通過XML配置裝配
Bean 233
15.6.2 通過註解裝配Bean 233
15.6.3 自動裝配和精確裝配 235
15.7 Spring的AOP 236
15.8 本章小結 237
習題 15 237
第16章 Spring MVC入門 238
16.1 Spring MVC概述 238
16.2 Spring MVC入門示例1:Hello,
Spring MVC! 238
16.2.1 創建Maven項目 238
16.2.2 pom.xml 239
16.2.3 Web套用部署描述檔案
Web.xml 241
16.2.4 Spring MVC
配置檔案 242
16.2.5 基於Controller接口的
控制器 242
16.2.6 視圖 243
16.2.7 部署發布項目 243
16.3 Spring MVC入門示例2:
表單提交 243
16.3.1 創建Maven項目 243
16.3.2 編碼過濾器 244
16.3.3 表單提交及相應配置 245
16.3.4 測試套用 246
16.4 Spring MVC入門示例3:
基於註解 247
16.4.1 創建Maven項目 247
16.4.2 創建控制器並添加
註解 247
16.4.3 視圖解析器 248
16.4.4 測試套用 248
16.5 Spring MVC的工作流程 249
16.6 本章小結 250
習題 16 250
第17章 基於註解的控制器 251
17.1 Spring MVC常用註解 251
17.1.1 @Controller和
@RequestMapping 251
17.1.2 @Autowired和
@Service 253
17.1.3 @RequestParam和
@PathVariable 253
17.1.4 @CookieValue和
@RequestHeader 254
17.2 在Spring MVC中處理模型
數據 255
17.2.1 數據模型 255
17.2.2 ModelAndView 256
17.2.3 Map及Model 257
17.2.4 @SessionAttributes 258
17.2.5 @ModelAttribute 259
17.3 基於註解的控制器示例1 263
17.3.1 創建AnnotationDemo1
工程 263
17.3.2 創建控制器並添加
註解 263
17.3.3 測試套用 264
17.4 基於註解的控制器示例2 264
17.4.1 創建AnnotationDemo2
工程 264
17.4.2 套用@Autowired和
@Service進行依賴
注入 265
17.4.3 重定向 267
17.4.4 測試套用 267
17.5 本章小結 268
習題 17 268
第18章 攔截器、數據轉換和格式化 269
18.1 Spring MVC的攔截器 269
18.1.1 攔截器的定義和註冊 269
18.1.2 攔截器的執行流程 271
18.1.3 多個攔截器執行的順序 274
18.1.4 攔截器套用 275
18.2 Spring MVC的數據轉換和
格式化 278
18.2.1 Spring MVC訊息轉換
流程 279
18.2.2 Spring MVC的數據
綁定 279
18.2.3 Spring MVC的數據
轉換 284
18.2.4 Spring MVC的數據
格式化 287
18.2.5 JSON格式的數據
轉換 289
18.3 本章小結 295
習題 18 295
第19章 Spring MVC其他 296
19.1 Spring MVC的表單標籤庫 296
19.2 表單驗證 307
19.2.1 Spring驗證 308
19.2.2 JSR 303驗證 310
19.3 Spring MVC的檔案上傳和
下載 311
19.3.1 檔案上傳 311
19.3.2 檔案下載 314
19.4 Spring MVC的國際化 315
19.5 本章小結 318
習題 19 318
第20章 Spring MVC+MyBatis套用 319
20.1 項目總體介紹 319
20.1.1 項目簡介及任務說明 319
20.1.2 準備數據 320
20.1.3 總體框架 320
20.2 典型代碼及技術要點 320
20.2.1 登錄模組及Kaptcha
驗證碼組件 320
20.2.2 系統管理界面 325
20.2.3 系統用戶管理 328
20.2.4 功能模組管理 332
20.3 本章小結 333
習題 20 333
參考文獻 334