內容簡介
《Java EE核心框架實戰(第 2版)》的宗旨是提高讀者學習Java EE的效率,增強其項目實戰能力。為此,本書摒棄了軟體公司中不常用或不實用的技術,而是採用近200個開發案例,為讀者講解了開發商業軟體的知識,幫助讀者進行“精要”式的學習,汲取Java EE的思想,正確地進行項趨促蜜目實戰。
《Java EE核心框架實戰(第 2版)》涵蓋了MyBatis 3、Struts 2、Ajax、JSON、jQuery、Spring 4 MVC、Hibernate 5、Spring 4等主流Java EE框架的核心開發技術,介紹了MVC框架的原理實現、上傳、下載、數據驗證、國際化、多模組分組開發、轉發/重定向、JSON的解析;將Ajax及JSON和MVC框架進行整合開發;ORM框架的CURD操作以及MyBatis和Hibernate中的映射檔案使用。本書還使用大量篇幅介紹了Spring 4中的核心技術DI與AOP,以及企業中常用框架的整合開發,框架包含Struts 2、Spring 4 MVC、MyBatis 3、Hibernate 5、Spring 4整合開發等內容。
《Java EE核心框架實戰(第 2版)》語言簡潔,示例豐富,可幫助讀者迅速掌握使用主流開源Java EE框架進行開發所需的各種技能。本書適合具有恥章嫌一定Java編程基礎的讀者,想碑乘以及使用Java進行軟體開發、測試的從業人員閱讀。
圖書目錄
第 1章 MyBatis 3運算元據庫 1
1.1 MyBatis介紹 1
1.2 MyBatis基本使用 4
1.2.1 使用XML配置檔案創葛記灑櫻建SqlSessionFactory對象 5
1.2.2 SqlSessionFactoryBuilder和SqlSessionFactory類信息 7
1.2.3 使用MyBatis Generator工具逆向操作Oracle資料庫 7
1.2.4 使用MyBatis Generator工具逆向操作MySQL資料庫 14
1.3 使用MyBatis實現CURD-2種資料庫(Oracle-MySQL) 16
1.3.1 針對Oracle的CURD 17
1.3.2 針對MySQL的CURD 23
1.3.3 SQL映射檔案中namespace命名空間的作用 24
1.4 MyBatis核心對象的生命周多臭囑悼期與封裝 26
1.4.1 創建GetSqlSessionFactory.java類 27
1.4.2 創建GetSqlSession.java類 28
1.4.3 創建DBOperate.java類 29
1.4.4 創建userinfoMapping.xml映射檔案 29
1.4.5 創建連線資料庫mybatis-config.xml配置檔案 30
1.4.6 創建名稱為test的Servlet對象 30
1.4.7 添加記錄及異常回滾的測試 31
1.4.8 刪除記錄 33
1.4.9 更改記錄 34
1.4.10 查詢單條記錄 35
1.4.11 查詢多條記錄 36
第 2章 MyBatis 3開發技能 37
2.1 使用getMapper()面向接口編程 37
2.1.1 接口-SQL映射的對應關係 37
2.1.2 殼試駝創建Userinfo.java實體類 38
2.1.3 創建UserinfoMapper.java接口 38
2.1.4 創建SQL映射檔案UserinfoMapper.xml 39
2.1.5 增加記錄insert的操作代碼 39
2.1.6 查詢全部selectAll的操作代碼 41
2.1.7 查詢單條記錄selectById的操作代碼 41
2.1.8 修改記錄updateById的操作代碼 42
2.1.9 刪除記錄deleteById的操作代碼 43
2.2 使用typeAliases配置別名 43
2.2.1 使用typeAlias單獨配置別名 44
2.2.2 使用package批量配置別名 44
2.3 使汽局用properties檔案保存資料庫信息 46
2.3.1 在mybatis-config.xml配置檔案中讀取properties檔案中的參數 46
2.3.2 將資料庫信息封裝進properties屬性檔案中 47
2.4 與數據源DataSource有關的操作 49
2.4.1 配置多個environment環境 49
2.4.2 什麼是JNDI以及如何從JNDI獲得數據源DataSource 50
2.4.3 如何在MyBatis中使用數據源DataSource 54
2.4.4 在MyBatis中使用HikariCP連線池 57
2.5 多資料庫執行不同SQL語句的支持 60
2.6 多種獲取Mapper的方式 61
2.7 MyBatis3的SQL映射檔案與動態SQL 62
2.7.1 標籤 62
2.7.2 標籤 64
2.7.3 使用${}拼接SQL語句 65
2.7.4 插入null值時的處理第 1種方法jdbcType 67
2.7.5 插入null值時的處理第 2種方法 68
2.7.6 標籤 69
2.7.7 標籤的使用 71
2.7.8 標籤的使用 72
2.7.9 標籤的使用 73
2.7.10 使用標籤對like語句進行適配 77
2.8 插入超大的字元串String文本內容 81
2.9 對查詢的數據進行分頁 84
2.10 批處理SQL語句 86
第3章 Struts 2開發技能 88
3.1 使用Struts 2進行登錄功能的開發 88
3.1.1 為什麼要使用MVC 89
3.1.2 準備jar檔案 94
3.1.3 創建Web項目、添加jar檔案及配置web.xml檔案 96
3.1.4 創建控制層Controller檔案-Login.java 96
3.1.5 創建業務邏輯層Model檔案-UserinfoService.java 97
3.1.6 創建視圖層View檔案-login.jsp 98
3.1.7 添加核心配置檔案struts.xml及解釋 98
3.1.8 添加ok.jsp和no.jsp登錄結果檔案 99
3.1.9 運行項目 99
3.1.10 Struts 2的攔截器 101
3.1.11 Struts 2的數據類型自動轉換 106
3.2 MVC框架的開發模型 112
3.2.1 基礎知識準備1——XML檔案的CURD 113
3.2.2 基礎知識準備2——Java的反射 120
3.2.3 實現MVC模型——自定義配置檔案 122
3.2.4 實現MVC模型——ActionMapping.java封裝信息 123
3.2.5 實現MVC模型——ResultMapping.java封裝信息 124
3.2.6 實現MVC模型——管理映射信息的ActionMappingManager.java對象 124
3.2.7 實現MVC模型——創建反射Action的ActionManager.java對象 126
3.2.8 實現MVC模型——創建核心控制器ActionServlet.java 127
3.2.9 實現MVC模型——創建Action接口及控制層Controller實現類 129
3.2.10 實現MVC模型——創建視圖層V對應的JSP檔案 130
3.2.11 實現MVC模型——在web.xml中配置核心控制器 131
3.2.12 實現MVC模型——運行效果 131
3.3 Struts 2的刷新驗證功能 131
3.3.1 Action接口 132
3.3.2 Validateable和ValidationAware接口 133
3.3.3 TextProvider和LocaleProvider接口 134
3.3.4 使用ActionSupport實現有刷新的驗證 134
3.4 對Struts 2有刷新驗證的示例進行升級 137
3.4.1 加入xml配置來禁止自動生成的table/tr/td代碼 137
3.4.2 解決“出錯信息不能自動顯示”的問題 139
3.5 用標籤顯示全部出錯信息 142
3.6 出錯信息進行傳參及國際化 144
3.6.1 創建info_en_US.properties和info_zh_CN.properties屬性檔案 144
3.6.2 在JSP檔案中顯示國際化的靜態文本 147
3.6.3 在JSP檔案中顯示國際化的靜態文本時傳遞參數 149
3.6.4 在Action中使用國際化功能 149
3.7 用實體類封裝URL中的參數——登錄功能的URL封裝 151
3.8 Struts 2中的轉發操作 153
3.8.1 Servlet中的轉發操作 153
3.8.2 Struts 2中的轉發操作 154
3.9 由Action重定向到Action——無參數 157
3.9.1 什麼樣的情況下使用重定向 157
3.9.2 新建起始控制層Login.java 157
3.9.3 新建目的控制層List.java 157
3.9.4 在struts.xml檔案中配置重定向的重點 158
3.9.5 新建顯示列表的JSP檔案 159
3.10 由Action重定向到Action——有參數 159
3.10.1 什麼樣的情況下需要重定向傳遞參數 159
3.10.2 新建起始控制層Login.java檔案 159
3.10.3 更改struts.xml配置檔案 160
3.10.4 新建目的控制層List.java檔案 161
3.10.5 用JSTL和EL在JSP檔案中列印數據 162
3.11 讓Struts 2支持多模組多配置檔案開發 164
3.11.1 新建4個模組的控制層 164
3.11.2 新建3個模組的配置檔案 165
3.11.3 使用include標記導入多個配置檔案 167
3.11.4 創建各模組使用的JSP檔案 167
3.11.5 運行各模組的效果 168
3.12 在Action中有多個業務方法時的處理 169
3.13 自定義全局result 171
3.13.1 新建全局result實例和控制層代碼 171
3.13.2 聲明全局的result對象 172
3.13.3 部屬項目並運行 172
3.14 在Action中使用servlet的API(緊耦版) 173
3.14.1 將數據放到不同的作用域中 173
3.14.2 從不同作用域中取值 174
3.15 在Action中使用Servlet的API(松耦版) 175
3.15.1 新建控制層 175
3.15.2 新建JSP視圖 176
第4章 Struts 2檔案的上傳與下載 178
4.1 使用Struts 2進行單檔案上傳 178
4.1.1 Struts 2上傳功能的底層依賴 178
4.1.2 新建上傳檔案的JSP檔案 178
4.1.3 新建上傳檔案的控制層Register.java檔案 179
4.1.4 Action中File實例的命名規則 180
4.1.5 設定上傳檔案的大小 180
4.1.6 設計struts.xml配置檔案 180
4.1.7 成功上傳單個檔案 181
4.2 使用Struts 2進行多檔案上傳 181
4.2.1 新建上傳多個檔案的JSP 182
4.2.2 設計上傳的控制層代碼 182
4.2.3 成功上傳多個檔案 184
4.3 使用屬性驅動形式的檔案上傳 185
4.3.1 創建上傳多個檔案的JSP 185
4.3.2 設計上傳檔案的控制層 186
4.3.3 新建上傳檔案的封裝類 187
4.3.4 將JSP檔案中s:file標籤的name屬性進行更改 188
4.3.5 以屬性驅動方式成功上傳多個檔案 189
4.4 用Struts 2實現下載檔案的功能(支持中文檔案名稱與IE和FireFix兼容) 190
4.4.1 新建下載檔案的JSP檔案 190
4.4.2 新建下載檔案的控制層檔案 191
4.4.3 更改struts.xml配置檔案 192
4.4.4 成功下載中文檔案名稱的檔案 192
第5章 JSON、Ajax和jQuery與Struts 2聯合使用 193
5.1 JSON介紹 193
5.2 用JSON創建對象 194
5.2.1 JSON創建對象的語法格式 194
5.2.2 在JSP中用JSON創建一個對象 194
5.2.3 運行效果 194
5.3 用JSON創建字元串的限制 195
5.3.1 需要轉義的特殊字元 195
5.3.2 在JSP中對JSON特殊字元進行轉義 195
5.3.3 運行效果 196
5.4 用JSON創建數字類型語法格式 196
5.4.1 在JSP中用JSON創建數字類型 196
5.4.2 運行效果 197
5.5 用JSON創建數組對象的語法格式 197
5.5.1 JSON創建一個數組對象 198
5.5.2 運行效果 198
5.6 用JSON創建嵌套的對象類型 198
5.7 將對象轉成JSON字元串 200
5.7.1 什麼情況下需要將對象轉成JSON字元串 200
5.7.2 使用stringify方法將對象轉成JSON字元串 200
5.8 將對象轉成JSON字元串提交到Action並解析(以post方式提交) 201
5.8.1 在JSP中創建JSON和Ajax對象 201
5.8.2 用Action控制層接收通過Ajax傳遞過來的JSON字元串 202
5.8.3 運行效果 203
5.8.4 在控制台輸出的數據 204
5.9 將對象轉成JSON字元串提交到Action並解析(get方式提交) 204
5.9.1 新建創建JSON字元串的JSP檔案 204
5.9.2 新建接收JSON字元串的Action控制層 205
5.9.3 運行結果 206
5.9.4 在控制台輸出的數據 206
5.10 將數組轉成JSON字元串提交到Action並解析(get和post方式提交) 207
5.10.1 在伺服器端用get方法解析JSON字元串 208
5.10.2 在伺服器端用post方法解析JSON字元串 209
5.10.3 運行結果 210
5.10.4 在控制台輸出的數據 210
5.11 使用Ajax調用Action並生成JSON再傳遞到客戶端(get和post方式
提交) 210
5.11.1 新建具有Ajax提交功能的JSP 211
5.11.2 在Action控制層創建List中存String 213
5.11.3 在Action控制層創建List中存Bean 214
5.11.4 在Action控制層創建Map中存放的String 215
5.11.5 在Action控制層創建Map中存放的Bean 216
5.11.6 單擊不同的button按鈕調用不同的Action 217
5.12 jQuery、JSON和Struts 2 218
5.12.1 jQuery框架的Ajax功能介紹 218
5.12.2 用jQuery的Ajax功能調用遠程action(無返回結果) 219
5.12.3 jQuery的Ajax方法結構 220
5.12.4 用jQuery的Ajax功能調用遠程action(有返回結果) 221
5.12.5 用jQuery的Ajax功能調用遠程action並且傳遞JSON格式參數(有返回值) 223
5.12.6 用jQuery解析從action返回List中存String的JSON字元串 226
5.13 在伺服器端解析複雜結構的JSON對象 228
第6章 用Hibernate 5運算元據庫 230
6.1 Hibernate概述與優勢 230
6.2 持久層、持久化與ORM 231
6.3 用MyEclipse開發第 一個Hibernate示例 233
6.3.1 在MyEclipse中創建MyEclipse Database Explorer資料庫連線 233
6.3.2 創建Web項目並添加Hibernate框架 235
6.3.3 開始Hibernate逆向 239
6.3.4 數據訪問層DAO與實體類entity的代碼分析 241
6.3.5 使用Hibernate進行持久化 242
6.3.6 映射檔案Userinfo.hbm.xml的代碼分析 243
6.3.7 查詢—修改—刪除的操作代碼 245
6.3.8 其他類解釋 247
第7章 Hibernate 5核心技能 248
7.1 工廠類HibernateSessionFactory.java中的靜態代碼塊 248
7.2 SessionFactory介紹 249
7.3 Session介紹 249
7.4 使用Session實現CURD功能 250
7.4.1 數據表userinfo結構與映射檔案 250
7.4.2 創建SessionFactory工廠類 251
7.4.3 添加記錄 251
7.4.4 查詢單條記錄 252
7.4.5 更改記錄 253
7.4.6 刪除記錄 253
7.5 Hibernate使用JNDI技術 254
7.5.1 備份Tomcat/conf路徑下的配置檔案 254
7.5.2 更改配置檔案context.xml 254
7.5.3 更改配置檔案web.xml 254
7.5.4 添加Hibernate框架配置的關鍵步驟 255
7.5.5 逆向工程 255
7.5.6 支持JNDI的hibernate.cfg.xml配置檔案內容 255
7.5.7 創建查詢數據的Servlet 256
7.5.8 部屬項目驗證結果 256
7.6 快取與實體狀態 256
7.6.1 Hibernate的OID與快取 256
7.6.2 Hibernate中的對象狀態:瞬時狀態、持久化狀態和游離狀態 258
7.7 雙向一對多在MyEclipse中的實現 258
7.7.1 添加主表記錄 261
7.7.2 添加子表記錄 262
7.7.3 更改主表數據 262
7.7.4 更改子表數據 262
7.7.5 刪除子表數據 263
7.7.6 刪除主表main數據 263
7.7.7 通過主表獲取子表數據 264
7.8 Hibernate備忘知識點 265
7.9 對主從表結構中的HashSet進行排序 267
7.10 延遲載入與load()和get()的區別 267
7.10.1 主從表表結構的設計 267
7.10.2 對省表和市表內容的添充 268
7.10.3 更改映射檔案 268
7.10.4 新建測試用的Servlet對象 268
7.10.5 更改映射檔案Sheng.hbm.xml 269
7.11 Hibernate對Oracle中CLOB欄位類型的讀處理 270
7.12 Hibernate中的inverse與cascade的測試 270
第8章 Hibernate 5使用HQL語言進行檢索 275
8.1 Hibernate的檢索方式 275
8.1.1 HQL表別名 276
8.1.2 HQL對結果進行排序與list()和iterator()方法的區別 278
8.1.3 HQL索引參數綁定 281
8.1.4 HQL命名參數綁定與安全性 282
8.1.5 HQL方法鏈的使用 284
8.1.6 HQL中的uniqueResult方法的使用 284
8.1.7 HQL中的where子句與查詢條件 285
8.1.8 查詢日期——字元串格式 287
8.1.9 查詢日期——數字格式 288
8.1.10 分頁的處理 289
8.1.11 HQL中的聚集函式:distinct-count-min-max-sum-avg 290
8.1.12 HQL中的分組查詢 292
第9章 JPA核心技能 294
9.1 什麼是JPA以及為什麼要使用JPA 294
9.2 搭建JPA開發環境與逆向 295
9.3 分析逆向出來的Java類 300
9.4 使用IUserinfoDAO.java接口中的方法 301
9.4.1 方法public void save(Userinfo entity)的使用 302
9.4.2 方法public Userinfo findById(Long id)的使用 303
9.4.3 方法public List findByProperty(String propertyName, final Object value, final int... rowStartIdxAndCount)的使用 304
9.4.4 方法public List findByUsername(Object username, int... rowStartIdxAndCount)的使用 304
9.4.5 方法public List findByPassword(Object password, int... rowStartIdxAndCount)的使用 304
9.4.6 方法public List findByAge(Object age, int... rowStartIdxAndCount)的使用 305
9.4.7 方法public List findAll(final int... rowStartIdxAndCount)的使用 305
9.4.8 方法public Userinfo update(Userinfo entity)的使用 305
9.4.9 方法public void delete(Userinfo entity)的使用 306
9.5 JPA核心接口介紹 306
9.5.1 類Persistence 306
9.5.2 JPA中的事務類型 307
9.5.3 接口EntityManagerFactory 308
9.5.4 接口EntityManager 308
9.6 實體類的狀態 308
9.7 使用原生JPA的API實現1個添加記錄的操作 309
9.8 從零開始搭建JPA開發環境 309
9.9 EntityManager核心方法的使用 311
9.9.1 方法void persist(Object entity)保存一條記錄 311
9.9.2 T merge(T entity)方法和 T find(Class entityClass, Object primaryKey)方法 311
9.9.3 方法void remove(Object entity) 312
9.9.4 getReference(Class, Object)方法 312
9.9.5 createNativeQuery(string)方法 315
9.9.6 clear()和contains(Object)方法 317
9.9.7 createQuery(String)方法 319
9.10 雙向一對多的CURD實驗 319
9.10.1 逆向Main.java和Sub.java實體類 319
9.10.2 創建Main 322
9.10.3 創建Sub 322
9.10.4 更新Main 323
9.10.5 更新Sub 323
9.10.6 刪除Main時默認將Sub也一同刪除 324
9.10.7 從Main載入Sub時默認為延遲載入 324
9.11 JPQL語言的使用 325
9.11.1 參數索引式查詢 325
9.11.2 命名式參數查詢 326
9.11.3 JPQL支持的運算符與聚合函式與排序 326
9.11.4 is null為空運算符的使用 327
9.11.5 查詢指定欄位的示例 327
9.11.6 JPQL語言對日期的判斷 329
9.11.7 JPQL語言中的分頁功能 331
第 10章 Spring 4的DI與AOP 332
10.1 Spring介紹 332
10.2 依賴注入 333
10.3 DI容器 333
10.4 AOP的介紹 334
10.5 Spring的架構 334
10.6 一個使用傳統方式保存數據功能的測試 335
10.7 在Spring中創建JavaBean 336
10.7.1 使用xml聲明法創建對象 337
10.7.2 使用Annotation註解法創建對象 340
10.8 DI的使用 350
10.8.1 使用xml聲明法注入對象 350
10.8.2 使用註解聲明法注入對象 352
10.8.3 多實現類的歧義性 353
10.8.4 使用@Autowired註解向構造方法參數注入 356
10.8.5 在set方法中使用@Autowired註解 357
10.8.6 使用@Bean向工廠方法的參數傳參 358
10.8.7 使用@Autowired(required = false)的寫法 358
10.8.8 使用@Bean注入多個相同類型的對象時出現異常 360
10.8.9 使用@Bean對JavaBean的id重命名 361
10.8.10 對構造方法進行注入 362
10.8.11 使用p命名空間對屬性進行注入 368
10.8.12 Spring上下文環境的相關知識 370
10.8.13 使用Spring的DI方式保存數據功能的測試 375
10.8.14 BeanFactory與ApplicationContext 377
10.8.15 注入null類型 377
10.8.16 注入Properties類型 378
10.8.17 在DI容器中創建Singleton單例和Prototype多例的JavaBean對象 379
10.8.18 Spring中注入外部屬性檔案的屬性值 381
10.9 面向切面編程AOP的使用 383
10.9.1 AOP的原理之代理設計模式 384
10.9.2 與AOP相關的概念 391
10.9.3 面向切面編程AOP核心案例 395
10.9.4 Strust 2、Spring 4整合及套用AOP切面 432
第 11章 Struts 2+Hibernate 5+Spring 4整合 436
11.1 目的 436
11.2 創建資料庫環境 436
11.2.1 新建數據表userinfo 436
11.2.2 創建序列對象 437
11.3 新建整合用的Web項目 437
11.4 添加Struts 2框架支持 437
11.4.1 添加Struts 2框架 437
11.4.2 在web.xml檔案中註冊Struts 2的過濾器 438
11.4.3 在項目的src下創建struts.xml配置檔案 438
11.5 添加Hibernate 5框架支持 439
11.6 添加Spring 4框架支持 440
11.7 創建spring-dao.xml檔案 440
11.8 創建spring-service.xml檔案 440
11.9 創建spring-controller.xml檔案 441
11.10 創建applicationContext.xml檔案 441
11.11 在web.xml檔案中註冊Spring監聽器 442
11.12 加Spring 4框架後的Web項目結構 443
11.13 創建Hibernate中的實體類與映射檔案 444
11.14 創建Hibernate 5的DAO類 445
11.15 創建UserinfoService.java服務對象 445
11.16 新建一個操作userinfo表數據的Controller控制層 446
11.17 測試成功的結果 447
11.18 測試回滾的結果 448
第 12章 Spring 4 MVC核心技能 450
12.1 Spring 4 MVC介紹 450
12.1.1 Spring 4 MVC核心控制器 451
12.1.2 基於註解的Spring 4 MVC開發 452
12.2 Spring 4 MVC第 一個登錄測試 452
12.2.1 添加Spring 4 MVC的依賴jar檔案 452
12.2.2 在web.xml中配置核心控制器 453
12.2.3 新建springMVC-servlet.xml配置檔案 453
12.2.4 新建相關的JSP檔案 453
12.2.5 新建控制層Java類檔案 454
12.2.6 部署項目並運行 455
12.2.7 第 一個示例的總結 456
12.2.8 Spring MVC取參還能更加方便 456
12.3 執行控制層與限制提交的方式 457
12.3.1 新建控制層ListUsername.java檔案 457
12.3.2 新建登錄及顯示數據的JSP檔案 458
12.3.3 部署項目並測試 458
12.4 解決多人開發路徑可能重複問題 460
12.4.1 錯誤的情況 460
12.4.2 解決辦法 461
12.5 在控制層中處理指定的提交get或post方式 463
12.5.1 控制層代碼 463
12.5.2 新建JSP檔案並運行 464
12.6 控制層重定向到控制層——無參數傳遞 465
12.6.1 新建控制層Java檔案 465
12.6.2 創建JSP檔案並運行項目 466
12.7 控制層重定向到控制層——有參數傳遞 467
12.7.1 創建兩個控制層Java檔案 467
12.7.2 部署項目並運行 468
12.8 匹配URL路徑執行指定控制層 468
12.8.1 新建控制層檔案 468
12.8.2 部署項目並運行 469
12.9 在伺服器端取得JSON字元串並解析——方式1 470
12.9.1 在web.xml中配置字元編碼過濾器 470
12.9.2 新建JSP檔案 471
12.9.3 新建控制層Java檔案 472
12.9.4 添加依賴的jar包檔案 472
12.9.5 運行項目 473
12.10 在伺服器端取得JSON字元串並解析——方式2 473
12.10.1 新建封裝JSON對象屬性的實體類 473
12.10.2 新建控制層 474
12.10.3 在配置檔案中添加註解 474
12.10.4 新建JSP檔案 475
12.10.5 添加jacksonJSON解析處理類庫並運行 475
12.10.6 解析不同格式的JSON字元串示例 476
12.11 將URL中的參數轉成實體的示例 478
12.11.1 新建控制層檔案 478
12.11.2 新建登錄用途的JSP檔案 479
12.11.3 在web.xml中註冊編碼過濾器 479
12.11.4 運行結果 479
12.12 在控制層返回JSON對象示例 479
12.12.1 新建控制層檔案 480
12.12.2 新建JSP檔案 480
12.12.3 部署項目並運行 481
12.13 在控制層傳回JSON字元串示例 482
12.13.1 新建控制層檔案 482
12.13.2 新建JSP檔案及在配置檔案中註冊utf-8編碼處理 482
12.13.3 運行項目 483
12.14 在控制層取得HttpServletRequest和HttpServletResponse對象 483
12.14.1 新建控制層 484
12.14.2 JSP檔案中的EL代碼及運行結果 484
12.14.3 直接使用HttpServletResopnse對象輸出回響字元 484
12.15 通過URL參數訪問指定的業務方法 486
12.15.1 新建控制層檔案List.java 486
12.15.2 運行結果 487
12.16 Spring 4 MVC單檔案上傳——寫法1 487
12.16.1 新建控制層 487
12.16.2 在配置檔案springMVC-servlet.xml中聲明上傳請求 488
12.16.3 創建前台JSP檔案 489
12.16.4 程式運行結果 489
12.17 Spring 4 MVC單檔案上傳——寫法2 489
12.18 Spring 4 MVC多檔案上傳 490
12.18.1 新建控制層及JSP檔案 490
12.18.2 運行結果 491
12.19 Spring 4 MVC支持中文檔案名稱的檔案下載 491
12.20 控制層返回List對象及實體的效果 493
12.20.1 新建控制層檔案 493
12.20.2 新建JSP檔案 493
12.20.3 更改springMVC-servlet.xml配置檔案 494
12.20.4 程式運行結果 494
12.21 控制層ModelMap對象 495
12.21.1 新建控制層 495
12.21.2 JSP檔案代碼 496
12.21.3 運行效果 496
12.22 Spring 4 MVC提交的表單進行手動數據驗證 497
12.22.1 創建控制層檔案 497
12.22.2 創建JSP檔案 497
12.22.3 運行結果 498
第 13章 Spring 4 MVC知識 499
13.1 web.xml中的不同配置方法 499
13.1.1 存放於src資源路徑中 499
13.1.2 指定存放路徑 500
13.1.3 指定多個配置檔案 500
13.2 路徑中添加通配符的功能 501
13.3 業務邏輯層在控制層中進行注入 502
13.3.1 新建業務邏輯層 502
13.3.2 創建控制層檔案 502
13.3.3 設計springMVC-servlet.xml配置檔案 502
13.3.4 程式運行結果 503
13.3.5 多個實現類的情況 503
13.4 對象ModelAndView的使用 504
13.4.1 創建控制層及JSP檔案 504
13.4.2 程式運行結果 505
13.5 控制層返回void數據的情況 505
13.5.1 創建控制層及index.jsp檔案 505
13.5.2 更改配置檔案 506
13.5.3 部署項目運行程式 506
13.6 使用Spring 4 MVC中的註解來操作HttpSession中的對象 507
13.6.1 創建控制層檔案PutGetSession.java 507
13.6.2 創建顯示不同作用域中的值的JSP檔案 508
13.6.3 部署項目並運行程式 508
第 14章 Spring 4 MVC+MyBatis 3+Spring 4整合 509
14.1 準備Spring 4的JAR包檔案 509
14.2 準備MyBatis的JAR包檔案 510
14.3 準備MyBatis 3與Spring 4整合的JAR檔案 510
14.4 創建Web項目 510
14.5 配置web.xml檔案 511
14.6 配置springMVC-servlet.xml檔案 512
14.7 配置MyBatis配置檔案 513
14.8 創建MyBatis與映射有關檔案 513
14.9 配置applicationContext.xml檔案 514
14.10 創建Service對象 516
14.11 創建Controller對象 516
14.12 測試正常的效果 517
14.13 測試回滾的效果 517