Java EE實用開發指南

《Java EE實用開發指南》是一本高洪岩編寫,由化學工業出版社在2011年出版的書籍。

內容簡介

《Java EE實用開發指南:基於Weblogic+EJB3+Struts2+Hibernate+Spring》是一本講解如何使用Weblogicl0.3+EJB3+JPA+Struts2+Hibernate+Spring開發Java Web應用程式的實用性圖書,書中在具體講解SSH2開發技術的同時,結合MVC模式與My Eclipse工具,演示了實際套用項目開發的全過程。全書共分19章,內容以實用為主,技術和實例相輔相成。書中首先介紹Struts2的使用,讓讀者對視圖層的結構有非常好的掌握;然後詳細介紹了Hibernate的使用與配置檔案的映射關係,並對雙向一對多的情況進行了非常詳細的介紹;接著帶領讀者去學習Spring技術,以AOP和IOC的行為注入方式進行非常詳細的講解,以1個SSH2整合併且有增刪改查功能的示例結束SSH2整合的歷程;最後又使用Weblogicl0.3+EJB3+JPA+JPQL作為引用點,介紹Java EE重量級開發的精髓所在。

《Java EE實用開發指南:基於Weblogic+EJB3+Struts2+Hibernate+Spring》實用性、系統性、條理性極強,操作思路明晰,通篇體現出作者的豐富經驗,既可以作為廣大工程技術人員的參考書,也適合大中專院校相關專業的學生使用。

編輯推薦

《Java EE實用開發指南:基於Weblogic+EJB3+Struts2+Hibernate+Spring》:將大的軟體功能一一分解成小部分,讓讀者消化吸收更快速!對知識點以開發的順序進行講解,讀者跟著書的節奏可收到邊學習邊養成編程習慣的效果!每個技術點均以一個完整的實用技術案例進行解析,具有完整的可運行的代碼項目,而並非僅僅一段片面的示例代碼,讓讀者要看就看明白。

《Java EE實用開發指南:基於Weblogic+EJB3+Struts2+Hibernate+Spring》特點以重量級開發技術Weblogicl0.3+EJB3整合開發為引入點詳細講解EJ B3+J PA的聯合開發使用通過Struts2+H.bernate+Spring結合My Eclipse進行開發詳細的ONGL語言介紹詳細的案例教程詳細的Struts2標籤庫的用法介紹詳細的Hibernate雙向一對多的解決方案介紹基於註解式的SS H 2事務整合方案。

圖書目錄

第1章 初入struts2

1.1 Struts2

1.1.1 Struts2概述

1.1.2 官方網站

1.2 Struts2——從登錄開始

1.2.1 新建Web項目

1.2.2 添加Struts2框架支持檔案

1.2.3 新建3個JSP頁面

1.2.4 新建業務(控制)組件

1.2.5 在XML檔案中加入過濾器

1.2.6 新建中心配置檔案

1.2.7 在配置檔案中註冊Action和result

1.2.8 部署項目

1.2.9 實例總結

第2章 控制層Action與配置檔案struts.xml

2.1 實現Action接口

2.1.1 Action接口的實現目的

2.1.2 Action接口的定義

2.1.3 新建一個Action接口實例的項目

2.1.4 Action接口的實現類

2.2 用Action Support類驗證提交表單

2.2.1 Action Support類的結構

2.2.2 Validateable接口的作用

2.2.3 Validation Aware接口的作用

2.2.4 實現Action Support類的實例與加入validate驗證方法

2.3 將JSP提交的表單封裝為一個Java Bean

2.3.1 屬性驅動的適用場合

2.3.2 新建一個封裝URL參數的實體類

2.3.3 新建持有實體類引用的控制層

2.3.4 運行結果

2.4 由Action轉發到JSP頁面

2.4.1 在JSP頁面中的轉發操作

2.4.2 創建轉發的控制層組件

2.4.3 更改配置檔案中的result對象

2.4.4 使用EL和Struts2的標籤輸出數據

2.4.5 運行結果

2.4.6 result對象的種類

2.5 由Action重定向到Action——無參數

2.5.1 創建起始控制層L,gin.java

2.5.2 創建目的控制層Lst.iava

2.5.3 在配置檔案中配置重定向的重點

2.5.4 創建顯示列表的JSP頁面

2.6 由Action重定向到Action——有參數

2.6.1 需要重定向傳遞參數場合

2.6.2 創建起始控制層Login,iava

2.6.3 更改配置檔案struts.xml

