內容介紹
《Java EE企業級架構開發技術與案例教程》將帶領讀者進入JavaEE技術世界,由淺人深地學習各項知識。JavaEE是目前最為流行的主流技術之一,全書共8章,主要內容包括:JavaEE概述、JavaWeb套用開發基礎、MVC框架技術Struts2、持久化技術JPA、輕量級框架Spring、EJB架構、JavaServerFaces技術、基於EJB架構的論壇系統設計等。
《Java EE企業級架構開發技術與案例教程》適合作為大中專院校計算機及其相關專業的教材或參考書,也適合軟體開發人員及其他有關人員作為技術參考書。
目錄信息
出版者的話
叢書序言
叢書編委會
前言
第1章 Java EE概述 1
1.1 Java EE簡介 1
1.1.1 Java EE框架的產生 1
1.1.2 什麼是Java EE 2
1.1.3 Java EE 規範新概念 3
1.1.4 Java EE 常用技術 4
1.2 搭建Java EE開發環境 5
1.2.1 安裝JSEDK 5
1.2.2 安裝Java EE開發工具 6
1.2.3 安裝MySQL 8
1.2.4 安裝GlassFish 13
1.3 Java EE套用中的分層架構 15
1.3.1 分層架構模式 16
1.3.2 Java EE中的三層結構 17
1.3.3 結合MVC模式的分層結構 17
1.3.4 案例1-1 網路書城系統分析與設計 17
本章小結 27
習題 27
第2章 Java Web套用開發基礎 28
2.1 JDBC技術 28
2.1.1 JDBC簡介 28
2.1.2 JDBC訪問資料庫的基本步驟 29
2.1.3 案例2-1 網路書城系統數據訪問層的實現 29
2.1.4 JDBC數據源與連線池 33
2.2 Servlet技術 36
2.2.1 什麼是Servlet 36
2.2.2 如何建立Servlet 36
2.2.3 案例2-2 建立超級管理員登錄Servlet 37
2.2.4 Servlet的配置 40
2.2.5 轉發和重定向 40
2.2.6 處理請求和回響 41
2.2.7 案例2-3 使用Servlet實現驗證碼 43
2.3 過濾器和監聽器 45
2.3.1 過濾器Filter 45
2.3.2 案例2-4 設計一個編碼過濾器 45
2.3.3 監聽器Listener 47
2.3.4 Servlet上下文與會話 48
2.3.5 案例2-5 統計訪問人數和線上人數 49
2.4 JSP、標籤和表達式語言 51
2.4.1 JSP概述 51
2.4.2 JSP隱含對象 52
2.4.3 自定義標籤的設計與使用 53
2.4.4 案例2-6 設計圖書分類標籤 53
2.4.5 表達式語言EL和標準標籤庫JSTL 56
2.4.6 案例2-7 實現圖書分類的管理 60
本章小結 64
習題 64
第3章 MVC框架技術Struts2 65
3.1 Struts2概述 65
3.1.1 Struts框架的歷史 65
3.1.2 Struts2 下載與配置 66
3.1.3 案例3-1 使用Struts2實現客戶登錄 67
3.1.4 Struts2的MVC原理 70
3.1.5 Struts2組件 71
3.1.6 Struts2的中文亂碼問題 73
3.2 Action與結果類型 73
3.2.1 Action的實現類 73
3.2.2 在Action中訪問Web對象 76
3.2.3 多方法的Action 76
3.2.4 result類型 77
3.3 輸入驗證 79
3.3.1 使用validate()方法 79
3.3.2 使用驗證檔案驗證 80
3.3.3 案例3-2 實現客戶登錄和註冊驗證(使用配置檔案驗證) 82
3.4 Struts2國際化、標籤庫和OGNL表達式 86
3.4.1 Struts2國際化 86
3.4.2 常用Struts2標籤 87
3.4.3 Struts2的OGNL 90
3.5 攔截器、檔案上傳和下載 91
3.5.1 攔截器 91
3.5.2 檔案上傳和下載 93
3.5.3 案例3-3 實現圖書的添加 95
本章小結 99
習題 100
第4章 持久化技術JPA 101
4.1 JPA概述 101
4.1.1 JPA及其優勢 101
4.1.2 Hibernate JPA 102
4.1.3 實體與實體管理器 103
4.1.4 持久性單元 106
4.1.5 案例4-1 在書城項目中配置Hibernate JPA 107
4.2 實體對象映射 108
4.2.1 實體映射基礎 108
4.2.2 主鍵映射 110
4.2.3 映射特殊類型 111
4.2.4 案例4-2 書城項目中客戶實體類的設計 112
4.3 實體關係映射 115
4.3.1 實體關係概述 115
4.3.2 一對一映射 115
4.3.3 一對多映射 118
4.3.4 多對一映射 119
4.3.5 案例4-3 書城項目的其他實體類設計 121
4.4 實體操作與事務管理 123
4.4.1 JPA實體操作 123
4.4.2 JPA查詢 125
4.4.3 JPA事務管理 128
4.4.4 輔助類設計 129
4.4.5 案例4-4 基於JPA的書城Dao設計 130
本章小結 133
習題 133
第5章 輕量級框架Spring 135
5.1 Spring基礎 135
5.1.1 Spring框架 135
5.1.2 Spring控制反轉IoC 136
5.1.3 Bean的配置與BeanFactory 139
5.1.4 案例5-1 在書城項目中使用Spring 140
5.2 Spring的AOP 144
5.2.1 AOP的概念 144
5.2.2 使用Spring中的AOP 146
5.2.3 基於XML Schema和Annotation的Spring AOP配置 150
5.2.4 案例5-2 書城項目中的日誌實現 151
5.3 Spring集成其他框架 152
5.3.1 Spring與Struts2集成 152
5.3.2 Spring與JPA集成 152
5.3.3 SSHJ架構 156
5.3.4 案例5-3 基於SSHJ架構的書城項目配置 156
5.4 Spring事務管理與任務調度 157
5.4.1 事務的基本配置 157
5.4.2 事務的傳播屬性 158
5.4.3 使用aop及tx標籤配置事務 160
5.4.4 使用標註配置事務 160
5.4.5 任務調度 161
5.4.6 案例5-4 書城項目中事務和任務調度的配置 162
本章小結 164
習題 165
第6章 EJB架構 166
6.1 EJB概述 166
6.1.1 什麼是EJB 166
6.1.2 EJB組件類型 167
6.1.3 EJB中的依賴注入 168
6.1.4 案例6-1 使用NetBeans
創建企業級書城項目 169
6.2 無狀態會話Bean 171
6.2.1 創建無狀態會話Bean 171
6.2.2 訪問無狀態會話Bean 172
6.2.3 案例6-2 創建書城的無狀態會話Bean 173
6.3 有狀態會話Bean 176
6.3.1 創建有狀態會話Bean 176
6.3.2 會話Bean的生命周期 176
6.3.3 案例6-3 書城的購物車會話Bean 178
6.4 單例會話Bean、計時器Bean 和訊息驅動Bean 180
6.4.1 單例會話Bean 180
6.4.2 計時器Bean 182
6.4.3 JMS與訊息驅動Bean 183
6.4.4 案例6-4 書城項目中的訂單訊息驅動Bean 187
6.5 EJB中的攔截器和安全域 190
6.5.1 EJB中的攔截器 190
6.5.2 驗證、授權與登錄驗證 193
6.5.3 案例6-5 基於安全域實現書城項目的管理員登錄驗證 194
本章小結 198
習題 198
第7章 JavaServer Faces技術 199
7.1 JSF概述 199
7.1.1 什麼是JSF 199
7.1.2 JSF的優勢 200
7.1.3 JSF套用的組成 200
7.1.4 模板頁面與適配頁面 205
7.1.5 案例7-1 在書城項目中使用JSF 207
7.2 JSF表達式語言與標籤 211
7.2.1 JSF表達式語言 211
7.2.2 JSF的HTML標籤 212
7.2.3 JSF核心標籤 216
7.2.4 案例7-2 書城客戶註冊功能實現 217
7.3 JSF數據傳遞方法 218
7.3.1 從JSF頁面傳遞參數給受管Bean 218
7.3.2 在請求之間傳遞對象 219
7.3.3 在受管Bean之間通信 220
7.4 數據類型轉換與驗證 220
7.4.1 標準轉換器 220
7.4.2 自定義轉換器 221
7.4.3 標準驗證器 223
7.4.4 自定義驗證器 224
7.4.5 案例7-3 為客戶註冊頁增加驗證功能 225
7.5 訊息處理與國際化支持 227
7.5.1 訊息處理 227
7.5.2 國際化支持 228
7.6 JSF生命周期與事件處理 231
7.6.1 JSF生命周期 231
7.6.2 Phase事件與JSF監聽器 232
7.6.3 動作事件 233
7.6.4 即時事件 233
7.6.5 值變事件 234
本章小結 235
習題 236
第8章 基於EJB架構的論壇系統設計 237
8.1 系統分析與設計 237
8.1.1 系統分析 237
8.1.2 總體設計 237
8.1.3 實體類(數據模型)設計 240
8.1.4 接口設計 244
8.2 數據訪問層實現 246
8.2.1 BaseDao實現 246
8.2.2 BbsUserDao實現 248
8.2.3 BbsLoginDao實現 248
8.2.4 BbsForumDao實現 249
8.2.5 BbsThemeDao實現 249
8.2.6 BbsMessageDao實現 249
8.3 業務邏輯層實現 250
8.3.1 BbsUserService實現 250
8.3.2 BbsLoginService實現 250
8.3.3 BbsForumService實現 251
8.3.4 BbsThemeService實現 251
8.3.5 BbsMessageService實現 252
8.4 系統配置 253
8.4.1 連線池和數據源配置 253
8.4.2 持久化單元配置 253
8.4.3 引入JSF框架 253
8.4.4 安全驗證配置 254
8.5 控制層實現 257
8.5.1 控制層基類 257
8.5.2 版塊控制類 259
8.5.3 主題控制類 260
8.5.4 帖子控制類 263
8.5.5 用戶控制類 265
8.6 視圖層設計 268
8.6.1 界面的總體設計 268
8.6.2 主題視圖設計 272
8.6.3 帖子視圖設計 276
8.6.4 用戶視圖設計 280
本章小結 284
習題 284
參考文獻 285