內容簡介
《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