2.6.4 創建目的控制層List.iava

2.6.5 使用JSTL和EL在JSP頁面中輸出數據

2.7 多模組多配置檔案開發

2.7.1 創建模組的控制層

2.7.2 創建模組的配置檔案

2.7.3 使用include標記導入多個配置檔案

2.7.4 創建各模組使用的JSP頁面

2.7.5 運行各模組的效果

2.8 多業務方法時的處理

2.8.1 第一種實現方式一一通過LIRL嘆號參數

2.8.2 第二種實現方式——在Action標記中加入method屬性

2.9 自定義全局result

2.9.1 創建全局result實例和控制層代碼

2.9.2 聲明全局的result對象

2.9.3 運行結果

2.10 在Action中使用Servlet的API:(緊耦版)

2.10.

1 將數據放到不同的作用域中

2.10.2 從不同作用域中取值

2.11 在Action中使用Servlet的API(松耦版)

2.11.1 創建控制層

2.11.2 創建JSP視圖

第3章 Struts2檔案的上傳與下載

3.1 使用Struts2進行單檔案上傳

3.1.1 Struts2上傳功能的底層依賴 48

3.1.2 新建上傳檔案的JSP頁面 48

3.1.3 設計上傳檔案的控制層代碼 49

3.1.4 Action中File實例的命名規則 50

3.1.5 設定上傳檔案的大小 50

3.1.6 設計配置檔案 51

3.1.7 成功上傳單個檔案 51

3.2 使用Struts2進行多檔案上傳 52

3.2.1 創建上傳多個檔案的JSP頁面 52

3.2.2 設計上傳的控制層代碼 52

3.2.3 成功上傳多個檔案 54

3.3 使用屬性驅動的形式上傳檔案 55

3.3.1 創建上傳多個檔案的JSP頁面 55

3.3.2 設計上傳檔案的控制層代碼 56

3.3.3 新建上傳檔案的封裝類 57

3.3.4 更改JSP頁面中s:file標籤的name屬性 58

3.3.5 以屬性驅動方式成功上傳多個檔案 59

3.4 使用Struts2實現帶上傳進度的實例 60

3.4.1 上傳檔案帶進度的原理 60

3.4.2 設計上傳的JSP頁面 60

3.4.3 設計上傳檔案的控制層代碼 66

3.4.4 設計上傳檔案的工具類 67

3.4.5 實現ProgressListener接口取得上傳進度 68

3.4.6 將上傳進度類與Struts2關聯 69

3.4.7 替換Struts2默認的上傳關聯類 70

3.4.8 設計提供上傳進度基本信息的控制層代碼 70

3.4.9 設計通過Ajax調用返回上傳進度信息的XML文本實現類 71

3.4.10 成功上傳並且顯示進度 72

3.5 使用Struts2實現下載檔案的功能 74

3.5.1 新建下載檔案的JSP頁面 74

3.5.2 設計下載檔案的控制層代碼 74

3.5.3 更改配置檔案 76

3.5.4 成功下載中文檔案名稱的檔案 76

第4章 Struts2的數據校驗與國際化 77

4.1 前面驗證實現的缺點 77

4.1.1 舊版本的JSP頁面代碼 77

4.1.2 舊版本控制層代碼 77

4.1.3 舊版本配置檔案 78

4.1.4 舊版本的運行結果 78

4.2 加入新標籤 80

4.2.1 新版本的JSP頁面 80

4.2.2 新版本控制層代碼 80

4.2.3 新版本配置檔案 82

4.2.4 新版本不顯示label屬性值 83

4.2.5 去掉label屬性加入普通文本 83

4.2.6 生成簡潔的HTML代碼 84

4.2.7 顯示出錯信息 84

4.3 顯示局部出錯信息 85

4.3.1 在JSP頁面中加入調試標籤 85

4.3.2 查看值棧中的數據 86

4.3.3 取出出錯信息並顯示到JSP頁面 86

4.3.4 正確顯示出錯信息 87

4.4 顯示全局出錯信息 87

4.4.1 添加s:actionerror標籤 87

4.4.2 處理出錯信息的Action 88

4.4.3 設計配置檔案 89

4.5 對出錯信息的參數化 90

4.5.1 創建兩種語言文本的資源檔案 90

4.5.2 使用s:text標籤顯示資源檔案中的文本 91

4.5.3 在控制層對資源文本參數化 92

4.5.4 部署項目運行程式 94

4.5.5 在配置檔案中註冊資源檔案 94

第5章 JSON與Struts2和Ajax聯合使用 96

