內容簡介
本書內容主要包含實用教程、實驗指導和綜合套用實習三部分,實用教程部分首先介紹Java EE 開發環境構建,並通過一個簡單的Java EE 程式介紹開發過程、簡單調試方法,以了解大致過程;其次系統介紹Struts 2 基礎、Struts 2 標籤庫、Struts 2 類型轉換及輸入校驗、Struts 2 攔截器、Struts 2 的其他套用,通過綜合套用案例把Struts 2 的相關內容串起來;再次介紹Hibernate 基礎、Hibernate 映射機制、Hibernate 對持久化對象的操作、Hibernate 高級特性,通過套用案例整合Hibernate 與Struts 2;最後介紹Spring 基礎、Spring 的AOP及事務支持、Spring 的其他功能,通過案例用Spring 整合各種Java EE 框架,案例分別採用Spring 與Struts 2 整合、Spring 與Hibernate 整合、Spring 與Struts 2 和Hibernate 整合的方法,讀者可以清楚地進行對比。習題主要用於強化基本概念。實驗指導部分著重訓練學生的動手能力,訓練內容仍然是實用教程部分的實例。綜合套用實習部分介紹學生成績管理系統。本書免費提供教學課件、程式原始碼和沒有衝突的Jar 包。
圖書目錄
第1 部分 實用教程
第1 章 Java EE 開發平台及開發基礎 1
1.1 Java EE 的開發方式 1
1.2 Java EE 開發環境構建 2
1.2.1 軟體的安裝 2
1.2.2 整合開發環境 6
1.3 Java EE 開發入門 9
1.3.1 MyEclipse 集成開發環境 9
1.3.2 一個簡單的Java EE 程式 12
1.3.3 Java EE 程式的簡單調試 22
1.3.4 管理Java EE 項目 25
習題1 27
第2 章 Struts 2 基礎 28
2.1 Struts 2 框架開發入門 28
2.1.1 MVC 基本思想 28
2.1.2 MVC 實現方式 29
2.1.3 簡單Struts 2 開發 30
2.2 Struts 2 原理及工作流程 34
2.2.1 Struts 2 工作原理 34
2.2.2 Struts 2 項目運行流程 35
2.3 解密Struts 2 程式檔案 36
2.3.1 Action 類套用詳解 36
2.3.2 配置詳解 40
2.3.3 配置詳解 42
2.3.4 配置詳解 45
2.3.5 struts.xml 檔案 47
2.3.6 struts.properties 檔案 49
2.3.7 web.xml 檔案 51
習題2 53
第3 章 Struts 2 標籤庫 54
3.1 Struts 2 的OGNL 54
3.2 Struts 2 的標籤庫 56
3.2.1 數據標籤 56
3.2.2 控制標籤 65
3.2.3 表單標籤 72
3.2.4 非表單標籤 81
習題3 82
第4 章 Struts 2 類型轉換及輸入校驗 83
4.1 Struts 2 內置類型轉換器 83
4.1.1 常用類型轉換器 83
4.1.2 內置轉換器的使用 83
4.2 自定義類型轉換器 86
4.2.1 繼承DefaultTypeConverter類實現轉換器 86
4.2.2 繼承StrutsTypeConverter 類實現轉換器 89
4.3 數組和集合類型的轉換 91
4.3.1 數組類型轉換器 91
4.3.2 集合類型轉換器 93
4.4 Struts 2 輸入校驗 94
4.4.1 使用execute()方法校驗 96
4.4.2 重寫validate()方法校驗 97
4.4.3 使用Struts 2 校驗框架 97
4.4.4 客戶端校驗 100
習題4 101
第5 章 Struts 2 攔截器 102
5.1 攔截器概述 102
5.2 攔截器的配置 104
5.3 自定義攔截器 107
5.3.1 攔截器實現類 107
5.3.2 自定義攔截器的使用 108
5.3.3 攔截器套用 109
習題5 111
第6 章 Struts 2 的其他套用 112
6.1 Struts 2 檔案上傳 112
6.1.1 單檔案上傳 112
6.1.2 多檔案上傳 114
6.2 Struts 2 檔案下載 116
6.3 Struts 2 國際化套用 118
6.3.1 國際化原理及資源檔案 118
6.3.2 資源檔案的訪問方式 119
6.3.3 國際化套用實例 120
習題6 123
第7 章 Struts 2 綜合套用案例 124
7.1 “圖書管理系統”主界面設計 124
7.1.1 頭部設計 124
7.1.2 整體設計 126
7.2 增加驗證的“登錄”功能 128
7.3 實現“借書”功能 130
7.3.1 總體界面設計 130
7.3.2 查詢已借圖書 133
7.3.3 “借書”功能 141
7.4 實現“圖書管理”功能 146
7.4.1 總體界面設計 146
7.4.2 “圖書追加”功能 148
7.4.3 “圖書刪除”功能 154
7.4.4 “圖書查詢”功能 156
7.4.5 “圖書修改”功能 157
習題7 158
第8 章 Hibernate 基礎 159
8.1 ORM 簡介 159
8.2 第一個Hibernate 程式 159
8.3 Hibernate 各種檔案的作用 166
8.3.1 POJO 類及其映射檔案 166
8.3.2 Hibernate 核心配置檔案 168
8.3.3 HibernateSessionFactory 類 168
8.4 Hibernate 工作流程 171
8.5 Hibernate 核心接口 171
8.5.1 Configuration 接口 172
8.5.2 SessionFactory 接口 172
8.5.3 Session 接口 172
8.5.4 Transaction 接口 172
8.5.5 Query 接口 173
習題8 173
第9 章 Hibernate 映射機制 174
9.1 主鍵映射 174
9.1.1 代理主鍵的映射 174
9.1.2 單個自然主鍵的映射 176
9.1.3 複合自然主鍵的映射 176
9.2 數據類型映射 180
9.3 對象關係映射 181
9.3.1 繼承關係映射 181
9.3.2 關聯關係映射 190
9.4 動態類的使用 202
習題9 204
第10 章 Hibernate 對持久化對象的操作 205
10.1 操作持久化對象的常用方法 205
10.1.1 save()方法 205
10.1.2 get()和load()方法 205
10.1.3 update()方法 206
10.1.4 delete()方法 206
10.1.5 saveOrUpdate()方法 206
10.2 HQL 查詢 207
10.2.1 基本查詢 207
10.2.2 條件查詢 208
10.2.3 分頁查詢 209
10.2.4 連線查詢 209
10.2.5 子查詢 210
10.2.6 SQL 查詢 211
10.3 Hibernate 的批量操作 214
10.3.1 批量插入 214
10.3.2 批量更新 215
10.3.3 批量刪除 216
10.4 持久對象的生命周期 216
習題10 218
第11 章 Hibernate 高級特性 219
11.1 Hibernate 事務管理 219
11.1.1 事務的概念 219
11.1.2 Hibernate 的事務 219
11.2 Hibernate 並發處理 221
11.2.1 並發產生的問題 221
11.2.2 解決方案 223
11.3 Hibernate 的攔截器 224
11.3.1 Interceptor 接口 224
11.3.2 套用舉例 226
習題11 228
第12 章 Hibernate 與Struts 2 整合套用案例 229
12.1 Hibernate 與Struts 2 系統的整合 229
12.2 添加Hibernate 及開發持久層 230
12.3 功能實現 240
12.3.1 “登錄”功能的實現 241
12.3.2 “查詢已借圖書”功能的實現 242
12.3.3 “借書”功能的實現 244
12.3.4 “圖書管理”功能的實現 246
習題12 249
第13 章 Spring 基礎 250
13.1 Spring 開發入門 250
13.1.1 Spring 概述 250
13.1.2 Spring 簡單套用 251
13.2 Spring 的核心機制——依賴注入 254
13.2.1 依賴注入的概念 254
13.2.2 依賴注入的兩種方式 257
13.3 Spring 容器中的Bean 259
13.3.1 Bean 的定義 259
13.3.2 Bean 的基本屬性 259
13.3.3 Bean 的生命周期 262
13.3.4 Bean 的管理 265
13.3.5 Bean 的依賴關係 267
13.3.6 Bean 的自動裝配 268
13.4 Spring 對集合屬性的注入 270
13.4.1 對List 的注入 270
13.4.2 對Set 的注入 271
13.4.3 對Map 的注入 272
13.5 Spring 後處理器 273
13.5.1 Bean 後處理器 273
13.5.2 容器後處理器 274
習題13 276
第14 章 Spring 的AOP 及事務支持 277
14.1 Spring 的AOP 277
14.1.1 代理機制 277
14.1.2 AOP 的術語與概念 281
14.1.3 Spring 1.x 的AOP 支持 282
14.1.4 Spring 2.x 的AOP 支持 290
14.2 Spring 的事務支持 297
14.2.1 使用TransactionProxyFactoryBean 生成事務代理 298
14.2.2 利用繼承簡化配置 299
14.2.3 用BeanNameAutoProxyCreator自動創建事務代理 301
14.2.4 用DefaultAdvisorAutoProxyCreator 自動創建事務代理 302
習題14 303
第15 章 Spring 的其他功能 304
15.1 Spring 的Web 框架 304
15.1.1 第一個Spring 的MVC套用 304
15.1.2 Spring MVC 的控制器 308
15.1.3 Spring MVC 的分發器 312
15.1.4 數據綁定 313
15.1.5 Validator 套用 318
15.2 定時器的套用 319
15.2.1 使用程式直接啟動方式 319
15.2.2 使用Web 監聽方式 320
15.2.3 Spring 定製定時器· 321
習題15 322
第16 章 用Spring 整合各種Java EE框架 323
16.1 Spring 與Struts 2 整合 323
16.1.1 整合原理 323
16.1.2 套用實例 323
16.2 Spring 與Hibernate 整合 325
16.2.1 整合原理 325
16.2.2 套用實例 325
16.3 Spring 與Struts 2、Hibernate三者的整合 335
16.3.1 整合原理 335
16.3.2 項目架構 335
16.3.3 修改DAO 實現類 336
16.3.4 編寫業務邏輯接口及實現類 342
16.3.5 “登錄”功能的實現 345
16.3.6 “查詢已借圖書”功能的實現 347
16.3.7 “借書”功能的實現 349
16.3.8 “圖書管理”功能的實現 351
習題16 355
第2 部分 實驗指導
實驗1 Struts 2 基礎套用 356
實驗目的 356
實驗內容 356
思考與練習 357
實驗2 Struts 2 綜合套用 357
實驗目的 357
實驗內容 357
思考與練習 358
實驗3 Hibernate 基礎套用 359
實驗目的 359
實驗內容 359
思考與練習 359
實驗4 Hibernate 與Struts 2 整合套用 359
實驗目的 359
實驗內容 359
思考與練習 359
實驗5 Spring 基礎套用 360
實驗目的 360
實驗內容 360
思考與練習 360
實驗6 Spring AOP 套用 360
實驗目的 360
實驗內容 360
思考與練習 360
實驗7 Spring 與Struts 2 整合套用 361
實驗目的 361
實驗內容 361
思考與練習 361
實驗8 Spring 與Hibernate 整合套用 361
實驗目的 361
實驗內容 361
思考與練習 361
實驗9 Struts 2、Hibernate、Spring整合套用 361
實驗目的 361
實驗內容 362
思考與練習 362
第3 部分 綜合套用實習
實習1 學生成績管理系統 363
P1.1 資料庫準備 363
P1.2 Java EE 系統分層架構 364
P1.2.1 分層模型 364
P1.2.2 多框架整合實施方案 365
P1.3 搭建項目總體框架 366
P1.4 持久層開發 367
P1.4.1 生成POJO 類及映射 367
P1.4.2 實現DAO 接口組件 370
P1.5 業務層開發 378
P1.5.1 系統登錄功能用Service 378
P1.5.2 學生信息管理功能用Service 378
P1.5.3 學生成績管理功能用Service 381
P1.6 表示層開發 383
P1.6.1 通用功能實現 383
P1.6.2 “學生信息管理”功能實現 391
P1.6.3 “學生成績管理”功能實現 404
附錄A SQL Server 2008/2012 圖書管理系統資料庫 413
A.1 登錄表 413
A.2 讀者信息表 413
A.3 圖書信息表 413
A.4 借閱信息表 414