第1章 走進Java EE 1
1.1 引言 1
1.2 為什麼需要Java EE 1
1.2.1 企業級應用特徵 1
1.2.2 企業級應用架構體係 2
1.3 什麼是Java EE 3
1.4 Java EE設計思想 4
1.4.1 容器 4
1.4.2 組件 5
1.4.3 容器與組件的交互 5
1.5 Java EE 技術架構 5
1.5.1 組件技術 5
1.5.2 服務技術 7
1.5.3 通信技術 8
1.5.4 框架技術 9
1.6 Java EE核心開發模式 9
1.7 Java EE優點 10
1.8 小結 11
第2章 搭建開發環境 12
2.1 引言 12
2.2 安裝JDK 12
2.3 安裝NetBeans IDE 13
2.4 測試開發環境 14
2.5 小結 16
第3章 基於JSF構建錶示邏輯層 17
3.1 引言 17
3.2 什麼是JSF 17
3.2.1 什麼是框架 17
3.2.2 為什麼需要框架 17
3.2.3 JSF是什麼樣的框架 18
3.2.4 為什麼學習JSF 19
3.3 第一個JSF應用 19
3.3.1 創建JSF項目 19
3.3.2 模型組件 21
3.3.3 視圖組件 22
3.3.4 控製組件 22
3.3.5 運行演示 23
3.3.6 總結思考 23
3.4 利用JSF組件構建視圖 24
3.4.1 JSF標記庫 24
3.4.2 HTML標記 25
3.4.3 Core標記 39
3.4.4 使用JSTL標記 40
3.5 在視圖中訪問Web資源 41
3.6 利用頁麵模闆提高視圖可維護性 43
3.6.1 布局 43
3.6.2 裝飾 48
3.7 利用Managed Bean封裝業務邏輯 51
3.7.1 定義Managed Bean 51
3.7.2 生命周期範圍 53
3.7.3 Bean之間的依賴 56
3.7.4 生命周期迴調方法 58
3.8 使用EL訪問服務器端數據 59
3.8.1 範圍 59
3.8.2 訪問對象 59
3.8.3 值錶達式和方法錶達式 60
3.8.4 延遲計算 61
3.9 實現靈活的導航控製 61
3.9.1 視圖ID 61
3.9.2 利用Post請求實現導航 62
3.9.3 導航約定 66
3.9.4 導航規則 67
3.9.5 重定嚮 69
3.9.6 利用Get請求實現導航 71
3.9.7 JSF框架外導航 74
3.9.8 導航中的參數傳遞 74
3.9.9 導航總結 77
3.10 實現國際化支持 77
3.10.1 準備資源包 77
3.10.2 配置資源包 79
3.10.3 在JSF視圖中使用資源 79
3.10.4 設置應用程序本地屬性 80
3.11 使用Ajax獲得更好的用戶體驗 81
3.12 小結 83
第4章 擴展JSF 84
4.1 引言 84
4.2 JSF請求處理過程 84
4.2.1 常規流程 84
4.2.2 示例分析 85
4.2.3 特殊流程 88
4.2.4 異常處理 89
4.2.5 總結思考 92
4.3 利用監聽器實現事件處理 93
4.3.1 Value Change事件 93
4.3.2 Action事件 96
4.3.3 Phase事件 98
4.3.4 System事件 99
4.4 自定義類型轉換 101
4.4.1 標準轉換器 102
4.4.2 自定義轉換器 102
4.5 自定義輸入校驗 105
4.5.1 標準校驗器 105
4.5.2 自定義校驗器 106
4.5.3 Bean方法校驗 107
4.5.4 異常信息本地化 108
4.6 自定義復閤組件 108
4.6.1 復閤組件標記庫 108
4.6.2 定製簡單的復閤組件 109
4.6.3 開發復雜的復閤組件 111
4.7 自定義非UI組件 116
4.8 自定義UI組件 119
4.8.1 創建一個簡單的UI組件 119
4.8.2 利用屬性控製自定義組件行為 121
4.8.3 使用單獨的渲染器 123
4.8.4 獲取用戶輸入信息 125
4.8.5 保存組件狀態 127
4.9 使用第三方組件 129
4.10 小結 130
第5章 利用Servlet處理復雜Web請求 131
5.1 引言 131
5.2 Servlet基礎 131
5.2.1 什麼是Servlet 131
5.2.2 Servlet工作流程 131
5.2.3 Servlet API 132
5.3 第一個Servlet 133
5.4 處理請求 138
5.5 生成響應 141
5.6 在JSF應用中處理非JSF請求 142
5.7 支撐自定義JSF組件 146
5.8 利用Filter過濾請求 149
5.9 小結 152
第6章 利用JPA訪問企業信息 153
6.1 引言 153
6.2 數據庫驅動與JDBC 153
6.3 連接池和數據源 154
6.3.1 基本概念 154
6.3.2 創建MySQL連接池 156
6.3.3 創建數據源 157
6.4 第一個JPA應用 158
6.4.1 持久化單元 158
6.4.2 Entity 159
6.4.3 EntityManager 161
6.4.4 運行演示 162
6.5 ORM 163
6.5.1 Entity 163
6.5.2 主鍵 164
6.5.3 復閤主鍵 164
6.5.4 屬性 167
6.5.5 關聯映射 170
6.5.6 加載方式 173
6.5.7 順序 174
6.5.8 繼承映射 174
6.6 Entity管理 175
6.6.1 獲取EntityManager 175
6.6.2 持久化上下文 176
6.6.3 Entity操作 176
6.6.4 級聯操作 183
6.7 JPQL 184
6.7.1 動態查詢 185
6.7.2 參數設置 186
6.7.3 命名查詢 186
6.7.4 屬性查詢 187
6.7.5 使用構造器 187
6.8 基於Criteria API的安全查詢 188
6.9 緩存 190
6.10 並發控製 192
6.11 生命周期迴調方法 194
6.12 小結 195
第7章 使用會話Bean實現業務邏輯 196
7.1 引言 196
7.2 EJB基礎 196
7.2.1 為什麼需要EJB 196
7.2.2 EJB容器 197
7.2.3 EJB組件 198
7.2.4 EJB接口 199
7.2.5 EJB分類 199
7.2.6 部署EJB 200
7.2.7 EJB優點 200
7.3 無狀態會話Bean 200
7.3.1 什麼是無狀態會話Bean 201
7.3.2 開發一個無狀態會話Bean 202
7.3.3 利用Servlet測試無狀態會話Bean 205
7.3.4 利用遠程客戶端測試無狀態會話Bean 207
7.4 有狀態會話Bean 208
7.4.1 基本原理 208
7.4.2 實現有狀態會話Bean 209
7.5 單例會話Bean 213
7.5.1 基本原理 213
7.5.2 利用JSF訪問單例會話Bean 213
7.5.3 並發控製 215
7.5.4 依賴管理 216
7.6 Time服務 217
7.7 攔截器 219
7.8 事務支持 221
7.9 異步方法 222
7.10 小結 227
第8章 利用CDI實現組件間低耦閤 228
8.1 引言 228
8.2 CDI概述 228
8.3 CDI下的受控Bean 228
8.4 Bean的生命周期範圍 232
8.5 使用限定符注入動態類型 237
8.6 使用替代組件實現部署時動態注入 239
8.7 使用生産方法注入動態內容 241
8.8 使用攔截器綁定類型注入功能服務 243
8.9 利用構造型封裝注入操作 246
8.10 小結 247
第9章 使用Bean Validation校驗數據 248
9.1 引言 248
9.2 Bean Validation概述 248
9.3 使用默認約束器 248
9.4 實現自定義約束器 251
9.5 約束的傳遞 254
9.5.1 繼承 254
9.5.2 級聯 255
9.6 小結 256
第10章 確保企業應用安全 257
10.1 引言 257
10.2 認證 257
10.2.1 配置文件安全域 257
10.2.2 配置JDBC安全域 258
10.2.3 聲明認證配置 260
10.3 授權 260
10.3.1 授權聲明 260
10.3.2 角色映射 261
10.4 測試Java EE容器的安全服務 262
10.5 定製FORM方式認證界麵 262
10.6 在代碼中獲取用戶身份信息 264
10.7 EJB安全控製 265
10.8 小結 267
第11章 為應用添加郵件發送功能 268
11.1 引言 268
11.2 JavaMail基礎 268
11.2.1 JavaMail體係 268
11.2.2 JavaMail規範組成 269
11.3 配置JavaMail會話 270
11.4 發送郵件 270
11.5 發送帶附件的郵件 272
11.6 小結 275
第12章 利用Web服務集成應用 276
12.1 引言 276
12.2 Web服務概述 276
12.2.1 什麼是Web服務 276
12.2.2 Web服務技術體係 276
12.2.3 Web服務工作模型 278
12.3 Java EE平颱下的Web服務實現 278
12.4 開發Web服務實例 278
12.4.1 創建Web服務組件 279
12.4.2 為Web服務組件添加業務邏輯 280
12.4.3 部署Web服務 280
12.4.4 測試Web服務 280
12.5 調用Web服務 282
12.5.1 添加Web服務客戶端 282
12.5.2 調用Web服務 283
12.6 將會話Bean發布為Web 服務 285
12.7 RESTful Web服務 286
12.7.1 什麼是REST 286
12.7.2 利用JAX-RS開發RESTful Web服務 287
12.7.3 與SOAP對比 290
12.8 Web服務的優缺點 291
12.9 小結 292
第13章 利用消息服務實現應用間異步交互 293
13.1 引言 293
13.2 JMS概述 293
13.2.1 JMS消息模型 293
13.2.2 JMS消息服務接口 293
13.2.3 消息傳遞模式 294
13.3 配置消息服務資源和連接工廠 294
13.4 發送JMS消息 295
13.5 利用MDB處理消息 296
13.6 小結 298
· · · · · · (
收起)