5.1 JSON概述 96

5.2 用JSON創建對象 96

5.2.1 創建對象的語法格式 96

5.2.2 在JSP中用JSON創建一個對象 97

5.2.3 運行結果 97

5.3 用JSON創建字元串的限制 97

5.3.1 需要轉義的特殊字元 98

5.3.2 在JSP中對JSON特殊字元進行轉義 98

5.3.3 運行結果 98

5.4 用JSON創建數字類型的語法格式 99

5.4.1 在JSP中用JSON創建數字類型 99

5.4.2 運行結果 100

5.5 用JSON創建數組對象的語法格式 100

5.5.1 在JSP中用JSON創建一個數組對象 100

5.5.2 運行結果 101

5.6 用JSON創建嵌套的對象類型 101

5.7 將對象轉換為JSON字元串 102

5.7.1 需要轉換的場合 102

5.7.2 實現轉換 102

5.8 將JSON字元串提交到Action並解析(POST方式) 103

5.8.1 在JSP中創建JSON和Ajax對象 104

5.8.2 創建接收JSON字元串的Action控制層 105

5.8.3 運行結果 105

5.8.4 控制台輸出結果 106

5.9 將JSON字元串提交到Action並解析(GET方式) 106

5.9.1 在JSP中創建JSON字元串和Ajax對象 106

5.9.2 創建接收JSON字元串的Action控制層 107

5.9.3 運行結果 108

5.10 將JSON字元串提交到Action並解析(GET和POST方式) 109

5.10.1 在伺服器端用GET方法解析JSON字元串 111

5.10.2 在伺服器端用POST方法解析JSON字元串 111

5.10.3 運行結果 112

5.10.4 控制台輸出結果 112

5.11 使用Ajax調用Action並生成JSON再傳遞到客戶端(GET和POST方式) 113

5.11.1 新建具有Ajax提交功能的JSP頁面 113

5.11.2 在Action控制層創建List對象並存儲元素類型為String 116

5.11.3 在Action控制層創建List對象並存儲元素類型為JavaBean 117

5.11.4 在Action控制層創建Map對象並存儲元素類型為String 118

5.11.5 在Action控制層創建Map對象並存儲元素類型為JavaBean 118

5.11.6 調用不同的Action 120

第6章 OGNL語言的套用 121

6.1 OGNL語言概述 121

6.2 OGNL表達式的測試 121

6.2.1 創建測試用Action控制層 121

6.2.2 使用Java腳本輸出結果 122

6.2.3 運行結果 122

6.2.4 struts.valueStack對象的結構 123

6.3 使用OGNL語言輸出String類型 123

6.4 輸出ArrayList中String類型變數的實例 124

6.4.1 向List存儲字元串 124

6.4.2 輸出集合數組中的數據 124

6.4.3 運行結果 125

6.5 輸出ArrayList中Bean類型變數的實例 125

6.5.1 向List存儲JavaBean類型的數據 125

6.5.2 在JSP頁面中輸出List中JavaBean的屬性值 126

6.5.3 運行結果 127

6.6 輸出HashMap中String類型變數的實例 127

6.6.1 向Map存儲String類型的數據 127

6.6.2 在JSP頁面中輸出Map中String的屬性值 128

6.6.3 運行結果 128

6.7 輸出HashMap中Bean類型變數的實例 129

6.7.1 向Map存儲JavaBean類型的數據 129

6.7.2 在JSP頁面中輸出Map中JavaBean的屬性值 130

6.7.3 運行結果 130

第7章 JQuery與JSON和Ajax聯合開發 131

7.1 JQuery概述 131

7.2 JQuery框架的Ajax功能簡介 131

7.3 使用JQuery的Ajax功能調用遠程Action(無返回結果) 132

7.4 JQuery的Ajax方法結構 133

7.5 使用JQuery的Ajax功能調用遠程Action(有返回結果) 134

7.6 調用遠程Action並且傳遞JSON格式參數(有返回值) 136

7.7 返回List中存String的JSON字元串 138

第8章 Struts2控制標籤庫 141

8.1 Struts2標籤庫的分類 141

8.2 s:if、s:elseif和s:else標籤的套用 141

8.2.1 s:if和s:elseif標籤概述 141

8.2.2 創建傳遞城市ID的Action 142

8.2.3 在JSP中使用s:if標籤輸出中文的城市名 143

8.2.4 運行結果 143

8.3 輸出String[]中的內容 144

8.3.1 s:iterator標籤概述 144

