Java EE核心框架實戰

Java EE核心框架實戰

《Java EE核心框架實戰》是2018年1月人民郵電出版社出版的圖書,作者是高洪岩。

基本介紹

  • 書名:Java EE核心框架實戰
  • 作者:高洪岩
  • ISBN:9787115365712
  • 頁數:614頁
  • 定價:89元
  • 出版社:人民郵電出版社
  • 出版時間:2018年1月
  • 裝幀:平裝
  • 開本:16開
內容簡介,圖書目錄,

內容簡介

《Java EE核心框架實戰》旨在提高讀者的學習效率,增強其項目實戰能力。為此,《Java EE核心框架實戰》摒棄了軟體公司中不常用或不實用的技術,而是採用近200個開發案例,為讀者講解了開發商業連頌市軟體的危主希籃必 備知識,幫組讀者進行“精要”式的學習,汲取JavaEE的思想,正確地進行項目實戰。
《Java EE核心框架實戰》涵蓋了MyBatis 3、Struts 2、Ajax+JSON、Spring 4 MVC、Hibernate 4、Spring 4、WebLogic+EJB3等主流JavaEE框架的核心開發技術,介紹了MVC框架的原理實現、上傳、下載、數據驗證、國際化、多模組分組開發、轉發/重定向;重盛JSON的解析;將Ajax及JSON和MVC框架進行整合開發;ORM框架的CURD及MyBatis和Hibernate中映射檔案的使用;Spring 4中的IOC及AOP技術;企業中常使用的Struts 2、Spring 4 MVC、MyBatis 3、Hibernate 4、Spring 4整合開發,以及通過WebLogic+EJB3深入學習JavaEE的體系結構等實用內容。
《Java EE核心框架實戰》語言簡潔,示例豐富,適她雅格合具有一定Java編程基礎的讀者閱讀,以及使用Java進行軟體開發、測試的從業人員閱讀。充婆頌贈

圖書目錄

