本書是一本Spring MVC的教程,幫助讀者學(xué)習(xí)和掌握這一框架,快速開發(fā)Web應(yīng)用程序。本書還介紹了Spring MVC的所有和企業(yè)Web開發(fā)先關(guān)的內(nèi)容。本書的作者是一位資深的程序員,本書針對每一位想要使用Spring MVC開發(fā)基于Java的Web應(yīng)用的讀者,進行了非常細(xì)致的講解和剖析。
目 錄
第一章 Spring框架 1
1.1 XML配置文件 4
1.2 Spring控制反轉(zhuǎn)容器的使用 4
1.2.3 通過構(gòu)造器來創(chuàng)建一個bean實例 5
1.2.2 通過工廠方法來創(chuàng)建一個bean實例 5
1.2.3 Destroy Method的使用 6
1.2.4 向構(gòu)造器傳參 6
1.2.5 Setter方式依賴注入 7
1.2.3 構(gòu)造器方式依賴注入 10
1.3 小結(jié) 10
第二章 模型2和MVC模式 11
2.1 模型1介紹 11
2.2 模型2介紹 11
2.3 模型2之Servlet控制器 13
2.3.1 Product類 15
2.3.2 ProductForm類 15
2.3.3 ControllerServlet類 16
2.3.4 視圖 20
2.3.5 測試應(yīng)用 22
2.4 解耦控制器代碼 23
2.5 校驗器 27
2.6 后端 32
2.7 本章小結(jié) 33
第三章 Spring MVC介紹 34
3.1 采用Spring MVC的好處 34
3.2 Spring MVC的DispatcherServlet 35
3.3 Controller接口 36
3.4 第一個Spring MVC應(yīng)用 37
3.4.1 目錄結(jié)構(gòu) 37
3.4.2 部署描述符文件和Spring MVC配置文件 38
3.4.3 Controller 39
3.4.4 View 40
3.4.5 測試應(yīng)用 42
3.5 View Resolver 43
3.6 本章小結(jié) 45
第四章 基于注解的控制器 46
4.1 Spring MVC注解類型 46
4.1.1 Controller注解類型 46
4.1.2 RequestMapping注解類型 47
4.2 編寫請求處理方法 50
4.3 應(yīng)用基于注解的控制器 52
4.3.1 目錄結(jié)構(gòu) 52
4.3.2 配置文件 52
4.3.3 Controller類 55
4.3.4 View 56
4.3.5 測試應(yīng)用 57
4.4 應(yīng)用@Autowired和@Service進行依賴注入 58
4.5 重定向和Flash屬性 62
4.6 請求參數(shù)和路徑變量 63
4.7 @ModelAttribute 66
4.8 小結(jié) 67
第五章 數(shù)據(jù)綁定和form標(biāo)簽庫 68
5.1 數(shù)據(jù)綁定概覽 68
5.2 form標(biāo)簽庫 69
5.2.1 form標(biāo)簽 70
5.2.2 input標(biāo)簽 71
5.2.3 password標(biāo)簽 72
5.2.4 hidden標(biāo)簽 72
5.2.5 textarea標(biāo)簽 73
5.2.6 checkbox標(biāo)簽 73
5.2.7 radiobutton標(biāo)簽 74
5.2.8 checkboxes標(biāo)簽 74
5.2.9 radiobuttons標(biāo)簽 75
5.2.10 select標(biāo)簽 76
5.2.11 option標(biāo)簽 76
5.2.12 options標(biāo)簽 77
5.2.13 errors標(biāo)簽 77
5.3 數(shù)據(jù)綁定范例 78
5.3.1 目錄結(jié)構(gòu) 78
5.3.2 Domain類 78
5.3.3 Controller類 80
5.3.4 Service類 82
5.3.5 配置文件 85
5.3.6 視圖 86
5.3.7 測試應(yīng)用程序范例 88
5.4 小結(jié) 90
第六章 Converter和Formatter 91
6.1 converter 91
6.2 formatter 97
6.3 用registrar注冊formatter 99
6.4 選擇converter,還是formatter? 101
6.5 小結(jié) 101
第七章 驗證器 102
7.1 驗證概覽 102
7.2 Spring驗證器 103
7.3 ValidationUtils類 104
7.4 Spring的Validator范例 105
7.5 源文件 107
7.6 Controller類 107
7.7 測試驗證器 109
7.8 JSR 303驗證 110
7.9 JSR 303 Validator范例 112
7.10 小結(jié) 114
第八章 表達(dá)式語言(EL) 115
8.1 表達(dá)式語言(EL)的語法 115
8.1.1 關(guān)鍵字 116
8.1.2 [ ]和.運算符 116
8.1.3 取值規(guī)則 117
8.2 訪問JavaBean 118
8.3 EL隱式對象 118
8.3.1 pageContext 119
8.4 使用其他EL運算符 122
8.4.1 算術(shù)運算符 122
8.3.3 關(guān)系運算符 123
8.4.2 邏輯運算符 123
8.4.3 關(guān)系運算符 123
8.4.4 empty運算符 124
8.5 如何在JSP 2.0及其更高版本中配置EL 124
8.5.1 實現(xiàn)免腳本的JSP頁面 124
8.5.2 禁用EL計算 125
8.6 小結(jié) 126
第九章 JSTL 127
9.1 下載JSTL 127
9.2 JSTL庫 127
9.3 一般行為 129
9.3.1 out標(biāo)簽 129
9.3.2 set標(biāo)簽 130
9.3.3 remove標(biāo)簽 132
9.4 條件行為 132
9.4.1 if標(biāo)簽 133
9.4.2 choose、when和otherwise標(biāo)簽 134
9.5 遍歷行為 135
9.5.1 forEach標(biāo)簽 135
9.5.2 forTokens標(biāo)簽 143
9.6 與URL相關(guān)的行為 144
9.6.1 url標(biāo)簽 144
9.6.2 redirect標(biāo)簽 146
9.7 格式化行為 146
9.7.1 formatNumber標(biāo)簽 146
9.7.2 formatDate標(biāo)簽 149
9.7.3 timeZone標(biāo)簽 150
9.7.4 setTimeZone標(biāo)簽 152
9.7.5 parseNumber 152
9.7.6 parseDate標(biāo)簽 153
9.8 函數(shù) 155
9.8.1 contains函數(shù) 155
9.8.2 containsIgnoreCase函數(shù) 155
9.8.3 endsWith函數(shù) 156
9.8.4 escapeXml函數(shù) 156
9.8.5 indexOf函數(shù) 156
9.8.6 join函數(shù) 156
9.8.7 length函數(shù) 157
9.8.8 replace函數(shù) 157
9.8.9 split函數(shù) 157
9.8.10 startsWith函數(shù) 158
9.8.11 substring函數(shù) 158
9.8.12 substringAfter函數(shù) 158
9.8.13 substringBefore函數(shù) 158
9.8.14 toLowerCase函數(shù) 159
9.8.15 toUpperCase函數(shù) 159
9.8.16 trim函數(shù) 159
9.9 小結(jié) 159
第十章 國際化 160
10.1 語言區(qū)域 161
10.2 國際化Spring MVC應(yīng)用程序 163
10.3 將文本元件隔離成屬性文件 163
10.4 讀取屬性文件 165
10.5 告訴Spring MVC要使用哪個語言區(qū)域 166
10.6 使用message標(biāo)簽 167
10.7 范例 167
10.8 小結(jié) 173
第十一章 上傳文件 174
11.1 客戶端編程 174
11.2 MultipartFile接口 175
11.3 用Commons FileUpload上傳文件 176
11.4 Domain類 177
11.5 控制器 178
11.6 配置文件 179
11.7 JSP頁面 181
11.8 應(yīng)用程序的測試 183
11.9 用Servlet 3及其更高版本上傳文件 184
11.10 客戶端上傳 188
11.11 小結(jié) 196
第十二章 下載文件 197
12.1 文件下載概覽 197
12.2 范例1:隱藏資源 198
12.3 范例2:防止交叉引用 202
12.4 小結(jié) 206
附錄A Tomcat 207
附錄B servlet 211
附錄C JavaServer Pages 236
附錄D 部署描述符 258