8.3.2 在Action中向String[]數組保存數據 144

8.3.3 使用s:iterator標籤輸出數組 145

8.3.4 運行結果 146

8.4 輸出集合中的內容 146

8.4.1 輸出List中的String字元串內容 146

8.4.2 輸出List中JavaBean的屬性內容 147

8.4.3 輸出Map中的String字元串內容 150

8.4.4 使用s:iterator標籤輸出Map中JavaBean類型屬性值 152

8.5 輸出隔行不同顏色的效果 155

8.5.1 向List中添加BBS模擬數據 155

8.5.2 創建BBS的實體類 156

8.5.3 實現隔行變色的效果 157

8.5.4 運行結果 159

8.6 將多個集合對象拼成一個集合對象 159

8.6.1 s:append標籤概述 159

8.6.2 在Action中填充List集合對象 160

8.6.3 新建實體類 161

8.6.4 合併集合對象 162

8.6.5 集合合併後的效果 163

8.7 將多個集合對象拼成一個集合對象 164

8.7.1 s:merge標籤概述 164

8.7.2 在Action中填充List集合對象 164

8.7.3 新建實體類 165

8.7.4 使用s:merge標籤合併集合對象 166

8.7.5 運行結果 167

8.8 取集合中的部分元素為子集合 168

8.8.1 s:subset標籤概述 168

8.8.2 在Action中對List集合對象進行數據填充 168

8.8.3 創建填充進集合對象中的實體類 169

8.8.4 對集合取子集 169

8.8.5 運行結果 170

8.9 按自定義的條件取集合中的匹配元素為子集合 171

8.9.1 在Action中對List進行數據填充 171

8.9.2 創建List中填充的實體類 172

8.9.3 自定義取子集過濾的條件類 172

8.9.4 對集合對象List取子集 173

8.9.5 運行結果 173

8.10 按集合中的個人體重進行排序 174

8.10.1 s:sort標籤概述 174

8.10.2 在Action中創建並填充要排序的List集合對象 174

8.10.3 創建List集合對象中的實體類 175

8.10.4 創建排序策略實現Comparator接口的工具類 175

8.10.5 對集合對象List進行排序 176

8.10.6 運行結果 176

8.11 分割字元串 177

8.11.1 s:generator標籤概述 177

8.11.2 在Action中聲明並初始化要分隔的字元串變數 177

8.11.3 使用s:generator標籤對字元串String進行分隔 178

8.11.4 運行結果 178

第9章 Struts2數據標籤庫 179

9.1 在JSP頁面訪問Action類中數據 179

9.1.1 s:action標籤概述 179

9.1.2 創建Action控制層 179

9.1.3 在JSP頁面中使用s:action標籤 180

9.1.4 返回結果的JSP頁面 180

9.1.5 運行結果 181

9.2 輸出轉義的HTML格式 181

9.2.1 s:property標籤概述 181

9.2.2 將要轉義輸出的String數據封裝到Action中 182

9.2.3 在JSP頁面中對HTML字元串進行輸出 182

9.2.4 運行結果 183

9.3 在JSP頁面中實例化一個JavaBean 183

9.3.1 s:bean和s:param標籤概述 183

9.3.2 創建工具實體類 184

9.3.3 使用s:bean標籤創建一個類 184

9.3.4 運行結果 185

9.4 s:param標籤的3種賦值方法 185

9.4.1 帶參數的Action 185

9.4.2 對s:bean標籤創建的類使用s:param標籤傳遞參數 186

9.4.3 運行結果 186

9.5 輸出日期和時間 187

9.5.1 s:date標籤概述 187

9.5.2 創建日期工具類 187

9.5.3 使用s:date標籤輸出並格式化日期 187

9.5.4 運行結果 188

9.6 查看值棧或上下文中的信息 188

9.6.1 創建測試用Action控制層 188

9.6.2 在JSP頁面中加入s:debug標籤 189

9.6.3 查看valueStack值棧中的數據 190

9.7 導入JSP檔案或Servlet資源 190

9.7.1 s:include標籤概述 190

9.7.2 導入JSP檔案 190

9.7.3 創建導入的目標檔案 191

9.7.4 運行結果 191

9.8 將數據放入作用域中 191

9.8.1 s:set標籤概述 191

9.8.2 使用s:set標籤在JSP頁面中創建變數 192

9.8.3 s:set的運行結果 192

9.9 生成分頁導航超連結 192

9.9.1 s:url標籤概述 192

9.9.2 創建測試用分頁Action 193

