Java EE 6權威指南

內容介紹

《Java EE 6權威指南:基礎篇(第4版)》是任務導向、示例驅動的Java EE 6基礎教程,講述如何開發企業套用,並作為第4版加入了很多新內容,詳細介紹了最新的API和平台特性。《Java EE 6權威指南:基礎篇(第4版)》分8部分闡述了Java EE 6基礎知識、Web層技術(包括JavaServer Faces和Facelets),以及如何使用JAX—WS和JAX—RS構建Web服務、使用JavaBeans組件開發業務邏輯、使用Java Persistence APl訪問資料庫、為Web套用或企業套用增強安全性、在Java EE平台使用上下文和依賴注入。

作者介紹

本書作者均為Oracle Java EE 6文檔團隊成員,其中Eric Jendrock是Java EE Tutorial團隊負責人,並編寫了Java Servlet技術和Java安全性技術方面的文檔,Ian Evan負責編寫Enterprise JavaBeans、Java Persistence API、Bean Validation、Java Transaction API、JAX-RS和JAX-WS等方面的文檔,Devika Gollapudi負責編寫JavaServer Faces技術和Facelets等方面的文檔,Kim Hasse負責編寫面向Java EE平台的上下文和依賴注入、Java安全、JMS(Java Message Service)等方面的文檔,Chinmayee Srivathsa負責編寫資源連線方面的文檔。

作品目錄