第 1章 MyBatis 3運算元據庫 1
1.1 MyBatis介紹 1
1.2 MyBatis運算元據庫的步驟 2
1.2.1 使用XML配置檔案創建SqlSessionFactory對象 3
1.2.2 SqlSessionFactoryBuilder和SqlSessionFactory類的結構 4
1.2.3 使用MyBatis Generator工具逆向 5
1.2.4 使用SqlSession對象在MsSql資料庫中新建記錄 7
1.2.5 使用SqlSession對象在Oracle資料庫中新建記錄 10
1.3 使用MyBatis針對3種資料庫(Oracle、MSSQL和MySQL)實現CURD 10
1.3.1 針對Oracle的CURD 10
1.3.2 針對MSSQL的CURD 17
1.3.3 針對MySQL的CURD 20
1.4 MyBatis核心對象的生命周期與封裝 22
1.4.1 創建GetSqlSessionFactory.java類 23
1.4.2 創建GetSqlSession.java類 24
1.4.3 創建DBOperate.java類 25
1.4.4 創建userinfoMapping.xml映射檔案 25
1.4.5 創建連線資料庫的mybatis-config.xml配置檔案 26
1.4.6 創建名為test的Servlet對象 26
1.4.7 添加記錄及異常回滾的測試 27
1.4.8 刪除記錄 29
1.4.9 更改記錄 30
1.4.10 查邀狼才詢單條記錄 31
1.4.11 查詢多條記錄 32
第 2章 MyBatis 3常用技能 33
2.1 MyBatis 3的SQL映射檔案 33
2.2 連線DB資料庫的參數來自於Properties對象 33
2.3 標籤 34
2.4 標籤 35
2.5 將SQL語句作為字元串變數傳入 37
2.6 動態SQL的使用 38
2.6.1 插入null值時的處理第 1種方法——jdbcType 38
2.6.2 插入null值時的處理第 2種方法—— 39
2.6.3 標籤的使用 組歸祝40
2.6.4 標籤的使用 42
2.6.5 標籤的使用 43
2.7 插入超大的字元串文本內容 45
2.8 分頁 46
第3章 Struts 2必 備開發技能 48
3.1 使用Struts 2進行登錄功能的開發 48
3.1.1 為什麼要使用MVC 48
3.1.2 準備JAR檔案 54
3.1.3 創建Web項目、添加jar檔案及配置web.xml檔案 55
3.1.4 創建控制層Controller檔案——Login.java 56
3.1.5 創建業務邏輯層Model檔案——UserinfoService.java 57
3.1.6 創建視圖層View檔案——login.jsp 57
3.1.7 添加核心配置檔案struts.xml及解釋 58
3.1.8 添加ok.jsp和no.jsp登錄結果檔案 59
3.1.9 運行項目 59
3.1.10 Struts 2的攔截器 60
3.1.11 Struts 2的數據類型自動轉換 64
3.2 MVC框架的開發模型 71
3.2.1 基礎知識準備1——解析並創建xml檔案 71
3.2.2 基礎知識準備2——Java的反射 74
3.2.3 實現MVC模型——自定義配置檔案 77
3.2.4 實現MVC模型——ActionMapping.java封裝信息 78
3.2.5 實現MVC模型——ResultMapping.java以封裝信息 78
3.2.6 實現MVC模型——管理映射信息的ActionMappingManager.java對象 79
3.2.7 實現MVC模型——創建反射Action的ActionManager.java對象 81
3.2.8 實現MVC模型——創建核心控制器ActionServlet.java 81
3.2.9 實現MVC模型——創建Action接口及控制層Controller實現類 83
3.2.10 實現MVC模型——創建視圖層V對應的JSP檔案 84
3.2.11 實現MVC模型——在web.xml中配置核心控制器 86
3.2.12 實現MVC模型——運行結果 86
3.3 Struts 2的刷新驗證功能 86
3.3.1 Action接口 87
3.3.2 Validateable和ValidationAware接口 88
3.3.3 TextProvider和LocaleProvider接口 88
3.3.4 使用ActionSupport實現有刷新的驗證 89
3.4 對Struts 2有刷新驗證的示例進行升級 91
3.4.1 加入xml配置來禁止自動生成的table/tr/td代碼 92
3.4.2 解決“出錯信息不能自動顯示”的問題 93
3.5 用標籤顯示全部出錯信息 96
3.6 出錯信息進行傳參及國際化 98
3.6.1 創建info_en_US.properties和info_zh_CN.properties屬性檔案 98
3.6.2 在JSP檔案中顯示國際化的靜態文本 101
3.6.3 在JSP檔案中顯示國際化的靜態文本時傳遞參數 102
3.6.4 在Action中使用國際化功能 103
3.7 用實體類封裝URL中的參數——登錄功能的URL封裝 105
3.8 Struts 2中的轉發操作 107
3.8.1 Servlet中的轉發操作 107
3.8.2 Struts 2中的轉發操作 107
3.9 由Action重定向到Action——無參數 109
3.9.1 何種情況下使用重定向 109
3.9.2 新建起始控制層Login.java 109
3.9.3 新建目的控制層List.java 110
3.9.4 在struts.xml檔案中配置重定向的重點 110
3.9.5 新建顯示列表的JSP檔案 111
3.10 由Action重定向到Action——有參數 112
3.10.1 何種情況下需要重定向傳遞參數 112
3.10.2 新建起始控制層Login.java檔案 112
3.10.3 更改struts.xml配置檔案 113
3.10.4 新建目的控制層List.java檔案 113
3.10.5 用JSTL和EL在JSP檔案中輸出數據 114
3.11 讓Struts 2支持多模組多配置檔案開發 115
3.11.1 新建4個模組的控制層 115
3.11.2 新建3個模組的配置檔案 116
3.11.3 使用include標記導入多個配置檔案 118
3.11.4 創建各模組使用的JSP檔案 118
3.11.5 運行各模組的結果 119
3.12 在Action中有多個業務方法時的處理 120
3.12.1 第 一種實現方式——通過url嘆號“!”參數 120
3.12.2 第 二種實現方式——在action標記中加入method屬性 122
3.13 自定義全局result 124
3.13.1 新建全局result實例和控制層代碼 124
3.13.2 聲明全局result對象 125
3.13.3 部署項目並運行 126
3.14 在Action中使用Servlet的API(緊耦版) 126
3.14.1 將數據放到不同的作用域中 126
3.14.2 從不同作用域中取值 128
3.15 在Action中使用Servlet的API(松耦版) 128
3.15.1 新建控制層 128
3.15.2 新建JSP視圖 129
3.16 Session與Cookie在request與response對象中的運行機制 130
3.17 在MyEclipse中使用Web Service 135
第4章 Struts 2檔案的上傳與下載 141
4.1 使用Struts 2進行單檔案上傳 141
4.1.1 Struts 2上傳功能的底層依賴 141
4.1.2 新建上傳檔案的JSP檔案 141
4.1.3 新建上傳檔案的控制層Register.java檔案 142
4.1.4 Action中File實例的命名規則 143
4.1.5 設定上傳檔案的大小 143
4.1.6 設計struts.xml配置檔案 143
4.1.7 成功上傳單個檔案 144
4.2 使用Struts 2進行多檔案上傳 145
4.2.1 新建上傳多個檔案的JSP 145
4.2.2 設計上傳的控制層代碼 145
4.2.3 成功上傳多個檔案 147
4.3 使用屬性驅動形式的檔案上傳 148
4.3.1 創建上傳多個檔案的JSP 148
4.3.2 設計上傳檔案的控制層 149
4.3.3 新建上傳檔案的封裝類 150
4.3.4 將JSP檔案中s:file標籤的name屬性進行更改 151
4.3.5 以屬性驅動方式成功上傳多個檔案 152
4.4 用Struts 2實現下載檔案的功能(支持中文檔案名稱) 153
4.4.1 新建下載檔案的JSP檔案 153
4.4.2 新建下載檔案的控制層檔案 154
4.4.3 更改struts.xml配置檔案 155
4.4.4 成功下載中文檔案名稱的檔案 155
第5章 JSON、Ajax、jQuery與Struts 2聯合使用 156
5.1 JSON介紹 156
5.2 用JSON創建對象 157
5.2.1 用JSON創建對象的語法格式 157
5.2.2 在JSP中用JSON創建對象 157
5.2.3 運行結果 157
5.3 用JSON創建字元串的限制 158
5.3.1 需要轉義的特殊字元 158
5.3.2 在JSP中對JSON特殊字元進行轉義 158
5.3.3 運行結果 159
5.4 用JSON創建數字類型的語法格式 159
5.4.1 在JSP中用JSON創建數字類型 160
5.4.2 運行結果 160
5.5 用JSON創建數組對象的語法格式 160
5.5.1 在JSP中用JSON創建數組對象 161
5.5.2 運行結果 161
5.6 用JSON創建嵌套的對象類型 161
5.7 將對象轉換成JSON字元串 162
5.7.1 什麼情況下需要將對象轉換成JSON字元串 162
5.7.2 在JSP中用stringify方法將對象轉換成JSON字元串 163
5.8 將對象轉換成JSON字元串提交到Action並解析(以post方式提交) 164
5.8.1 在JSP中創建JSON和Ajax對象 164
5.8.2 用Action控制層接收通過Ajax傳遞過來的JSON字元串 165
5.8.3 運行結果 166
5.8.4 在控制台輸出的數據 166
5.9 將對象轉換成JSON字元串提交到Action並解析(以get方式提交) 167
5.9.1 新建創建JSON字元串的JSP檔案 167
5.9.2 新建接收JSON字元串的Action控制層 168
5.9.3 運行結果 168
5.9.4 在控制台輸出的數據 169
5.10 將數組轉換成JSON字元串提交到Action並解析(以get和post方式提交) 169
5.10.1 在伺服器端用get方法解析JSON字元串 171
5.10.2 在伺服器端用post方法解析JSON字元串 171
5.10.3 運行結果 172
5.10.4 在控制台輸出的數據 172
5.11 使用Ajax調用Action並生成JSON再傳遞到客戶端(以get和post方式提交) 173
5.11.1 新建具有Ajax提交功能的JSP 173
5.11.2 在Action控制層創建List中存放的String 176
5.11.3 在Action控制層創建List中存放的Bean 177
5.11.4 在Action控制層創建Map中存放的String 178
5.11.5 在Action控制層創建Map中存放的Bean 178
5.11.6 單擊不同的button按鈕調用不同的Action 179
5.12 jQuery、JSON和Struts 2 181
5.12.1 jQuery框架的Ajax功能介紹 181
5.12.2 用jQuery的Ajax功能調用遠程action(無返回結果) 181
5.12.3 jQuery的Ajax方法的結構 183
5.12.4 用jQuery的Ajax功能調用遠程action(有返回結果) 184
5.12.5 用jQuery的Ajax功能調用遠程action並且傳遞JSON格式參數(有返回值) 185
5.12.6 用jQuery解析從action返回List中存放String的JSON字元串 188
第6章 Spring 4 MVC實用開發 191
6.1 Spring 4 MVC介紹 191
6.1.1 Spring 4 MVC核心控制器 191
6.1.2 基於註解的Spring 4 MVC開發 192
6.2 Spring 4 MVC的第 一個登錄測試 193
6.2.1 添加Spring 4 MVC的依賴jar檔案 193
6.2.2 在web.xml中配置核心控制器 193
6.2.3 新建springMVC-servlet.xml配置檔案 193
6.2.4 新建相關的JSP檔案 194
6.2.5 新建控制層Java類檔案 195
6.2.6 部署項目並運行 195
6.2.7 第 一個示例的總結 196
6.2.8 Spring更加方便的參數獲取方法 196
6.3 執行Controller控制層與限制提交的method方式 197
6.3.1 新建控制層ListUsername.java檔案 197
6.3.2 新建登錄及顯示數據的JSP檔案 198
6.3.3 部署項目並測試 199
6.4 解決多人開發路徑可能重複的問題 200
6.4.1 錯誤的情況 200
6.4.2 解決辦法 201
6.5 在控制層中使用指定方式處理get或post提交方式 203
6.5.1 控制層代碼 203
6.5.2 新建JSP檔案並運行 204
6.6 控制層重定向到控制層——無參數傳遞 205
6.6.1 新建控制層Java檔案 205
6.6.2 創建JSP檔案並運行項目 206
6.7 控制層重定向到控制層——有參數傳遞 206
6.7.1 創建兩個控制層Java檔案 207
6.7.2 部署項目並運行 207
6.8 匹配URL路徑執行指定Controller 208
6.8.1 新建控制層檔案 208
6.8.2 部署項目並運行 209
6.9 在伺服器端獲取JSON字元串並解析——方式1 210
6.9.1 在web.xml中配置字元編碼過濾器 210
6.9.2 新建JSP檔案 211
6.9.3 新建控制層Java檔案 212
6.9.4 添加依賴的jar包檔案 212
6.9.5 運行項目 213
6.10 在伺服器端獲取JSON字元串並解析——方式2 213
6.10.1 新建封裝JSON對象屬性的實體類 213
6.10.2 新建控制層 214
6.10.3 在配置檔案中添加註解 214
6.10.4 新建JSP檔案 215
6.10.5 添加jacksonJSON解析處理類庫並運行 215
6.10.6 解析不同格式的JSON字元串示例 216
6.11 將URL中的參數轉成實體的示例 218
6.11.1 新建控制層檔案 218
6.11.2 新建登錄用途的JSP檔案 219
6.11.3 在web.xml中註冊編碼過濾器 219
6.11.4 運行結果 219
6.12 在控制層傳回JSON對象示例 220
6.12.1 新建控制層檔案 220
6.12.2 新建JSP檔案 220
6.12.3 部署項目並運行 222
6.13 在控制層傳回JSON字元串示例 222
6.13.1 新建控制層檔案 222
6.13.2 新建JSP檔案及在配置檔案中註冊utf——8編碼處理 223
6.13.3 運行項目 224
6.14 在控制層獲取HttpServletRequest和HttpServletResponse對象 224
6.14.1 新建控制層 224
6.14.2 JSP檔案中的EL代碼及運行結果 225
6.14.3 直接使用HttpServletResopnse對象輸出回響字元 225
6.15 通過URL參數訪問指定的業務方法 227
6.15.1 新建控制層檔案List.java 227
6.15.2 運行結果 227
6.16 Spring 4 MVC單檔案上傳——寫法1 228
6.16.1 新建控制層 228
6.16.2 在配置檔案springMVC-servlet.xml中聲明上傳請求 229
6.16.3 創建前台JPS檔案 229
6.16.4 運行結果 230
6.17 Spring 4 MVC單檔案上傳——寫法2 230
6.18 Spring 4 MVC多檔案上傳 231
6.18.1 新建控制層及JSP檔案 231
6.18.2 運行結果 232
6.19 Spring 4 MVC支持下載檔案名稱為中文的檔案 232
6.20 控制層返回List對象及實體的結果 233
6.20.1 新建控制層檔案 233
6.20.2 新建JSP檔案 234
6.20.3 更改springMVC-servlet.xml配置檔案 234
6.20.4 運行結果 235
6.21 控制層ModelMap對象 236
6.21.1 新建控制層 236
6.21.2 JSP檔案代碼 236
6.21.3 運行結果 237
6.22 對Spring 4 MVC提交的表單進行手動數據驗證 237
6.22.1 創建控制層檔案 237
6.22.2 創建JSP檔案 238
6.22.3 運行結果 238
第7章 Spring 4 MVC必 備知識 239
7.1 web.xml中的不同配置方法 239
7.1.1 將配置檔案存放於src路徑中 239
7.1.2 指定存放路徑 240
7.1.3 指定多個配置檔案 240
7.2 路徑中添加通配符的功能 241
7.3 Service業務邏輯層在Controller中進行注入 241
7.3.1 新建業務邏輯層 241
7.3.2 創建控制層檔案 242
7.3.3 設計springMVC-servlet.xml配置檔案 242
7.3.4 運行結果 242
7.3.5 多個實現類的情況 243
7.4 對象ModelAndView的使用 244
7.4.1 創建控制層及JSP檔案 244
7.4.2 程式運行結果 244
7.5 控制層返回void數據的情況 245
7.5.1 創建控制層及index.jsp檔案 245
7.5.2 更改配置檔案 246
7.5.3 部署項目並運行程式 246
7.6 使用Spring 4 MVC中的註解來操作HttpSession中的對象 247
7.6.1 創建控制層檔案PutGetSession.java 247
7.6.2 創建顯示不同作用域中值的JSP檔案 247
7.6.3 部署項目並運行程式 248
第8章 Spring 4 MVC+MyBatis 3+Spring 4整合 249
8.1 準備Spring 4的jar包檔案 249
8.2 準備MyBatis的jar包檔案 250
8.3 準備MyBatis 3與Spring 4整合的jar檔案 250
8.4 創建Web項目 250
8.5 配置web.xml檔案 251
8.6 配置springMVC-servlet.xml檔案 252
8.7 配置MyBatis配置檔案 252
8.8 創建MyBatis與映射有關檔案 253
8.9 配置applicationContext.xml檔案 254
8.10 創建DAO對象 255
8.11 創建Service對象 256
8.12 創建Controller對象 257
8.13 測試整合效果 258
8.14 回滾的測試 258
第9章 用Hibernate 4運算元據庫 260
9.1 Hibernate概述與優勢 260
9.2 持久層與持久化與ORM 261
9.3 用MyEclipse開發第 一個Hibernate示例 262
9.3.1 用MyEclipse Database Explorer工具連線Oracle 11g資料庫 263
9.3.2 創建一個支持Hibernate4環境的Web項目 265
9.3.3 對數據表進行Hibernate逆向工程 267
9.3.4 逆向工程後的項目orm結構 270
9.3.5 使用Hibernate進行持久化 273
第 10章 Hibernate 4核心技能 274
10.1 Configuration介紹 274
10.2 SessionFactory介紹 275
10.3 Session介紹 275
10.4 使用Session實現CURD操作 275
10.4.1 Session操作目標表USERINFO 276
10.4.2 逆向工程後的項目結構 276
10.4.3 新建添加記錄的Servlet 277
10.4.4 新建查詢記錄的Servlet 278
10.4.5 新建更改記錄的Servlet 279
10.4.6 新建刪除記錄的Servlet 280
10.5 在Hibernate中使用JNDI技術 281
10.5.1 備份Tomcat/conf路徑下的配置檔案 281
10.5.2 更改配置檔案context.xml 281
10.5.3 更改配置檔案web.xml 281
10.5.4 添加Hibernate框架配置的關鍵步驟 282
10.5.5 逆向工程 282
10.5.6 支持JNDI的hibernate.cfg.xml配置檔案內容 282
10.5.7 創建查詢數據的Servlet 283
10.5.8 部署項目並驗證結果 283
10.6 快取與實體狀態 283
10.6.1 Hibernate的OID與快取 283
10.6.2 Hibernate中的對象狀態:瞬時狀態、持久化狀態和游離狀態 285
10.7 雙向一對多在MyEclipse中的實現 285
10.7.1 創建主表MAIN 285
10.7.2 創建子表SUB 285
10.7.3 添加主外鍵約束對象 286
10.7.4 設定主外鍵關係 286
10.7.5 逆向主從表外鍵關係 287
10.7.6 集合與多對一 288
10.7.7 新建主表main數據 289
10.7.8 新建子表SUB數據 290
10.7.9 刪除子表SUB數據 292
10.7.10 刪除主表MAIN數據 293
10.8 Hibernate備忘知識點 294
10.9 對主從表結構中的HashSet進行排序 295
10.10 Hibernate中延遲載入的調試實驗 295
10.10.1 主從表表結構的設計 295
10.10.2 對省表和市表內容的填充 295
10.10.3 更改映射檔案 295
10.10.4 新建測試用的Servlet對象 296
10.10.5 更改映射檔案Sheng.hbm.xml 296
10.11 Hibernate中對Oracle中CLOB欄位類型的讀處理 297
10.12 Hibernate中的inverse與cascade的測試 297
第 11章 在Hibernate 4中使用HQL語言進行檢索 302
11.1 Hibernate的檢索方式 302
11.2 HQL表別名 305
11.3 HQL對結果進行排序與list()和iterator()方法的區別 306
11.4 HQL索引參數綁定 309
11.5 HQL命名參數綁定與安全性 309
11.6 HQL方法鏈的使用 311
11.7 HQL中的uniqueResult()方法的使用 311
11.8 HQL中的Where子句與查詢條件 312
11.9 HQL中的聚集函式:distinct、count、min、max、sum和avg 314
11.10 HQL中的分組查詢 316
第 12章 Spring 4的AOP和IOC 318
12.1 Spring介紹 318
12.2 Spring架構 318
12.3 IOC的介紹 319
12.4 AOP的介紹 319
12.5 IOC容器 320
12.6 使用傳統方式保存數據功能的測試 320
12.7 使用Spring的IOC方式保存數據功能的測試 321
12.8 BeanFactory與ApplicationContext 327
12.9 Spring的IOC容器的注入類型 327
12.9.1 通過IOC容器注入基本數據類型 327
12.9.2 通過IOC容器注入引用數據類型 330
12.9.3 通過IOC容器注入null類型 330
12.9.4 通過IOC容器注入Properties類型 332
12.9.5 通過IOC容器對構造方法進行注入 333
12.10 Spring中Bean在Singleton和Prototype中的作用域 335
12.11 Spring中注入外部屬性檔案的屬性值 337
12.12 Spring中多個applicationContext.xml配置檔案的使用 339
12.13 AOP的概念與介紹 342
12.13.1 靜態代理的實現 342
12.13.2 動態代理的實現 344
12.14 實現MethodBeforeAdvice接口——方法執行前增強 345
12.15 實現AfterReturningAdvice接口——方法執行後增強 348
12.16 實現MethodInterceptor接口——方法執行前後環繞增強 350
第 13章 Struts 2+Hibernate 4+ Spring 4整合 353
13.1 目的 353
13.2 新建Oracle數據表userinfo 353
13.2.1 新建數據表userinfo 353
13.2.2 創建序列對象 354
13.3 新建整合用的Web項目 354
13.4 添加Struts 2框架支持環境 354
13.4.1 添加Struts 2框架 354
13.4.2 在web.xml檔案中註冊Struts 2的過濾器 355
13.4.3 在項目的src下創建struts.xml配置檔案 355
13.4.4 添加Struts 2框架後的項目檔案結構圖 356
13.5 添加Hibernate Database Explorer資料庫連線 356
13.6 添加Hibernate 4框架支持 357
13.7 添加Spring 4框架支持檔案 357
13.8 創建的applicationContext.xml檔案 358
13.9 在web.xml檔案中添加Spring的utf-8編碼過濾器和Spring監聽器 359
13.10 添加Spring 4框架後的Web項目結構 360
13.11 對Oracle 11g數據表userinfo進行Hibernate逆向工程 361
13.12 創建Hibernate 4的DAO類 362
13.13 創建All_DAO對象 363
13.14 創建UserinfoService.java服務對象 364
13.15 創建AllService服務對象 364
13.16 繼續更改applicationContext.xml和hibernate.cfg.xml 365
13.17 新建自定義action的父類BaseAction 367
13.18 新建操作userinfo表中數據的Action 367
13.19 在applicationContext.xml中配置/base和/test 368
13.20 部署到Tomcat容器 370
第 14章 有狀態/無狀態會話Bean和訊息驅動Bean 373
14.1 EJB3概述 373
14.1.1 Java EE體系結構 374
14.1.2 容器的概念 374
14.2 有狀態會話Bean和無狀態會話Bean 375
14.2.1 會話Bean的作用 375
14.2.2 會話Bean的種類 375
14.2.3 在MyEclipse中無狀態會話Bean的創建 376
14.2.4 用Web方式調用本地SayHello接口 390
14.2.5 本地和遠程無狀態會話Bean的區別 394
14.2.6 EJB組件接口無註解時的默認情況 395
14.2.7 調用遠程類型的無狀態會話Bean 396
14.2.8 無狀態會話Bean的回調函式和生命周期 401
14.2.9 無狀態會話Bean實例變數值保留的問題與無狀態會話Bean實例池 404
14.2.10 有狀態會話Bean 409
14.2.11 有狀態會話Bean的創建與狀態特性 409
14.2.12 將遠程無狀態會話Bean共享的服務重命名 416
14.2.13 使用註解聲明會話Bean的第 2種寫法 418
14.2.14 有狀態會話Bean的鈍化與激活 419
14.2.15 有狀態會話Bean的回調函式和生命周期 420
14.2.16 有狀態會話Bean的@Remove回調函式的使用 425
14.2.17 注入其他本地類型的EJB對象 428
14.3 訊息驅動Java Bean(MDB)和在WebLogic中創建訊息目的 430
14.3.1 創建持久性存儲對象 431
14.3.2 創建JMS伺服器 433
14.3.3 創建JMS模組 435
14.3.4 在JMS模組中創建子部署 437
14.3.5 在JMS模組中創建資源 439
14.3.6 點對點式訊息驅動Java Bean 441
14.3.7 發布-訂閱式訊息驅動Java Bean 445
14.4 Web Service與在EJB3中創建基於Web Service的業務服務 450
14.5 計時器與作業調度 463
第 15章 實體Bean 466
15.1 實體Bean概述 466
15.2 持久層、持久化與ORM 466
15.2.1 在WebLogic的JNDI樹中創建節點與對象 469
15.2.2 在WebLogic的JNDI樹中創建子節點 475
15.2.3 在WebLogic的JNDI樹中查找節點 477
15.2.4 在WebLogic的JNDI樹中刪除節點 478
15.3 從保存記錄開始 479
15.3.1 安裝Oracle11g資料庫 479
15.3.2 使用Toad管理Oracle資料庫 479
15.3.3 使用MyEclipse Database Explorer工具連線Oracle11G資料庫 486
15.3.4 創建EJB3項目 489
15.3.5 更改實體的主鍵與序列映射 492
15.3.6 創建調用外觀的Serlvet 493
15.3.7 更改persistence.xml配置檔案 493
15.3.8 KODO的簡要介紹 494
15.3.9 部署到WebLogic中並且運行 494
15.3.10 使用JPA技術向Oracle 11g資料庫成功添加記錄 494
15.3.11 改成JNDI連線池的示例 495
15.4 解析實體類所使用的註解 501
15.5 在SQL 2005資料庫中插入記錄 501
15.6 在MySQL資料庫中插入記錄 504
15.7 使用表在Oracle資料庫中生成主鍵 505
15.8 使用EJB3在Oracle中插入Date時間類型 508
15.9 處理CLOB數據類型 510
15.10 在WebLogic中實現JDBC+JNDI全局性分散式事務實驗 510
15.10.1 JTA和2PC的概述 510
15.10.2 進入WebLogic控制台 511
15.10.3 配置數據源名稱 511
15.10.4 配置數據源屬性 512
15.10.5 設定數據源連線資料庫的詳細信息 513
15.10.6 測試是否連線到資料庫 513
15.10.7 將數據源歸屬到AdminServer伺服器 514
15.10.8 新建名為b_jndi的數據源 514
15.10.9 數據源列表 514
15.10.10 SQL在正確的情況下實現多數據源提交事務 515
15.10.11 SQL在錯誤的情況下實現多數據源回滾事務 518
第 16章 JPA核心技能 521
16.1 EntityManager類的概述 521
16.1.1 實體類的狀態 522
16.1.2 EJB3中的事務 522
16.2 EntityManager類的方法使用 522
16.2.1 persist(Object)方法 525
16.2.2 merge(T)方法和find(Class, Object)方法 526
16.2.3 remove(Object)方法 528
16.2.4 getReference(Class, Object)方法 530
16.2.5 createNativeQuery()方法 533
16.2.6 close()和isOpen()方法 538
16.2.7 refresh(Object)方法 538
16.2.8 clear()和contains(Object)方法 542
16.2.9 createQuery(String)方法 543
16.2.10 createNamedQuery(String)方法 545
16.3 EntityManagerFactory對象介紹 546
16.4 用Java SE客戶端調用遠程EJB3組件(使用逆向DAO) 547
16.5 在Java SE客戶端使用EntityManagerFactory實現持久化(手動配置) 550
16.6 在Java SE客戶端使用EntityManagerFactory實現持久化(自動配置) 552
16.7 在會話Bean中生成EntityManagerFactory 557
16.8 雙向一對多的CURD實戰 559
16.8.1 新建數據表Sheng 559
16.8.2 新建數據表Shi 559
16.8.3 配置主從鍵約束關係 559
16.8.4 創建企業項目 561
16.8.5 逆向EJB實體 561
16.8.6 添加主鍵生成策略的註解 562
16.8.7 配置persistence.xml檔案 563
16.8.8 persistence.xml配置檔案再次提醒 563
16.8.9 生成的Sheng.java和Shi.java代碼引用 563
16.8.10 創建Sheng的Servlet 564
16.8.11 創建Shi的Servlet 565
16.8.12 更新Sheng的Servlet 566
16.8.13 更新Shi的Servlet 566
16.8.14 刪除沒有市的省 571
16.8.15 刪除有市的省 571
第 17章 JPQL必 備技能 573
17.1 JPQL介紹 573
17.2 命名參數和索引式參數及實體參數式查詢 573
17.2.1 參數索引式查詢 574
17.2.2 命名式參數查詢 575
17.2.3 為實現主從關聯示例創建sheng表和shi表 576
17.2.4 sheng表和shi表兩種關聯查詢的方式 577
17.3 JPQL支持的運算符 578
17.3.1 +、-、*、/、=、>=、>、<、<=、<>、between、like、in運算符的使用 578
17.3.2 not運算符的使用 581
17.3.3 is null運算符的使用 582
17.3.4 is empty運算符的使用 582
17.4 order by的使用 583
17.5 查詢指定欄位的示例 584
17.6 聚合函式avg、count、max、min、sum的使用 586
17.7 group by和having的使用 587
17.8 左外連線的使用 588
17.9 通過distinct去除重複記錄 590
17.10 JPQL的字元串操作函式 590
17.11 通過JPQL取得當前的日期和日期時間 594
17.12 JPQL語言對日期的判斷 595
17.13 JPQL的數學函式 598
17.14 JPQL中的分頁功能 599
第 18章 FreeMarker模板引擎的使用 600
18.1 輸出8種簡單數據類型 600
18.2 簡單數據類型的計算 603
18.3 輸出複雜數據類型——數組 604
18.4 輸出集合對象——List 605
18.5 輸出集合對象——Set 606
18.6 輸出集合對象——Map 606
18.7 輸出嵌套類型——List中有Map 607
18.8 輸出嵌套類型——Map中有List 608
18.9 判斷#if和#else標籤的使用 609
18.10 輸出實體類的屬性及boolean類型注意事項 609
18.11 FreeMarker中的注釋 611
18.12 FreeMarker中的導入 611
18.13 FreeMarker中對不存在的變數或null值的處理 612
1.4.7 添加記錄及異常回滾的測試 27
1.4.8 刪除記錄 29
1.4.9 更改記錄 30
1.4.10 查詢單條記錄 31
1.4.11 查詢多條記錄 32
第 2章 MyBatis 3常用技能 33
2.1 MyBatis 3的SQL映射檔案 33
2.2 連線DB資料庫的參數來自於Properties對象 33
2.3 標籤 34
2.4 標籤 35
2.5 將SQL語句作為字元串變數傳入 37
2.6 動態SQL的使用 38
2.6.1 插入null值時的處理第 1種方法——jdbcType 38
2.6.2 插入null值時的處理第 2種方法—— 39
2.6.3 標籤的使用 40
2.6.4 標籤的使用 42
2.6.5 標籤的使用 43
2.7 插入超大的字元串文本內容 45
2.8 分頁 46
第3章 Struts 2必 備開發技能 48
3.1 使用Struts 2進行登錄功能的開發 48
3.1.1 為什麼要使用MVC 48
3.1.2 準備JAR檔案 54
3.1.3 創建Web項目、添加jar檔案及配置web.xml檔案 55
3.1.4 創建控制層Controller檔案——Login.java 56
3.1.5 創建業務邏輯層Model檔案——UserinfoService.java 57
3.1.6 創建視圖層View檔案——login.jsp 57
3.1.7 添加核心配置檔案struts.xml及解釋 58
3.1.8 添加ok.jsp和no.jsp登錄結果檔案 59
3.1.9 運行項目 59
3.1.10 Struts 2的攔截器 60
3.1.11 Struts 2的數據類型自動轉換 64
3.2 MVC框架的開發模型 71
3.2.1 基礎知識準備1——解析並創建xml檔案 71
3.2.2 基礎知識準備2——Java的反射 74
3.2.3 實現MVC模型——自定義配置檔案 77
3.2.4 實現MVC模型——ActionMapping.java封裝信息 78
3.2.5 實現MVC模型——ResultMapping.java以封裝信息 78
3.2.6 實現MVC模型——管理映射信息的ActionMappingManager.java對象 79
3.2.7 實現MVC模型——創建反射Action的ActionManager.java對象 81
3.2.8 實現MVC模型——創建核心控制器ActionServlet.java 81
3.2.9 實現MVC模型——創建Action接口及控制層Controller實現類 83
3.2.10 實現MVC模型——創建視圖層V對應的JSP檔案 84
3.2.11 實現MVC模型——在web.xml中配置核心控制器 86
3.2.12 實現MVC模型——運行結果 86
3.3 Struts 2的刷新驗證功能 86
3.3.1 Action接口 87
3.3.2 Validateable和ValidationAware接口 88
3.3.3 TextProvider和LocaleProvider接口 88
3.3.4 使用ActionSupport實現有刷新的驗證 89
3.4 對Struts 2有刷新驗證的示例進行升級 91
3.4.1 加入xml配置來禁止自動生成的table/tr/td代碼 92
3.4.2 解決“出錯信息不能自動顯示”的問題 93
3.5 用標籤顯示全部出錯信息 96
3.6 出錯信息進行傳參及國際化 98
3.6.1 創建info_en_US.properties和info_zh_CN.properties屬性檔案 98
3.6.2 在JSP檔案中顯示國際化的靜態文本 101
3.6.3 在JSP檔案中顯示國際化的靜態文本時傳遞參數 102
3.6.4 在Action中使用國際化功能 103
3.7 用實體類封裝URL中的參數——登錄功能的URL封裝 105
3.8 Struts 2中的轉發操作 107
3.8.1 Servlet中的轉發操作 107
3.8.2 Struts 2中的轉發操作 107
3.9 由Action重定向到Action——無參數 109
3.9.1 何種情況下使用重定向 109
3.9.2 新建起始控制層Login.java 109
3.9.3 新建目的控制層List.java 110
3.9.4 在struts.xml檔案中配置重定向的重點 110
3.9.5 新建顯示列表的JSP檔案 111
3.10 由Action重定向到Action——有參數 112
3.10.1 何種情況下需要重定向傳遞參數 112
3.10.2 新建起始控制層Login.java檔案 112
3.10.3 更改struts.xml配置檔案 113
3.10.4 新建目的控制層List.java檔案 113
3.10.5 用JSTL和EL在JSP檔案中輸出數據 114
3.11 讓Struts 2支持多模組多配置檔案開發 115
3.11.1 新建4個模組的控制層 115
3.11.2 新建3個模組的配置檔案 116
3.11.3 使用include標記導入多個配置檔案 118
3.11.4 創建各模組使用的JSP檔案 118
3.11.5 運行各模組的結果 119
3.12 在Action中有多個業務方法時的處理 120
3.12.1 第 一種實現方式——通過url嘆號“!”參數 120
3.12.2 第 二種實現方式——在action標記中加入method屬性 122
3.13 自定義全局result 124
3.13.1 新建全局result實例和控制層代碼 124
3.13.2 聲明全局result對象 125
3.13.3 部署項目並運行 126
3.14 在Action中使用Servlet的API(緊耦版) 126
3.14.1 將數據放到不同的作用域中 126
3.14.2 從不同作用域中取值 128
3.15 在Action中使用Servlet的API(松耦版) 128
3.15.1 新建控制層 128
3.15.2 新建JSP視圖 129
3.16 Session與Cookie在request與response對象中的運行機制 130
3.17 在MyEclipse中使用Web Service 135
第4章 Struts 2檔案的上傳與下載 141
4.1 使用Struts 2進行單檔案上傳 141
4.1.1 Struts 2上傳功能的底層依賴 141
4.1.2 新建上傳檔案的JSP檔案 141
4.1.3 新建上傳檔案的控制層Register.java檔案 142
4.1.4 Action中File實例的命名規則 143
4.1.5 設定上傳檔案的大小 143
4.1.6 設計struts.xml配置檔案 143
4.1.7 成功上傳單個檔案 144
4.2 使用Struts 2進行多檔案上傳 145
4.2.1 新建上傳多個檔案的JSP 145
4.2.2 設計上傳的控制層代碼 145
4.2.3 成功上傳多個檔案 147
4.3 使用屬性驅動形式的檔案上傳 148
4.3.1 創建上傳多個檔案的JSP 148
4.3.2 設計上傳檔案的控制層 149
4.3.3 新建上傳檔案的封裝類 150
4.3.4 將JSP檔案中s:file標籤的name屬性進行更改 151
4.3.5 以屬性驅動方式成功上傳多個檔案 152
4.4 用Struts 2實現下載檔案的功能(支持中文檔案名稱) 153
4.4.1 新建下載檔案的JSP檔案 153
4.4.2 新建下載檔案的控制層檔案 154
4.4.3 更改struts.xml配置檔案 155
4.4.4 成功下載中文檔案名稱的檔案 155
第5章 JSON、Ajax、jQuery與Struts 2聯合使用 156
5.1 JSON介紹 156
5.2 用JSON創建對象 157
5.2.1 用JSON創建對象的語法格式 157
5.2.2 在JSP中用JSON創建對象 157
5.2.3 運行結果 157
5.3 用JSON創建字元串的限制 158
5.3.1 需要轉義的特殊字元 158
5.3.2 在JSP中對JSON特殊字元進行轉義 158
5.3.3 運行結果 159
5.4 用JSON創建數字類型的語法格式 159
5.4.1 在JSP中用JSON創建數字類型 160
5.4.2 運行結果 160
5.5 用JSON創建數組對象的語法格式 160
5.5.1 在JSP中用JSON創建數組對象 161
5.5.2 運行結果 161
5.6 用JSON創建嵌套的對象類型 161
5.7 將對象轉換成JSON字元串 162
5.7.1 什麼情況下需要將對象轉換成JSON字元串 162
5.7.2 在JSP中用stringify方法將對象轉換成JSON字元串 163
5.8 將對象轉換成JSON字元串提交到Action並解析(以post方式提交) 164
5.8.1 在JSP中創建JSON和Ajax對象 164
5.8.2 用Action控制層接收通過Ajax傳遞過來的JSON字元串 165
5.8.3 運行結果 166
5.8.4 在控制台輸出的數據 166
5.9 將對象轉換成JSON字元串提交到Action並解析(以get方式提交) 167
5.9.1 新建創建JSON字元串的JSP檔案 167
5.9.2 新建接收JSON字元串的Action控制層 168
5.9.3 運行結果 168
5.9.4 在控制台輸出的數據 169
5.10 將數組轉換成JSON字元串提交到Action並解析(以get和post方式提交) 169
5.10.1 在伺服器端用get方法解析JSON字元串 171
5.10.2 在伺服器端用post方法解析JSON字元串 171
5.10.3 運行結果 172
5.10.4 在控制台輸出的數據 172
5.11 使用Ajax調用Action並生成JSON再傳遞到客戶端(以get和post方式提交) 173
5.11.1 新建具有Ajax提交功能的JSP 173
5.11.2 在Action控制層創建List中存放的String 176
5.11.3 在Action控制層創建List中存放的Bean 177
5.11.4 在Action控制層創建Map中存放的String 178
5.11.5 在Action控制層創建Map中存放的Bean 178
5.11.6 單擊不同的button按鈕調用不同的Action 179
5.12 jQuery、JSON和Struts 2 181
5.12.1 jQuery框架的Ajax功能介紹 181
5.12.2 用jQuery的Ajax功能調用遠程action(無返回結果) 181
5.12.3 jQuery的Ajax方法的結構 183
5.12.4 用jQuery的Ajax功能調用遠程action(有返回結果) 184
5.12.5 用jQuery的Ajax功能調用遠程action並且傳遞JSON格式參數(有返回值) 185
5.12.6 用jQuery解析從action返回List中存放String的JSON字元串 188
第6章 Spring 4 MVC實用開發 191
6.1 Spring 4 MVC介紹 191
6.1.1 Spring 4 MVC核心控制器 191
6.1.2 基於註解的Spring 4 MVC開發 192
6.2 Spring 4 MVC的第 一個登錄測試 193
6.2.1 添加Spring 4 MVC的依賴jar檔案 193
6.2.2 在web.xml中配置核心控制器 193
6.2.3 新建springMVC-servlet.xml配置檔案 193
6.2.4 新建相關的JSP檔案 194
6.2.5 新建控制層Java類檔案 195
6.2.6 部署項目並運行 195
6.2.7 第 一個示例的總結 196
6.2.8 Spring更加方便的參數獲取方法 196
6.3 執行Controller控制層與限制提交的method方式 197
6.3.1 新建控制層ListUsername.java檔案 197
6.3.2 新建登錄及顯示數據的JSP檔案 198
6.3.3 部署項目並測試 199
6.4 解決多人開發路徑可能重複的問題 200
6.4.1 錯誤的情況 200
6.4.2 解決辦法 201
6.5 在控制層中使用指定方式處理get或post提交方式 203
6.5.1 控制層代碼 203
6.5.2 新建JSP檔案並運行 204
6.6 控制層重定向到控制層——無參數傳遞 205
6.6.1 新建控制層Java檔案 205
6.6.2 創建JSP檔案並運行項目 206
6.7 控制層重定向到控制層——有參數傳遞 206
6.7.1 創建兩個控制層Java檔案 207
6.7.2 部署項目並運行 207
6.8 匹配URL路徑執行指定Controller 208
6.8.1 新建控制層檔案 208
6.8.2 部署項目並運行 209
6.9 在伺服器端獲取JSON字元串並解析——方式1 210
6.9.1 在web.xml中配置字元編碼過濾器 210
6.9.2 新建JSP檔案 211
6.9.3 新建控制層Java檔案 212
6.9.4 添加依賴的jar包檔案 212
6.9.5 運行項目 213
6.10 在伺服器端獲取JSON字元串並解析——方式2 213
6.10.1 新建封裝JSON對象屬性的實體類 213
6.10.2 新建控制層 214
6.10.3 在配置檔案中添加註解 214
6.10.4 新建JSP檔案 215
6.10.5 添加jacksonJSON解析處理類庫並運行 215
6.10.6 解析不同格式的JSON字元串示例 216
6.11 將URL中的參數轉成實體的示例 218
6.11.1 新建控制層檔案 218
6.11.2 新建登錄用途的JSP檔案 219
6.11.3 在web.xml中註冊編碼過濾器 219
6.11.4 運行結果 219
6.12 在控制層傳回JSON對象示例 220
6.12.1 新建控制層檔案 220
6.12.2 新建JSP檔案 220
6.12.3 部署項目並運行 222
6.13 在控制層傳回JSON字元串示例 222
6.13.1 新建控制層檔案 222
6.13.2 新建JSP檔案及在配置檔案中註冊utf——8編碼處理 223
6.13.3 運行項目 224
6.14 在控制層獲取HttpServletRequest和HttpServletResponse對象 224
6.14.1 新建控制層 224
6.14.2 JSP檔案中的EL代碼及運行結果 225
6.14.3 直接使用HttpServletResopnse對象輸出回響字元 225
6.15 通過URL參數訪問指定的業務方法 227
6.15.1 新建控制層檔案List.java 227
6.15.2 運行結果 227
6.16 Spring 4 MVC單檔案上傳——寫法1 228
6.16.1 新建控制層 228
6.16.2 在配置檔案springMVC-servlet.xml中聲明上傳請求 229
6.16.3 創建前台JPS檔案 229
6.16.4 運行結果 230
6.17 Spring 4 MVC單檔案上傳——寫法2 230
6.18 Spring 4 MVC多檔案上傳 231
6.18.1 新建控制層及JSP檔案 231
6.18.2 運行結果 232
6.19 Spring 4 MVC支持下載檔案名稱為中文的檔案 232
6.20 控制層返回List對象及實體的結果 233
6.20.1 新建控制層檔案 233
6.20.2 新建JSP檔案 234
6.20.3 更改springMVC-servlet.xml配置檔案 234
6.20.4 運行結果 235
6.21 控制層ModelMap對象 236
6.21.1 新建控制層 236
6.21.2 JSP檔案代碼 236
6.21.3 運行結果 237
6.22 對Spring 4 MVC提交的表單進行手動數據驗證 237
6.22.1 創建控制層檔案 237
6.22.2 創建JSP檔案 238
6.22.3 運行結果 238
第7章 Spring 4 MVC必 備知識 239
7.1 web.xml中的不同配置方法 239
7.1.1 將配置檔案存放於src路徑中 239
7.1.2 指定存放路徑 240
7.1.3 指定多個配置檔案 240
7.2 路徑中添加通配符的功能 241
7.3 Service業務邏輯層在Controller中進行注入 241
7.3.1 新建業務邏輯層 241
7.3.2 創建控制層檔案 242
7.3.3 設計springMVC-servlet.xml配置檔案 242
7.3.4 運行結果 242
7.3.5 多個實現類的情況 243
7.4 對象ModelAndView的使用 244
7.4.1 創建控制層及JSP檔案 244
7.4.2 程式運行結果 244
7.5 控制層返回void數據的情況 245
7.5.1 創建控制層及index.jsp檔案 245
7.5.2 更改配置檔案 246
7.5.3 部署項目並運行程式 246
7.6 使用Spring 4 MVC中的註解來操作HttpSession中的對象 247
7.6.1 創建控制層檔案PutGetSession.java 247
7.6.2 創建顯示不同作用域中值的JSP檔案 247
7.6.3 部署項目並運行程式 248
第8章 Spring 4 MVC+MyBatis 3+Spring 4整合 249
8.1 準備Spring 4的jar包檔案 249
8.2 準備MyBatis的jar包檔案 250
8.3 準備MyBatis 3與Spring 4整合的jar檔案 250
8.4 創建Web項目 250
8.5 配置web.xml檔案 251
8.6 配置springMVC-servlet.xml檔案 252
8.7 配置MyBatis配置檔案 252
8.8 創建MyBatis與映射有關檔案 253
8.9 配置applicationContext.xml檔案 254
8.10 創建DAO對象 255
8.11 創建Service對象 256
8.12 創建Controller對象 257
8.13 測試整合效果 258
8.14 回滾的測試 258
第9章 用Hibernate 4運算元據庫 260
9.1 Hibernate概述與優勢 260
9.2 持久層與持久化與ORM 261
9.3 用MyEclipse開發第 一個Hibernate示例 262
9.3.1 用MyEclipse Database Explorer工具連線Oracle 11g資料庫 263
9.3.2 創建一個支持Hibernate4環境的Web項目 265
9.3.3 對數據表進行Hibernate逆向工程 267
9.3.4 逆向工程後的項目orm結構 270
9.3.5 使用Hibernate進行持久化 273
第 10章 Hibernate 4核心技能 274
10.1 Configuration介紹 274
10.2 SessionFactory介紹 275
10.3 Session介紹 275
10.4 使用Session實現CURD操作 275
10.4.1 Session操作目標表USERINFO 276
10.4.2 逆向工程後的項目結構 276
10.4.3 新建添加記錄的Servlet 277
10.4.4 新建查詢記錄的Servlet 278
10.4.5 新建更改記錄的Servlet 279
10.4.6 新建刪除記錄的Servlet 280
10.5 在Hibernate中使用JNDI技術 281
10.5.1 備份Tomcat/conf路徑下的配置檔案 281
10.5.2 更改配置檔案context.xml 281
10.5.3 更改配置檔案web.xml 281
10.5.4 添加Hibernate框架配置的關鍵步驟 282
10.5.5 逆向工程 282
10.5.6 支持JNDI的hibernate.cfg.xml配置檔案內容 282
10.5.7 創建查詢數據的Servlet 283
10.5.8 部署項目並驗證結果 283
10.6 快取與實體狀態 283
10.6.1 Hibernate的OID與快取 283
10.6.2 Hibernate中的對象狀態:瞬時狀態、持久化狀態和游離狀態 285
10.7 雙向一對多在MyEclipse中的實現 285
10.7.1 創建主表MAIN 285
10.7.2 創建子表SUB 285
10.7.3 添加主外鍵約束對象 286
10.7.4 設定主外鍵關係 286
10.7.5 逆向主從表外鍵關係 287
10.7.6 集合與多對一 288
10.7.7 新建主表main數據 289
10.7.8 新建子表SUB數據 290
10.7.9 刪除子表SUB數據 292
10.7.10 刪除主表MAIN數據 293
10.8 Hibernate備忘知識點 294
10.9 對主從表結構中的HashSet進行排序 295
10.10 Hibernate中延遲載入的調試實驗 295
10.10.1 主從表表結構的設計 295
10.10.2 對省表和市表內容的填充 295
10.10.3 更改映射檔案 295
10.10.4 新建測試用的Servlet對象 296
10.10.5 更改映射檔案Sheng.hbm.xml 296
10.11 Hibernate中對Oracle中CLOB欄位類型的讀處理 297
10.12 Hibernate中的inverse與cascade的測試 297
第 11章 在Hibernate 4中使用HQL語言進行檢索 302
11.1 Hibernate的檢索方式 302
11.2 HQL表別名 305
11.3 HQL對結果進行排序與list()和iterator()方法的區別 306
11.4 HQL索引參數綁定 309
11.5 HQL命名參數綁定與安全性 309
11.6 HQL方法鏈的使用 311
11.7 HQL中的uniqueResult()方法的使用 311
11.8 HQL中的Where子句與查詢條件 312
11.9 HQL中的聚集函式:distinct、count、min、max、sum和avg 314
11.10 HQL中的分組查詢 316
第 12章 Spring 4的AOP和IOC 318
12.1 Spring介紹 318
12.2 Spring架構 318
12.3 IOC的介紹 319
12.4 AOP的介紹 319
12.5 IOC容器 320
12.6 使用傳統方式保存數據功能的測試 320
12.7 使用Spring的IOC方式保存數據功能的測試 321
12.8 BeanFactory與ApplicationContext 327
12.9 Spring的IOC容器的注入類型 327
12.9.1 通過IOC容器注入基本數據類型 327
12.9.2 通過IOC容器注入引用數據類型 330
12.9.3 通過IOC容器注入null類型 330
12.9.4 通過IOC容器注入Properties類型 332
12.9.5 通過IOC容器對構造方法進行注入 333
12.10 Spring中Bean在Singleton和Prototype中的作用域 335
12.11 Spring中注入外部屬性檔案的屬性值 337
12.12 Spring中多個applicationContext.xml配置檔案的使用 339
12.13 AOP的概念與介紹 342
12.13.1 靜態代理的實現 342
12.13.2 動態代理的實現 344
12.14 實現MethodBeforeAdvice接口——方法執行前增強 345
12.15 實現AfterReturningAdvice接口——方法執行後增強 348
12.16 實現MethodInterceptor接口——方法執行前後環繞增強 350
第 13章 Struts 2+Hibernate 4+ Spring 4整合 353
13.1 目的 353
13.2 新建Oracle數據表userinfo 353
13.2.1 新建數據表userinfo 353
13.2.2 創建序列對象 354
13.3 新建整合用的Web項目 354
13.4 添加Struts 2框架支持環境 354
13.4.1 添加Struts 2框架 354
13.4.2 在web.xml檔案中註冊Struts 2的過濾器 355
13.4.3 在項目的src下創建struts.xml配置檔案 355
13.4.4 添加Struts 2框架後的項目檔案結構圖 356
13.5 添加Hibernate Database Explorer資料庫連線 356
13.6 添加Hibernate 4框架支持 357
13.7 添加Spring 4框架支持檔案 357
13.8 創建的applicationContext.xml檔案 358
13.9 在web.xml檔案中添加Spring的utf-8編碼過濾器和Spring監聽器 359
13.10 添加Spring 4框架後的Web項目結構 360
13.11 對Oracle 11g數據表userinfo進行Hibernate逆向工程 361
13.12 創建Hibernate 4的DAO類 362
13.13 創建All_DAO對象 363
13.14 創建UserinfoService.java服務對象 364
13.15 創建AllService服務對象 364
13.16 繼續更改applicationContext.xml和hibernate.cfg.xml 365
13.17 新建自定義action的父類BaseAction 367
13.18 新建操作userinfo表中數據的Action 367
13.19 在applicationContext.xml中配置/base和/test 368
13.20 部署到Tomcat容器 370
第 14章 有狀態/無狀態會話Bean和訊息驅動Bean 373
14.1 EJB3概述 373
14.1.1 Java EE體系結構 374
14.1.2 容器的概念 374
14.2 有狀態會話Bean和無狀態會話Bean 375
14.2.1 會話Bean的作用 375
14.2.2 會話Bean的種類 375
14.2.3 在MyEclipse中無狀態會話Bean的創建 376
14.2.4 用Web方式調用本地SayHello接口 390
14.2.5 本地和遠程無狀態會話Bean的區別 394
14.2.6 EJB組件接口無註解時的默認情況 395
14.2.7 調用遠程類型的無狀態會話Bean 396
14.2.8 無狀態會話Bean的回調函式和生命周期 401
14.2.9 無狀態會話Bean實例變數值保留的問題與無狀態會話Bean實例池 404
14.2.10 有狀態會話Bean 409
14.2.11 有狀態會話Bean的創建與狀態特性 409
14.2.12 將遠程無狀態會話Bean共享的服務重命名 416
14.2.13 使用註解聲明會話Bean的第 2種寫法 418
14.2.14 有狀態會話Bean的鈍化與激活 419
14.2.15 有狀態會話Bean的回調函式和生命周期 420
14.2.16 有狀態會話Bean的@Remove回調函式的使用 425
14.2.17 注入其他本地類型的EJB對象 428
14.3 訊息驅動Java Bean(MDB)和在WebLogic中創建訊息目的 430
14.3.1 創建持久性存儲對象 431
14.3.2 創建JMS伺服器 433
14.3.3 創建JMS模組 435
14.3.4 在JMS模組中創建子部署 437
14.3.5 在JMS模組中創建資源 439
14.3.6 點對點式訊息驅動Java Bean 441
14.3.7 發布-訂閱式訊息驅動Java Bean 445
14.4 Web Service與在EJB3中創建基於Web Service的業務服務 450
14.5 計時器與作業調度 463
第 15章 實體Bean 466
15.1 實體Bean概述 466
15.2 持久層、持久化與ORM 466
15.2.1 在WebLogic的JNDI樹中創建節點與對象 469
15.2.2 在WebLogic的JNDI樹中創建子節點 475
15.2.3 在WebLogic的JNDI樹中查找節點 477
15.2.4 在WebLogic的JNDI樹中刪除節點 478
15.3 從保存記錄開始 479
15.3.1 安裝Oracle11g資料庫 479
15.3.2 使用Toad管理Oracle資料庫 479
15.3.3 使用MyEclipse Database Explorer工具連線Oracle11G資料庫 486
15.3.4 創建EJB3項目 489
15.3.5 更改實體的主鍵與序列映射 492
15.3.6 創建調用外觀的Serlvet 493
15.3.7 更改persistence.xml配置檔案 493
15.3.8 KODO的簡要介紹 494
15.3.9 部署到WebLogic中並且運行 494
15.3.10 使用JPA技術向Oracle 11g資料庫成功添加記錄 494
15.3.11 改成JNDI連線池的示例 495
15.4 解析實體類所使用的註解 501
15.5 在SQL 2005資料庫中插入記錄 501
15.6 在MySQL資料庫中插入記錄 504
15.7 使用表在Oracle資料庫中生成主鍵 505
15.8 使用EJB3在Oracle中插入Date時間類型 508
15.9 處理CLOB數據類型 510
15.10 在WebLogic中實現JDBC+JNDI全局性分散式事務實驗 510
15.10.1 JTA和2PC的概述 510
15.10.2 進入WebLogic控制台 511
15.10.3 配置數據源名稱 511
15.10.4 配置數據源屬性 512
15.10.5 設定數據源連線資料庫的詳細信息 513
15.10.6 測試是否連線到資料庫 513
15.10.7 將數據源歸屬到AdminServer伺服器 514
15.10.8 新建名為b_jndi的數據源 514
15.10.9 數據源列表 514
15.10.10 SQL在正確的情況下實現多數據源提交事務 515
15.10.11 SQL在錯誤的情況下實現多數據源回滾事務 518
第 16章 JPA核心技能 521
16.1 EntityManager類的概述 521
16.1.1 實體類的狀態 522
16.1.2 EJB3中的事務 522
16.2 EntityManager類的方法使用 522
16.2.1 persist(Object)方法 525
16.2.2 merge(T)方法和find(Class, Object)方法 526
16.2.3 remove(Object)方法 528
16.2.4 getReference(Class, Object)方法 530
16.2.5 createNativeQuery()方法 533
16.2.6 close()和isOpen()方法 538
16.2.7 refresh(Object)方法 538
16.2.8 clear()和contains(Object)方法 542
16.2.9 createQuery(String)方法 543
16.2.10 createNamedQuery(String)方法 545
16.3 EntityManagerFactory對象介紹 546
16.4 用Java SE客戶端調用遠程EJB3組件(使用逆向DAO) 547
16.5 在Java SE客戶端使用EntityManagerFactory實現持久化(手動配置) 550
16.6 在Java SE客戶端使用EntityManagerFactory實現持久化(自動配置) 552
16.7 在會話Bean中生成EntityManagerFactory 557
16.8 雙向一對多的CURD實戰 559
16.8.1 新建數據表Sheng 559
16.8.2 新建數據表Shi 559
16.8.3 配置主從鍵約束關係 559
16.8.4 創建企業項目 561
16.8.5 逆向EJB實體 561
16.8.6 添加主鍵生成策略的註解 562
16.8.7 配置persistence.xml檔案 563
16.8.8 persistence.xml配置檔案再次提醒 563
16.8.9 生成的Sheng.java和Shi.java代碼引用 563
16.8.10 創建Sheng的Servlet 564
16.8.11 創建Shi的Servlet 565
16.8.12 更新Sheng的Servlet 566
16.8.13 更新Shi的Servlet 566
16.8.14 刪除沒有市的省 571
16.8.15 刪除有市的省 571
第 17章 JPQL必 備技能 573
17.1 JPQL介紹 573
17.2 命名參數和索引式參數及實體參數式查詢 573
17.2.1 參數索引式查詢 574
17.2.2 命名式參數查詢 575
17.2.3 為實現主從關聯示例創建sheng表和shi表 576
17.2.4 sheng表和shi表兩種關聯查詢的方式 577
17.3 JPQL支持的運算符 578
17.3.1 +、-、*、/、=、>=、>、<、<=、<>、between、like、in運算符的使用 578
17.3.2 not運算符的使用 581
17.3.3 is null運算符的使用 582
17.3.4 is empty運算符的使用 582
17.4 order by的使用 583
17.5 查詢指定欄位的示例 584
17.6 聚合函式avg、count、max、min、sum的使用 586
17.7 group by和having的使用 587
17.8 左外連線的使用 588
17.9 通過distinct去除重複記錄 590
17.10 JPQL的字元串操作函式 590
17.11 通過JPQL取得當前的日期和日期時間 594
17.12 JPQL語言對日期的判斷 595
17.13 JPQL的數學函式 598
17.14 JPQL中的分頁功能 599
第 18章 FreeMarker模板引擎的使用 600
18.1 輸出8種簡單數據類型 600
18.2 簡單數據類型的計算 603
18.3 輸出複雜數據類型——數組 604
18.4 輸出集合對象——List 605
18.5 輸出集合對象——Set 606
18.6 輸出集合對象——Map 606
18.7 輸出嵌套類型——List中有Map 607
18.8 輸出嵌套類型——Map中有List 608
18.9 判斷#if和#else標籤的使用 609
18.10 輸出實體類的屬性及boolean類型注意事項 609
18.11 FreeMarker中的注釋 611
18.12 FreeMarker中的導入 611
18.13 FreeMarker中對不存在的變數或null值的處理 612

相關詞條

熱門詞條

聯絡我們