9.9.3 在JSP頁面中使用s:url標籤生成URL 195

9.9.4 運行結果 196

9.10 將數據放到值棧頂端 196

9.10.1 s:push標籤概述 196

9.10.2 在JSP頁面中將數據壓入值棧 197

9.10.3 運行結果 197

9.11 實現國際化 197

9.11.1 s:i18n和s:text標籤概述 197

9.11.2 在JSP頁面顯示資源檔案中的文本 198

9.11.3 運行結果 198

第10章 Struts2表單標籤 199

10.1 s:checkbox標籤的套用 199

10.1.1 s:checkbox標籤概述 199

10.1.2 創建取得checkbox值的Action 199

10.1.3 在JSP頁面中使用s:checkbox標籤 200

10.1.4 創建顯示s:checkbox結果的JSP頁面 200

10.1.5 運行結果 201

10.2 通過Action設定s:checkbox標籤默認選中狀態 201

10.2.1 創建初始化s:checkbox標籤的Action 201

10.2.2 創建顯示s:checkbox標籤的JSP頁面 202

10.2.3 創建取得s:checkbox標籤最新值的Action 202

10.2.4 將最新值顯示到JSP頁面 203

10.2.5 運行結果 204

10.3 使用List靜態創建s:checkboxlist標籤 204

10.3.1 s:checkboxlist標籤概述 204

10.3.2 創建包含愛好數組String[]的Action 205

10.3.3 在JSP頁面中使用s:checkboxlist標籤 205

10.3.4 創建顯示愛好的JSP頁面 206

10.3.5 運行結果 206

10.4 使用Map靜態創建s:checkboxlist標籤 207

10.4.1 在JSP頁面中創建Map類型的對象 207

10.4.2 創建顯示愛好的JSP頁面 208

10.4.3 運行結果 208

10.5 動態生成同組checkbox且默認為checked狀態 209

10.5.1 在Action中生成s:checkboxlist標籤的條目 209

10.5.2 創建愛好實體類 210

10.5.3 在JSP頁面中顯示s:checkboxlist標籤以及初始條目 211

10.5.4 運行結果 212

10.6 使用動態和靜態方式生成s:combobox標籤 212

10.6.1 s:combobox標籤概述 212

10.6.2 創建Action控制層 212

10.6.3 創建愛好實體類 213

10.6.4 生成s:combobox標籤的條目 214

10.6.5 運行結果 215

10.7 s:doubleselect標籤的套用 215

10.7.1 s:doubleselect標籤概述 215

10.7.2 創建省實體類 216

10.7.3 創建市實體類 217

10.7.4 創建控制層Action 217

10.7.5 創建接收提交結果的Action 220

10.7.6 創建顯示省市二級聯動的JSP頁面 221

10.7.7 創建顯示提交後省市值的JSP頁面 222

10.7.8 運行結果 223

10.8 s:hidden標籤的套用 224

10.8.1 s:hidden標籤概述 224

10.8.2 創建Action控制層 224

10.8.3 在JSP頁面中使用s:hidden標籤 225

10.8.4 創建顯示提交表單的Action 225

10.8.5 創建顯示最終結果值的JSP頁面 226

10.8.6 創建測試實體類 226

10.8.7 運行結果 227

10.9 s:optiontransferselect標籤的套用 228

10.9.1 s:optiontransferselect標籤概述 228

10.9.2 創建用於生成條目的Action 228

10.9.3 生成雙向選擇表單的JSP代碼 230

10.9.4 表單控制項所在s:form的屬性 231

10.9.5 運行結果 231

10.9.6 提交表單的目標Action 232

10.10 s:select和s:optgroup標籤的套用 234

10.10.1 創建生成s:select條目的Action 234

10.10.2 在JSP頁面中使用s:select標籤 235

10.10.3 創建城市實體類 236

10.10.4 運行結果 237

10.10.5 生成的HTML代碼 238

10.11 s:textfield、s:password和s:textarea標籤的套用 240

10.11.1 s:textfield、s:password和s:textarea標籤概述 240

10.11.2 創建Action 241

10.11.3 創建顯示標籤的JSP頁面 242

10.11.4 運行結果 242

10.11.5 創建提交後的目標Action 243

10.11.6 調試提交的表單值 243

10.12 靜態和動態生成內容條目 244

10.12.1 s:updownselect標籤概述 244

10.12.2 創建生成表單條目的Action 245

10.12.3 創建顯示錶單的JSP頁面 245

10.12.4 創建提交後的目標Action 246

