本書是一本講授Java EE企業(yè)級應用技術的基本概念、基本框架和程序設計基本方法的教材。全書共8章,第1章介紹Java EE企業(yè)級應用的基本知識和基本概念、企業(yè)級應用與中間件技術、Java EE體系架構的基本模式;第2章詳細講解Java Server Faces框架的主要概念、主要組件和主要技術構成;第3章講解上下文、資源注入和依賴注入的概念;第4章講解Java EE體系中的核心內(nèi)容之一企業(yè)Bean的基本概念,包括有狀態(tài)會話Bean、無狀態(tài)會話Bean、單身會話Bean、消息服務與消息驅(qū)動Bean等幾種企業(yè)Bean類型;第5章專門介紹Java持久性與事務的相關概念和知識;第6章介紹Web服務及相關的基本概念,包括用JAX-WS技術構建Web服務和用JAX-RS技術構建RESTful Web服務;第7章簡要討論安全性的基本概念;第8章簡單介紹Java消息服務和Java EE攔截器技術。本書以Java EE 5、Java EE 6、Java EE 7技術規(guī)范為藍本,重點介紹B/S體系結構模式下多層應用體系結構的最新開發(fā)技術——JSF+EJB+JPA技術組合的使用和開發(fā)。本書適合作為普通高等院校計算機科學與技術、軟件工程及相關專業(yè)課程的教材,也可供其他專業(yè)的本科生、研究生及各級計算機專業(yè)技術人員參考使用。
姜志強,男,吉林大學計算機科學與技術學院副教授。主持的《軟件工程教學系統(tǒng)》課程獲得吉林省教育廳,教學研究成果二等獎;《管理信息系統(tǒng)》課程獲得吉林省教育廳,教育技術成果優(yōu)秀獎;《Java語言程序設計》課程獲得吉林大學教學成果三等獎。
目 錄
第1章 Java EE企業(yè)級應用概述 1
1.1 企業(yè)級應用與中間件 1
1.1.1 什么是企業(yè)級應用 1
1.1.2 當今的計算機應用環(huán)境 1
1.1.3 Internet時代計算機應用的主要矛盾 2
1.1.4 中間件的概念 2
1.1.5 中間件的發(fā)展 3
1.2 Web應用的發(fā)展 4
1.2.1 靜態(tài)網(wǎng)頁技術 4
1.2.2 動態(tài)網(wǎng)頁技術 5
1.2.3 C/S體系結構模式與B/S體系結構模式 6
1.2.4 多層應用體系結構 7
1.3 Java EE概述 8
1.3.1 Java EE模式的發(fā)展 8
1.3.2 Java EE應用模式 9
1.3.3 Java EE組件與容器 10
1.3.4 Java EE體系架構的優(yōu)越性 11
1.3.5 Java EE API 12
1.4 主要Java EE產(chǎn)品介紹 13
1.4.1 WebSphere 13
1.4.2 WebLogic 13
1.4.3 GlassFish 13
1.4.4 Tomcat 14
1.4.5 JBoss 14
1.5 用GlassFish服務器構建企業(yè)級應用環(huán)境 14
1.5.1 下載正版安裝軟件 14
1.5.2 安裝Java軟件和GlassFish服務器 15
1.5.3 使用Java軟件和GlassFish服務器 19
第2章 Web應用框架JSF 21
2.1 Web應用概述 21
2.1.1 Web應用的基本概念 21
2.1.2 Web應用的工作過程 21
2.1.3 Web應用的基本開發(fā)步驟 22
2.2 JavaServer Faces框架技術 22
2.2.1 JavaServer Faces框架的概念 22
2.2.2 生成一個簡單的JavaServer Faces框架的Web應用 23
2.2.3 JavaServer Faces框架的體系結構 27
2.2.4 JavaServer Faces框架的Web應用的生命周期 28
2.3 XHTML規(guī)范 29
2.3.1 認識XHTML規(guī)范 29
2.3.2 XHTML語法規(guī)范與HTML語法規(guī)范的簡單比較 29
2.3.3 XHTML的頁面結構 30
2.3.4 現(xiàn)行XHTML規(guī)范 31
2.4 表達式語言 32
2.4.1 什么是表達式語言 32
2.4.2 即刻求值表達式和延緩求值表達式 32
2.4.3 值表達式和方法表達式 33
2.4.4 表達式語言語法 35
2.5 UI標簽組件技術 36
2.5.1 JavaServer Faces標簽庫及組件API 36
2.5.2 創(chuàng)建JSF頁面和使用UI組件 36
2.5.3 生成用戶UI組件 41
2.6 Backing Bean 44
2.6.1 什么是Backing Bean 44
2.6.2 Backing Bean中的屬性 44
2.6.3 Backing Bean中的方法 45
2.7 導航 45
2.7.1 什么是導航 45
2.7.2 部署描述符文件和應用配置資源文件 45
2.7.3 靜態(tài)導航 47
2.7.4 動態(tài)導航 47
2.8 JavaServer Faces事件處理機制 48
2.8.1 JavaServer Faces的事件與事件處理 48
2.8.2 事件與監(jiān)聽器API 48
2.8.3 實現(xiàn)監(jiān)聽器的兩種方式 48
2.8.4 在組件上注冊監(jiān)聽器 49
2.9 轉(zhuǎn)換器 50
2.9.1 轉(zhuǎn)換器的概念 50
2.9.2 標準轉(zhuǎn)換器 50
2.9.3 注冊、使用轉(zhuǎn)換器 51
2.9.4 自定義轉(zhuǎn)換器 53
2.10 驗證器 54
2.10.1 驗證器的概念 54
2.10.2 標準驗證器 54
2.10.3 注冊、使用驗證器 55
2.10.4 自定義驗證器 56
2.10.5 一個使用了監(jiān)聽器、轉(zhuǎn)換器和驗證器的完整例子 56
2.11 Facelets與復合組件 62
2.11.1 什么是Facelets 62
2.11.2 開發(fā)一個簡單的Facelets應用 62
2.11.3 模板 62
2.11.4 復合組件 63
2.11.5 應用程序的目錄結構與資源 64
2.12 Servlet 64
2.12.1 Servlet的基本概念 64
2.12.2 編寫Servlet程序 66
2.12.3 使用Servlet 67
第3章 上下文和注入 70
3.1 上下文和注入的概念 70
3.1.1 什么是上下文和注入 70
3.1.2 托管Bean 72
3.2 依賴注入 73
3.2.1 創(chuàng)建一個支持依賴注入的項目 73
3.2.2 用依賴注入的方式注入Bean 74
3.2.3 用生產(chǎn)者方法注入對象 78
3.2.4 配置一個CDI應用 79
3.3 資源連接和資源注入 79
3.3.1 資源與JNDI命名 79
3.3.2 資源注入 80
第4章 企業(yè)Bean 81
4.1 企業(yè)Bean概述 81
4.1.1 什么是企業(yè)Bean 81
4.1.2 企業(yè)Bean的發(fā)展 81
4.1.3 企業(yè)Bean的類型 82
4.1.4 開發(fā)企業(yè)Bean的基本要求 82
4.2 會話Bean 85
4.2.1 什么是會話Bean 85
4.2.2 訪問會話Bean的幾種方式 85
4.2.3 有狀態(tài)會話Bean 87
4.2.4 無狀態(tài)會話Bean 93
4.2.5 單身會話Bean 96
4.3 消息驅(qū)動Bean 99
4.3.1 什么是消息驅(qū)動Bean 99
4.3.2 消息驅(qū)動Bean與Java消息服務 103
4.4 企業(yè)Bean高級技術 103
4.4.1 使用嵌入式企業(yè)Bean容器 103
4.4.2 在會話Bean中使用異步方法調(diào)用 103
第5章 持久性與事務 105
5.1 在Java EE環(huán)境中使用數(shù)據(jù)庫 105
5.1.1 對象關系映射的概念 105
5.1.2 在Java EE中使用數(shù)據(jù)庫 106
5.2 持久性與Java持久性API 106
5.2.1 實體和實體類 106
5.2.2 實體之間的關聯(lián)關系 112
5.2.3 實體的繼承層次 114
5.2.4 實體的管理和操作 114
5.2.5 查詢實體 117
5.3 Java持久性查詢語言 117
5.3.1 查詢語言術語 117
5.3.2 用Java持久性查詢語言生成查詢 117
5.3.3 Java持久性查詢語言的基本語句 119
5.4 標準API 120
5.4.1 標準API與中間模型API 120
5.4.2 使用中間模型API翻模實體類 121
5.4.3 使用標準API與中間模型API查詢 122
5.5 事務 125
5.5.1 事務的概念 125
5.5.2 Java事務API 126
5.5.3 一個使用持久性和Java事務API的實例 127
第6章 Web服務 135
6.1 Web服務的概念 135
6.1.1 什么是Web服務 135
6.1.2 JAX-WS Web服務與JAX-RS Web服務 135
6.1.3 確定使用哪種類型的Web服務 136
6.2 SOAP與WSDL簡介 136
6.2.1 SOAP簡介 136
6.2.2 WSDL簡介 141
6.3 用JAX-WS構建Web服務 142
6.3.1 JAX-WS簡述 142
6.3.2 用JAX-WS生成一個簡單的Web服務 142
6.3.3 一個簡單的JAX-WS Application客戶端 144
6.3.4 一個簡單的JAX-WS Web客戶端 144
6.4 用JAX-RS構建RESTful Web服務 146
6.4.1 什么是RESTful Web服務 146
6.4.2 用JAX-RS開發(fā)RESTful Web服務 147
第7章 安全性 149
7.1 安全性概述 149
7.1.1 Java EE安全性概述 149
7.1.2 安全機制 150
7.1.3 安全容器 151
7.1.4 領地、用戶、組群和角色 151
7.2 Web應用安全的例子 152
7.2.1 一個聲明性安全的例子 152
7.2.2 一個編程性安全的例子 154
7.3 企業(yè)應用安全的例子 156
7.3.1 一個聲明性安全的例子 156
7.3.2 一個編程性安全的例子 158
第8章 Java EE支持技術 160
8.1 消息服務 160
8.1.1 消息服務的概念 160
8.1.2 JMS API 161
8.1.3 JMS消息發(fā)送和接收實例 164
8.2 Java EE攔截器 171
8.2.1 攔截器的概念 171
8.2.2 使用攔截器 172
附錄A Java持久性查詢語言語法的Backus-Naur Form表述 176
參考文獻 182