目  錄
第一部分  簡介
第1章  綜述2
1.1  Java EE 6平台新特性3
1.2  Java EE套用模型3
1.3  分散式多層套用4
1.3.1  安全5
1.3.2  Java EE組件5
1.3.3  Java EE客戶端5
1.3.4  Web 組件7
1.3.5  業務組件8
1.3.6  企業信息系統層9
1.4  Java EE容器9
1.4.1  容器服務10
1.4.2  容器類型10
1.5  Web服務支持11
1.5.1  XML12
1.5.2  SOAP傳輸協定12
1.5.3  WSDL標準格式12
1.6  Java EE應用程式裝配與部署13
1.7  打包應用程式13
1.8  開發中的角色分工14
1.8.1  Java EE產品提供商15
1.8.2  工具提供商15
1.8.3  套用組件提供商15
1.8.4  應用程式裝配者15
1.8.5  應用程式部署者和管理員16
1.9  Java EE 6 API  16
1.9.1  企業JavaBeans技術19
1.9.2  Java Servlet 技術20
1.9.3  JavaServer Faces 技術20
1.9.4  JavaServer Pages 技術20
1.9.5  JavaServer Pages 標準標籤庫21
1.9.6  Java Persistence API  21
1.9.7  Java Transaction API21
1.9.8  支持REST 式Web 服務的Java  API  21
1.9.9  Managed Beans  21
1.9.10  Java EE 平台(JSR 299)的上下文與依賴注入22
1.9.11  Java Dependency Injection(JSR 330)  22
1.9.12  Bean Validation22
1.9.13  Java Message Service  API22
1.9.14  Java EE Connector  架構22
1.9.15  JavaMail API23
1.9.16  Java 容器授權契約23
1.9.17  Java 容器認證服務提供商接口23
1.10  Java 標準版6.0中的Java EE6 API23
1.10.1  Java Database ConnectivityAPI24
1.10.2  Java 命名和目錄接口API24
1.10.3  JavaBeans ActivationFramework  24
1.10.4  Java XML API  24
1.10.5  Java XML 綁定架構25
1.10.6  支持帶附屬檔案的SOAP 訊息API25
1.10.7  基於XML 的Java WebServices  API  25
1.10.8  Java 認證與授權服務25
1.11  GlassFish 伺服器工具26
第2章  使用教程示例27
2.1  必備軟體 27
2.1.1  Java 平台標準版(J2SE)27
2.1.2  Java EE 6 SDK28
2.1.3  Java EE 6教程組件28
2.1.4  NetBeans 集成開發環境29
2.1.5  Apache Ant  30
2.2  啟動和關閉GlassFish伺服器30
2.3  啟動管理控制台31
2.4  啟動和關閉Java DB伺服器32
2.5  構建示例32
2.6  教程示例的目錄結構32
2.7  獲取最新版的教程33
2.8  調試Java EE套用33
2.8.1  伺服器日誌33
2.8.2  調試器34
第二部分  Web層
第3章  Web套用初步36
3.1  Web套用36
3.2  Web套用的生命周期37
3.3  Web模組示例——hello139
3.3.1  hello1 Web模組分析40
3.3.2  打包Web模組42
3.3.3  部署Web模組43
3.3.4  運行已部署的Web模組44
3.3.5  查看已部署的Web模組44
3.3.6  更新Web模組45
3.3.7  動態載入45
3.3.8  卸載Web模組46
3.4  配置Web套用之hello2示例46
3.4.1  映射URL到Web組件46
3.4.2  hello2Web模組分析47
3.4.3  構建、打包、部署以及運行
hello2  套用48
3.4.4  設定welcome檔案  49
3.4.5  設定上下文以及初始化參數  49
3.4.6  映射錯誤信息到出錯頁面  50
3.4.7  資源引用聲明  51
3.5  Web套用的更多信息  52
第4章  JSF技術  54
4.1  什麼是JSF套用  54
4.2  JSF技術的優勢  55
4.3  創建簡單的JSF套用  56
4.3.1  開發後台bean57
4.3.2  創建網頁  57
4.3.3  映射FacesServlet實例  58
4.3.4  hello應用程式的生命周期  58
4.4  有關JSF技術的更多信息  59
第5章  Facelets介紹  60
5.1  什麼是Facelets60
5.2  開發簡單的Facelets  套用  61
5.2.1  創建Facelets  套用  61
5.2.2  配置套用  64
5.2.3  構建、打包、部署以及運行guessnumber Facelets示例  65
5.3  模板化  66
5.4  複合組件  68
5.5  資源  70
第6章  表達式語言  72
6.1  EL綜述  72
6.2  即時求值和延後求值語法  73
6.2.1  即時求值  73
6.2.2  延後求值  73
6.3  值表達式和方法表達式  74
6.3.1  值表達式  74
6.3.2  方法表達式  77
6.4  定義標籤屬性類型  79
6.5  文本表達式  80
6.6  運算符  80
6.7  保留字  81
6.8  EL  表達式的例子  81
第7章  在網頁中使用JSF技術83
7.1  設定頁面83
7.2  使用HTML標籤為頁面添加組件84
7.2.1  組件標籤的通用屬性85
7.2.2  添加HTML 的head和body標籤87
7.2.3  添加表單組件88
7.2.4  文本組件88
7.2.5  使用命令型組件標籤執行動作和導航92
7.2.6  用h:graphicImage添加圖像和圖形93
7.2.7  用h:panelGrid和h:panelGroup實現組件布局93
7.2.8  顯示選項組件94
7.2.9  顯示多項選擇組件96
7.2.10  使用f:selectItem和f:selectItems標籤97
7.2.11  使用數據綁定表組件98
7.2.12  使用h:message和h:messages顯示出錯信息101
7.2.13  使用h:button和h:link標籤創建可加入收藏夾的URL  102
7.2.14  使用視圖參數配置可加入收藏夾的URL  102
7.2.15  使用h:output標籤實現資源再定位103
7.3  核心標籤104
第8章  轉換器、監聽器和驗證器106
8.1  標準轉換器106
8.1.1  轉換組件的值107
8.1.2  DateTimeConverter  108
8.1.3  NumberConverter109
8.2  為組件註冊監聽器110
8.2.1  為組件註冊一個值變更監聽器110
8.2.2  為組件註冊動作監聽器111
8.3  標準驗證器111
8.3.1  驗證組件的值112
8.3.2  LongRange Validator  112
8.4  引用後台bean的方法112
8.4.1  引用執行頁面導航的方法113
8.4.2  引用處理動作事件的方法113
8.4.3  引用執行驗證邏輯的方法114
8.4.4  引用處理值變更事件的方法114
第9章  用JSF技術開發Web  套用115
9.1  後台bean115
9.1.1  創建後台bean115
9.1.2  使用EL引用後台bean  116
9.2  為後台bean的屬性編寫代碼117
9.2.1  為綁定到組件值的屬性編寫代碼118
9.2.2  為綁定到組件實例的屬性編寫代碼122
9.2.3  為綁定到轉換器、監聽器以及驗證器的屬性編寫代碼123
9.3  為後台bean的方法編寫代碼124
9.3.1  編寫處理導航的方法124
9.3.2  編寫處理動作事件的方法125
9.3.3  編寫執行驗證的方法126
9.3.4  編寫處理值變更事件的方法126
9.4  使用Bean驗證127
第10章  Java Servlet 技術130
10.1  什麼是servlet  130
10.2  servlet 生命周期131
10.2.1  處理servlet 生命周期內的事件131
10.2.2  處理servlet 錯誤132
10.3  共享信息132
10.3.1  有作用域的對象133
10.3.2  控制對共享資源的並發訪問133
10.4  創建以及初始化servlet133
10.5  編寫service方法134
10.5.1  從請求里提取信息134
10.5.2  構造應答信息135
10.6  過濾請求和應答136
10.6.1  編程實現過濾器136
10.6.2  通過編程定製請求和應答137
10.6.3  設定過濾器映射138
10.7  調用其他Web資源139
10.7.1  在應答里包含其他資源139
10.7.2  轉交控制權給其他Web組件140
10.8  訪問Web上下文140
10.9  維護客戶端狀態140
10.9.1  訪問會話141
10.9.2  把對象關聯到會話141
10.9.3  會話管理141
10.9.4  會話追蹤142
10.10  結束servlet142
10.10.1  追蹤服務請求142
10.10.2  將關閉事件通知方法143
10.10.3  妥善處理長時方法143
10.11  mood示例套用144
10.11.1  mood示例套用里的組件144
10.11.2  構建、打包、部署以及運行mood  示例144
10.12  有關Java Servlet 技術的更多信息145
第三部分  Web服務
第11 章  Web服務簡介148
11.1  什麼是Web服務148
11.2  Web服務的類型148
11.2.1  “重量級”的Web服務148
11.2.2  REST式Web服務149
11.3  Web服務類型的選用150
第12章  用JAX-WS構建Web服務151
12.1  用JAX-WS開發簡單的Web服務和客戶端152
12.1.1  對JAX-WS端點的要求152
12.1.2  編寫服務端點實現類153
12.1.3  構建、打包及部署服務153
12.1.4  測試Web服務端點中的方法154
12.1.5  簡單的JAX-WS套用客戶端  155
12.1.6  簡單的JAX-WSWeb客戶端  156
12.2  JAX-WS支持的類型  159
12.3  Web服務的互操作性與JAX-WS  159
12.4  有關JAX-WS的更多信息  159
第13章  用JAX-RS構建REST式Web服務  160
13.1  什麼是REST式Web服務  160
13.2  創建一個REST 式根資源類  161
13.2.1  用JAX-RS開發REST式Web服務  161
13.2.2  JAX-RS套用概述  162
13.2.3  @Path註解和URI路徑模板  163
13.2.4  回響HTTP資源  165
13.2.5  使用@Consumes和@Produces定製請求和應答  167
13.2.6  從請求里提取參數  169
13.3  JAX-RS的示例套用  172
13.3.1  REST式Web服務  172
13.3.2  rsvp示例套用  174
13.3.3  真實示例  176
13.4  有關JAX-RS的更多信息  176
第四部分  企業bean
第14章  企業bean  180
14.1  什麼是企業bean180
14.1.1  使用企業bean的好處  180
14.1.2  何時使用企業bean  181
14.1.3  企業bean的類型  181
14.2  什麼是會話bean181
14.2.1  會話bean的類型  181
14.2.2  何時使用會話bean  182
14.3  什麼是訊息驅動bean  183
14.3.1  訊息驅動bean與會話bean的區別  183
14.3.2  何時使用訊息驅動bean184
14.4  訪問企業bean184
14.4.1  在客戶端中使用企業bean185
14.4.2  遠程還是本地訪問185
14.4.3  本地客戶端186
14.4.4  遠程客戶端187
14.4.5  Web服務客戶端188
14.4.6  方法的參數和方法的訪問189
14.5  企業bean的內容189
14.5.1  在EJB的JAR模組中打包企業bean189
14.5.2  在WAR模組中打包企業bean190
14.6  企業bean的命名規範191
14.7  企業bean的生命周期191
14.7.1  有狀態會話bean的生命周期191
14.7.2  無狀態會話bean的生命周期192
14.7.3  單件會話bean的生命周期193
14.7.4  訊息驅動bean的生命周期193
14.8  有關企業bean的更多信息194
第15章  企業bean套用初步195
15.1  創建企業bean195
15.1.1  編寫企業bean  的類195
15.1.2  創建converter的Web客戶端196
15.1.3  構建、打包、部署及運行converter示例197
15.2  修改Java EE套用198
第16章  運行企業bean示例200
16.1  cart 示例200
16.1.1  業務接口201
16.1.2  會話bean 類201
16.1.3  @Remove 方法204
16.1.4  輔助類204
16.1.5  構建、打包、部署及運行cart示例204
16.2  單件會話bean示例counter  206
16.2.1  創建單件會話bean  206
16.2.2  counter示例的架構209
16.2.3  構建、打包、部署及運行counter示例211
16.3  Web服務示例helloservice212
16.3.1  Web服務端點的實現類212
16.3.2  無狀態會話bean的實現類213
16.3.3  構建、打包、部署及測試helloservice示例213
16.4  使用定時器服務214
16.4.1  創建日曆型定時器表達式215
16.4.2  可程式定時器217
16.4.3  自動定時器218
16.4.4  取消及保存定時器219
16.4.5  獲得定時器的信息219
16.4.6  事務和定時器219
16.4.7  timersession示例219
16.4.8  構建、打包、部署及運行timersession示例221
16.5  處理異常222
第五部分  Java EE 平台的上下文與依賴注入
第17章  Java EE 平台的上下文與依賴注入入門226
17.1  CDI概述227
17.2  關於bean  227
17.3  關於託管bean  228
17.4  可注入對象bean  228
17.5  使用限定詞229
17.6  注入bean  230
17.7  使用作用域230
17.8  為bean設定EL名稱231
17.9  增加存取方法232
17.10  在Facelets頁面中使用託管bean  232
17.11  使用Producer方法注入對象233
17.12  配置CDI套用233
17.13  有關CDI的更多信息234
第18 章  運行簡單的上下文與依賴注入示例235
18.1  CDI示例simplegreeting  235
18.1.1  simplegreeting的源檔案235
18.1.2  Facelets模板和頁面236
18.1.3  配置檔案237
18.1.4  構建、打包、部署及運行CDI示例simplegreeting  237
18.2  CDI 示例guessnumber239
18.2.1  guessnumber的源檔案239
18.2.2  Facelets頁面243
18.2.3  構建、打包、部署及運行CDI 示例guessnumber  244
第六部分  持久化
第19章  Java Persistence API簡介248
19.1  實體248
19.1.1  實體類的需求248
19.1.2  實體類的持久化欄位和屬性249
19.1.3  實體裡的主鍵253
19.1.4  實體關係的多樣性254
19.1.5  實體關係的方向性255
19.1.6  實體裡的可嵌入類256
19.2  實體繼承257
19.2.1  抽象實體257
19.2.2  映射超類258
19.2.3  非實體超類258
19.2.4  實體繼承映射策略259
19.3  管理實體261
19.3.1  EntityManager接口261
19.3.2  持久化單元264
19.4  查詢實體265
19.5  有關Persistence的更多信息266
第20章  運行Persistence示例267
20.1  order套用267
20.1.1  order示例中的實體關係267
20.1.2  order套用里的主鍵269
20.1.3  映射多個資料庫表的實體  272
20.1.4  order套用里的級聯操作  272
20.1.5  order套用里的BLOB和CLOB類型  273
20.1.6  order套用里的時間類型  273
20.1.7  管理order套用里的實體  273
20.1.8  構建、打包、部署以及運行order套用  275
20.2  roster套用  276
20.2.1  roster套用里的關係  276
20.2.2  roster套用里的實體繼承關係  277
20.2.3  roster里的Criteria查詢  278
20.2.4  roster套用里的自動建表特性  280
20.2.5  構建、打包、部署以及運行roster套用  280
20.3  address-book套用  282
20.3.1  address-book套用里的Bean驗證約束  282
20.3.2  為address-book套用里的約束指定出錯信息  283
20.3.3  驗證JSF套用中輸入的Contact數據  283
20.3.4  構建、打包、部署以及運行address-book套用  284
第21章  Java Persistence查詢語言  286
21.1  查詢語言術語  286
21.2  使用Java Persistence查詢語言創建查詢  287
21.2.1  查詢里的命名參數  287
21.2.2  查詢里的位置參數  288
21.3  查詢語言的簡要語法  288
21.3.1  選擇語句  288
21.3.2  更新和刪除語句  289
21.4  查詢示例  289
21.4.1  簡單查詢  289
21.4.2  需定位到相關實體的查詢  290
21.4.3  使用其他條件表達式的查詢  291
21.4.4  批量更新和刪除292
21.5  查詢語言語法全本293
21.5.1  BNF 符號293
21.5.2  Java Persistence查詢語言的BNF  語法293
21.5.3  FROM語句297
21.5.4  路徑表達式300
21.5.5  WHERE語句301
21.5.6  SELECT語句309
21.5.7  ORDER BY 語句310
21.5.8  GROUP BY和HAVING語句311
第22章  使用Criteria API構造查詢312
22.1  Criteria和Metamodel API概述312
22.2  使用Metamodel API為實體類建模313
22.3  使用Criteria API和Metamodel API創建類型安全的基本查詢314
22.3.1  創建Criteria查詢315
22.3.2  查詢根315
22.3.3  使用join查詢關聯關係316
22.3.4  Criteria查詢中的路徑定位316
22.3.5  過濾Criteria查詢結果317
22.3.6  處理Criteria查詢結果319
22.3.7  查詢執行320
第七部分  安全
第23章  Java EE平台安全入門322
23.1  Java EE安全性概述322
23.1.1  簡單的安全套用示例323
23.1.2  安全機制的特性325
23.1.3  套用安全的特徵325
23.2  安全機制326
23.2.1  Java SE安全機制326
23.2.2  Java EE安全機制327
23.3  為容器增加安全性329
23.3.1  用註解為套用增加安全性329
23.3.2  用部署描述檔案為套用增加安全性329
23.3.3  使用編程式的安全機制330
23.4  為GlassFish伺服器增加安全性330
23.5  使用域、用戶、用戶組和角色330
23.5.1  什麼是域、用戶、用戶組和角色331
23.5.2  在GlassFish伺服器中管理用戶和用戶組333
23.5.3  設定安全形色334
23.5.4  將角色映射至用戶和用戶組335
23.6  使用SSL建立安全連線336
23.6.1  驗證及配置SSL337
23.6.2  使用數字證書337
23.7  有關安全性的更多信息339
第24章  Web套用安全化入門341
24.1  Web套用安全性概述341
24.2  為Web套用增加安全性342
24.2.1  設定安全限制343
24.2.2  設定認證機制345
24.2.3  聲明安全形色350
24.3  在Web套用中使用編程式安全機制351
24.3.1  以編程方式實現用戶認證351
24.3.2  以編程方式檢查發起者身份353
24.3.3  編程安全性的代碼示例353
24.3.4  聲明並關聯角色引用354
24.4  為Web套用增加安全性的示例355
24.4.1  在servlet中使用基本認證的示例356
24.4.2  在JSF中使用表單認證機制的示例359
第25章  企業套用安全化入門363
25.1  為企業bean增加安全性363
25.1.1  使用聲明方式為企業bean增加安全性365
25.1.2  使用編程方式為企業bean增加安全性369
25.1.3  用於身份傳播的安全標識(run-as)370
25.1.4  部署經過安全加固的企業bean371
25.2  為企業bean增加安全性的一組示例371
25.2.1  使用聲明方式為企業bean增加安全性的示例371
25.2.2  使用編程方式為企業bean增加安全性的示例375
25.3  為套用客戶端增加安全性377
25.3.1  使用登錄模組377
25.3.2  使用編程式用戶登錄378
25.4  為企業信息系統套用增加安全性378
25.4.1  容器管理登錄378
25.4.2  組件管理登錄379
25.4.3  配置資源適配器安全性379
第八部分  Java EE支持技術
第26章  Java EE支持技術簡介384
26.1  事務384
26.2  資源384
26.2.1  Java EE連線器架構和資源適配器384
26.2.2  Java Message Service API385
26.2.3  Java資料庫連線軟體385
第27章  事務386
27.1  什麼是事務386
27.2  容器託管的事務387
27.2.1  事務屬性  387
27.2.2  回滾容器託管的事務  390
27.2.3  同步會話bean 的實例變數  390
27.2.4  容器託管事務里不允許使用的方法  391
27.3  bean託管事務  391
27.3.1  JTA事務  392
27.3.2  不提交的返回  392
27.3.3  bean託管事務里不允許使用的方法  392
27.4  事務逾時  392
27.5  更新多個資料庫中的數據  393
27.6  Web組件里的事務  394
27.7  有關事務的更多信息  394
第28章  資源連線  395
28.1  資源和JNDI命名  395
28.2  DataSource對象和連線池  396
28.3  資源注入  397
28.3.1  欄位級別的注入方式  398
28.3.2  方法級別的注入方式  398
28.3.3  類級別的注入方式  399
28.4  資源適配器和契約  399
28.4.1  管理契約  400
28.4.2  通用工作上下文契約  401
28.4.3  外向型和內向型契約  401
28.5  元數據註解  402
28.6  公共客戶端接口  404
28.7  參考資源  404

相關詞條

相關搜尋

熱門詞條

聯絡我們