10.12.5 查看最新提交的值 247

10.12.6 運行結果 247

10.13 動態生成同組複選框 248

10.13.1 創建實體類 248

10.13.2 新建同組s:checkbox標籤的Action 249

10.13.3 在JSP頁面中顯示同組複選框 250

10.13.4 創建顯示結果值的Action 251

10.13.5 配置檔案 251

10.13.6 運行結果 252

10.14 設定s:select標籤的默認值 252

10.14.1 創建設定s:select默認值的Action 252

10.14.2 獲取默認值List的JSP頁面 255

10.14.3 運行結果 256

第11章 初入Hibernate 257

11.1 Hibernate概述 257

11.2 持久層、持久化與ORM 258

11.3 用MyEclipse開發第一個Hibernate實例 259

11.3.1 安裝Oracle 11g資料庫 260

11.3.2 登錄Oracle資料庫 261

11.3.3 創建表空間和數據檔案 262

11.3.4 創建用戶及與表空間關聯 264

11.3.5 為用戶授予許可權 265

11.3.6 創建數據表 268

11.3.7 創建主鍵生成器——Oracle序列 270

11.3.8 使用MyEclipse Database Explorer工具連線Oracle 11g資料庫 271

11.3.9 創建一個支持Struts和Hibernate的Web Project 273

11.3.10 對數據表進行Hibernate逆向工程 275

11.3.11 逆向工程後的項目ORM結構 276

11.3.12 使用Hibernate進行持久化 279

第12章 Hibernate核心技能 281

12.1 Configuration概述 281

12.2 SessionFactory概述 281

12.3 Session概述 282

12.4 使用Session實現CURD功能 282

12.4.1 在Oracle 11g中創建示例數據表 282

12.4.2 逆向工程後的項目結構 283

12.4.3 創建create.action 285

12.4.4 創建read.action 286

12.4.5 創建路徑為update.action的Action 288

12.4.6 創建delete.action 289

12.5 在Hibernate中使用JNDI技術 290

12.5.1 備份配置檔案 290

12.5.2 更改配置檔案context.xml 290

12.5.3 更改配置檔案web.xml 291

12.5.4 添加Hibernate框架配置 291

12.5.5 逆向工程 292

12.5.6 支持JNDI的hibernate.cfg.xml配置檔案 292

12.5.7 添加控制層show.action 293

12.5.8 部署項目驗證結果 293

12.6 掌握Hibernate必備的要點 294

12.6.1 Hibernate的OID與快取 294

12.6.2 Hibernate中的對象狀態 296

12.7 雙向一對多在MyEclipse中的實現 296

12.7.1 創建主表main 296

12.7.2 創建子表sub 297

12.7.3 創建主表main與從表sub的關聯對象 297

12.7.4 成功關聯的提示 298

12.7.5 逆向主從表外鍵關係 298

12.7.6 集合set與many-to-one 299

12.7.7 新建主表main的數據 300

12.7.8 新建子表sub的數據 301

12.7.9 刪除子表sub的數據 303

12.7.10 刪除主表main的數據 304

12.8 Hibernate備忘知識點 306

12.9 對主從表結構中的HashSet進行排序 307

12.10 Hibernate中延遲載入的調試實例 307

12.10.1 主從表表結構的設計 307

12.10.2 主從表表內容的填充 308

12.10.3 逆向工程 308

12.10.4 創建test.action 308

12.10.5 lazy屬性的默認值 308

12.10.6 使用Expressions面板進行輔助調試 309

12.11 對Oracle中CLOB欄位類型的讀處理 310

第13章 Hibernate的檢索 312

13.1 Hibernate的檢索方式 312

13.1.1 創建資料庫表和外聯對象 312

13.1.2 檢索實例 313

13.2 HQL表別名 315

13.3 對結果集進行排序 316

13.4 HQL索引參數綁定 316

13.5 HQL命名參數綁定與安全性 317

13.6 HQL方法鏈的套用 317

13.7 HQL中uniqueResult方法的套用 318

13.8 HQL中的where子句與查詢條件 318

13.9 HQL中的迫切左外連線與調試 321

13.10 HQL中的左外連線與調試 325

13.11 HQL中的迫切左外連線/左外連線主從不匹配的情況 329

13.12 HQL中的迫切內連線與調試 330

13.13 HQL中的內連線與調試 333

13.14 HQL中的聚集函式distinct、count、min、max、sum、avg 336

13.15 HQL中的分組查詢 338

第14章 Spring基礎 340

14.1 Spring概述 340

14.2 Spring的架構 340

14.3 IOC概述 341

14.4 AOP概述 342

14.5 IOC容器 342

14.6 一個使用傳統方式保存數據功能的實例 342

14.7 使用Spring的IOC方式保存數據 343

14.8 BeanFactory與ApplicationContext 349

14.9 Spring的IOC容器注入類型 350

14.9.1 通過IOC容器注入基本數據類型 350

14.9.2 通過IOC容器注入引用數據類型 354

14.9.3 通過IOC容器注入null類型 354

14.9.4 通過IOC容器注入泛型List列表和數組類型 356

14.9.5 通過IOC容器注入泛型Set列表和數組類型 360

14.9.6 通過IOC容器注入泛型Map列表和數組類型 365

14.9.7 通過IOC容器注入Properties類型 371

14.9.8 通過IOC容器對構造方法進行注入 373

14.10 Spring中Bean在Singleton和Prototype的作用域 375

14.11 Spring中注入外部屬性檔案的屬性值 377

14.12 Spring中多個配置檔案的套用 380

14.13 AOP概述 382

14.13.1 靜態代理的實現 383

14.13.2 動態代理的實現 385

14.14 方法執行前增強 387

14.15 方法執行後增強 390

14.16 方法前後環繞增強 391

第15章 Struts2+Hibernate+Spring整合 394

15.1 整合目的 394

15.2 創建數據表 394

15.2.1 新建Oracle數據表sshtable 394

15.2.2 新建主鍵約束 395

15.3 新建Web項目 395

15.4 創建Struts2框架支持環境 396

15.4.1 添加Struts2框架支持檔案 396

15.4.2 在web.xml檔案中註冊Struts2的過濾器 396

15.4.3 在項目的src目錄下創建配置檔案struts.xml 397

15.5 添加Hibernate Database Explorer資料庫連線 398

15.5.1 創建資料庫連線對象 398

15.5.2 選擇目的資料庫 398

15.6 添加Hibernate3.1框架支持檔案 398

15.7 添加Spring2.0框架支持檔案 399

15.8 自動創建的配置檔案 400

15.9 在web.xml檔案中加入Spring的utf-8編碼過濾器和Spring監聽 400

15.10 在配置檔案中定義struts.objectFactory常量 402

15.11 對Oracle 11g數據表sshtable進行Hibernate 逆向工程 402

15.12 了解繼承自HibernateDaoSupport類DAO 403

15.13 創建All_DAO對象 407

15.14 創建Table1_Service對象 408

15.15 創建AllService對象 409

15.16 在配置檔案中配置DAO和service的關係 410

15.17 新建自定義Action的父類BaseAction 411

15.18 創建一個操作sshtable表數據的Action 412

15.19 在配置檔案中配置/base和/test路徑和注釋事務 413

15.20 部署到WebLogic10.3中間件容器 416

15.20.1 在WebLogic10.3中創建一個域 416

15.20.2 將MyEclipse與WebLogic進行關聯 418

15.20.3 啟動WebLogic服務並部暑項目 419

15.21 執行帶資料庫插入的Action 421

第16章 有狀態/無狀態SessionBean和訊息驅動Bean 424

16.1 EJB3概述 424

16.1.1 Java EE體系結構 425

16.1.2 容器的概念 425

16.2 有狀態SessionBean和無狀態SessionBean 426

16.2.1 SessionBean的作用 426

16.2.2 SessionBean的種類 426

16.2.3 在MyEclipse中無狀態SessionBean的創建 427

16.2.4 用Web方式調用本地SayHello接口 440

16.2.5 無狀態SessionBean類型為Local和Remote的區別 444

16.2.6 EJB組件接口無註解時的默認情況 445

16.2.7 調用遠程Remote類型的Stateless SessionBean無狀態實驗 446

16.2.8 無狀態SessionBean的回調函式和生命周期 451

16.2.9 無狀態SessionBean實例變數值保留的問題與無狀態SessionBean

實例池 454

16.2.10 什麼是有狀態SessionBean 459

16.2.11 在MyEclipse中有狀態SessionBean的創建與有狀態性實驗 459

16.2.12 將Remote遠程無狀態SessonBean共享的服務重命名 465

16.2.13 使用註解聲明SessionBean的第2種寫法 468

16.2.14 有狀態SessionBean的鈍化與激活 469

16.2.15 有狀態SessionBean的回調函式和生命周期 470

16.2.16 有狀態SessionBean的@Remove回調函式的使用 476

16.2.17 注入其他Local類型的EJB對象 479

16.3 訊息驅動JavaBean(MDB)和在Weblogic中創建訊息目的 481

16.3.1 創建持久性存儲對象 483

16.3.2 創建JMS伺服器 484

16.3.3 創建JMS模組 486

16.3.4 在JMS模組中創建子部署 488

16.3.5 在JMS模組中創建資源 489

16.3.6 點到點式訊息驅動JavaBean 491

16.3.7 發布-訂閱式訊息驅動JavaBean 495

16.4 在EJB3中創建基於Web Service的業務服務 500

16.5 計時器與作業調度 509

第17章 實體Bean 512

17.1 實體Bean概述 512

17.2 持久層、持久化與ORM 512

17.2.1 在Weblogic的JNDI樹中創建節點與對象 515

17.2.2 在Weblogic的JNDI樹中創建子節點 523

17.2.3 在Weblogic的JNDI樹中查找lookup節點 524

17.2.4 在Weblogic的JNDI樹中刪除節點 525

17.3 從保存1條記錄開始 526

17.3.1 安裝Oracle11g資料庫 526

17.3.2 使用Toad管理Oracle資料庫 528

17.3.3 用MyEclipse Database Explorer工具連線Oracle11g資料庫 535

17.3.4 用EJB項目直聯資料庫 538

17.3.5 改成JNDI連線池的實例 543

17.4 解析實體類所使用的註解 548

17.5 在SQL Server 2005資料庫中插入記錄的實驗 549

17.6 在MySQL資料庫中插入記錄的實驗 551

17.7 使用table表在Oracle資料庫中生成主鍵的實驗 553

17.8 用EJB3在Oracle中插入Date時間類型 556

17.9 處理CLOB數據類型 558

17.10 在Weblogic中實現JDBC+JNDI全局性分散式事務實驗 559

17.10.1 JTA和2PC的概述 559

17.10.2 全局性事務處理的案例 559

第18章 JPA核心技能 570

18.1 EntityManager類的概述 570

18.1.1 實體類的狀態 571

18.1.2 EJB3中的事務 571

18.2 EntityManager類的方法 571

18.2.1 persist(Object)方法 574

18.2.2 merge(T)方法和find(Class, Object)方法 575

18.2.3 remove(Object)方法 577

18.2.4 getReference(Class, Object)方法 579

18.2.5 createNativeQuery()方法 583

18.2.6 close()和isOpen()方法 589

18.2.7 refresh(Object)方法 589

18.2.8 clear()和contains(Object)方法 592

18.2.9 createQuery(String)方法 593

18.2.10 createNamedQuery(String)方法 594

18.3 EntityManagerFactory對象介紹 596

18.4 用Java SE客戶端調用遠程EJB3組件(使用逆向DAO) 597

18.5 在Java SE客戶端使用EntityManagerFactory實現持久化(手動配置) 600

18.6 在Java SE客戶端使用EntityManagerFactory實現持久化(自動配置) 603

18.7 在會話Bean中生成EntityManagerFactory 608

18.8 雙向一對多的增刪改查CURD實戰 610

18.8.1 基本環境設定 610

18.8.2 功能的實現 616

第19章 JPQL語言必備技能 625

19.1 JPQL語言介紹 625

19.2 命名參數和索引式參數及實體參數式查詢 625

19.2.1 索引式參數查詢 626

19.2.2 命名式參數查詢 628

19.2.3 為實現主從關聯實驗創建數據表Sheng和Shi 628

19.2.4 Sheng表和Shi表2種關聯查詢的方式 629

19.3 JPQL語言支持的運算符 630

19.3.1 +、-、*、/、=、>=、>、<、<=、<>、between、like和in的使用 631

19.3.2 not取反運算符的使用 634

19.3.3 is null為空運算符的使用 635

19.3.4 is empty主表關聯的子表集合為空運算符的使用 635

19.4 order by的使用 636

19.5 查詢指定欄位的示例 637

19.6 聚合函式avg、count、max、min和sum的使用 639

19.7 group by和having的使用 641

19.8 left join的使用 642

19.9 distinct去除重複記錄 644

19.10 JPQL語言的字元串操作函式 644

19.11 用JPQL語言取得當前的日期和日期時間數據 649

19.12 JPQL語言對日期的判斷 650

19.13 JPQL語言的數學函式 652

19.14 JPQL語言中的分頁功能 654

相關詞條

相關搜尋

熱門詞條

聯絡我們