Java Web 整合開發王者歸來 含原始碼 PDF 電子書下載地址
Java Web整合開發王者歸來(含原始碼)
並且原始碼比光碟中的新,光碟中的程式碼有部分不全,有兩個專案沒有,現已打上補丁。
PDF檔案解壓縮後324M,原始碼壓縮檔案65.5M
下載地址:
http://download.csdn.net/download/tan3739/9994761
2017年09月26號上傳,下載所需積分1分
內容簡介
參考:http://baike.baidu.com/view/7806146.htm
《Java Web整合開發王者歸來(JSP+Servlet+Struts+Hibernate+Spring)》全面介紹了Java Web開發中的各種相關技術及知識。全書分為9篇,內容層次清晰,難度循序漸進。第1篇為入門篇,內容包括Java Web開發概述等;第2篇為基礎篇,內容包括Servlet技術、JSP技術、會話跟蹤、過濾器Filter、監聽器Listener等;第3篇為高階篇,內容包括JSTL標籤庫的使用、如何自定義標籤、資源國際化、資料庫概述、JDBC詳解、XML概述等;第4篇為Struts框架篇,內容不僅包括Struts
1.x的內容,也包括Struts 2.x中的內容;第5篇為Hibernate框架篇;第6篇為Spring框架篇;第7篇為EJB與Web服務篇,內容包括EJB 3概述、JPA規範Web服務框架XFire等;第8篇為工具篇,內容包括在Java Web專案中常用的開源工具框架、主要有版本管理工具SVN、日誌工具commons-logging與Log4J、報表圖形引擎JFreeChart、PDF元件iText等;第9篇為實戰篇,內容為兩個典型的應用系統:論壇系統(Spring+Struts+Hibernate)、寵物商店(EJB
3+JPA+Struts 2)。
目錄
第1篇 入門篇
第1章 Java Web開發概述 2
1.1 Web相關概念 2
1.1.1 胖客戶端程式RCP 2
1.1.2 瘦客戶端程式TCP 2
1.1.3 B/S與C/S結構 3
1.2 Web開發背景知識 3
1.2.1 Web訪問基本原理 3
1.2.2 HTTP超文字傳輸協議 4
1.2.3 Web瀏覽器 5
1.2.4 Web伺服器 5
1.3 Web開發技術發展歷史 6
1.3.1 傳統的Web伺服器模式開發 6
1.3.2 動態展現頁面技術 6
1.3.3 CGI實現頁面的動態生成 6
1.3.4 Java Servlet:改進的CGI 7
1.3.5 JSP:Servlet的模板 8
1.3.6 JSP基本原理 9
1.4 本章小結 10
第2章 搭建Java Web開發環境 11
2.1 Java Web開發環境概述 11
2.1.1 開發工具包JDK 11
2.1.2 整合開發環境IDE 12
2.1.3 Java伺服器 12
2.2 下載安裝Java環境 13
2.2.1 下載JDK 13
2.2.2 安裝JDK 15
2.2.3 配置環境變數 15
2.3 下載解壓Eclipse 17
2.3.1 下載Eclipse 17
2.3.2 解壓Eclipse 17
2.4 下載MyEclipse外掛 18
2.4.1 下載MyEclipse外掛 18
2.4.2 安裝MyEclipse外掛 19
2.4.3 啟動MyEclipse 19
2.5 下載Tomcat伺服器 20
2.5.1 下載Tomcat 20
2.5.2 解壓配置Tomcat 21
2.5.3 設定埠號 22
2.5.4 設定臨時域名 22
2.5.5 設定虛擬主機 23
2.6 第一個Java Web程式 24
2.6.1 新建Java Web專案 24
2.6.2 新建Servlet 25
2.7 部署到Tomcat 27
2.7.1 手工部署 27
2.7.2 MyEclipse自動部署 28
2.7.3 匯出為WAR包 29
2.7.4 在MyEclipse中啟動Tomcat 30
2.7.5 除錯程式debug模式 31
2.8 本章小結 34
第2篇 基礎篇
第3章 深入Servlet技術 36
3.1 HTTP協議 36
3.1.1 HTTP協議簡介 36
3.1.2 Telnet演示HTTP協議 36
3.1.3 GET方式查詢 37
3.1.4 HTTP頭資料 38
3.1.5 POST方式提交資料 38
3.1.6 其他訪問方式 38
3.2 Servlet概述 39
3.2.1 Servlet工作流程 39
3.2.2 Servlet介面 39
3.2.3 Java Web目錄結構 40
3.3 編寫Servlet 41
3.3.1 實現Servlet 41
3.3.2 配置 43
3.3.3 配置 44
3.3.4 部署Web程式 44
3.4 請求與響應 45
3.4.1 獲取request的變數 45
3.4.2 response生成圖片驗證碼 48
3.5 讀取web.xml引數 51
3.5.1 初始化引數(init-param) 52
3.5.2 上下文引數(context-param) 54
3.5.3 資源注射(@Resource) 57
3.5.4 使用JNDI獲取資源 59
3.5.5 注射資料來源 59
3.6 提交表單資訊 59
3.6.1 GET實現搜尋引擎 60
3.6.2 POST提交個人資訊 64
3.6.3 上傳檔案客戶端 69
3.6.4 上傳檔案伺服器端 70
3.7 帶進度條的檔案上傳 72
3.7.1 工作原理 73
3.7.2 上傳進度條 73
3.7.3 上傳監聽器 74
3.7.4 監聽上傳進度 75
3.7.5 讀取上傳進度 76
3.7.6 顯示上傳進度 77
3.8 Servlet生命週期 81
3.8.1 Servlet生命週期 81
3.8.2 個稅計算器 82
3.8.3 註解@PostConstruct與註解@PreDestroy 85
3.9 Servlet之間的跳轉 86
3.9.1 轉向(Forward) 87
3.9.2 重定向(Redirect) 89
3.9.3 自動重新整理(Refresh) 91
3.10 Servlet與執行緒安全 92
3.10.1 一個例項 92
3.10.2 執行緒不安全 93
3.11 本章小結 94
第4章 深入JSP技術 95
4.1 JSP簡介 95
4.1.1 JSP概述 95
4.1.2 顯示問候語 95
4.1.3 JSP工作原理 97
4.1.4 JSP生命週期 98
4.2 JSP語法 98
4.2.1 JSP元素與模板資料 98
4.2.2 JSP指令碼 99
4.2.3 JSP輸出 99
4.2.4 JSP註釋 100
4.2.5 JSP方法:查詢IP地址 100
4.2.6 JSP的if語句 102
4.2.7 JSP的for迴圈 104
4.2.8 while迴圈:顯示郵件列表 105
4.2.9 JSP的return語句 106
4.2.10 JSP的break語句 107
4.3 JSP指令 108
4.3.1 page指令 109
4.3.2 include指令 110
4.3.3 taglib指令 113
4.4 JSP行為 113
4.4.1 行為 113
4.4.2 使用Java Bean(POJO) 114
4.4.3 scope實現各種計數器 117
4.4.4 嵌入Applet 119
4.4.5 行為 122
4.4.6 行為 123
4.5 JSP隱藏物件 123
4.5.1 out輸出流物件 123
4.5.2 request請求物件 124
4.5.3 response響應物件 124
4.5.4 config配置物件 125
4.5.5 session會話物件 125
4.5.6 application應用程式物件 126
4.5.7 page頁面物件 126
4.5.8 pageContext頁面上下文物件 126
4.5.9 exception異常物件 127
4.6 JSP配置 128
4.6.1 JSP配置 128
4.6.2 標籤 128
4.7 EL表示式 129
4.7.1 EL表示式 129
4.7.2 隱藏物件 130
4.7.3 EL表示式運算 131
4.8 本章小結 133
第5章 會話跟蹤 134
5.1 Cookie機制 134
5.1.1 什麼是Cookie 134
5.1.2 記錄使用者訪問次數 135
5.1.3 Cookie的不可跨域名性 138
5.1.4 Unicode編碼:儲存中文 139
5.1.5 BASE64編碼:儲存二進位制圖片 140
5.1.6 設定Cookie的所有屬性 142
5.1.7 Cookie的有效期 144
5.1.8 Cookie的修改、刪除 145
5.1.9 Cookie的域名 145
5.1.10 Cookie的路徑 146
5.1.11 Cookie的安全屬性 146
5.1.12 JavaScript操作Cookie 147
5.1.13 案例:永久登入 149
5.2 Session機制 152
5.2.1 什麼是Session 152
5.2.2 實現使用者登入 153
5.2.3 Session的生命週期 155
5.2.4 Session的有效期 155
5.2.5 Session的常用方法 156
5.2.6 Session對瀏覽器的要求 156
5.2.7 URL地址重寫 157
5.2.8 Session中禁止使用Cookie 158
5.3 Session與Cookie的比較 158
5.3.1 從存取方式上比較 159
5.3.2 從隱私安全上比較 159
5.3.3 從有效期上比較 159
5.3.4 從對伺服器的負擔上比較 159
5.3.5 從瀏覽器支援上比較 160
5.3.6 從跨域名上比較 160
5.4 本章小結 160
第6章 過濾器Filter 161
6.1 Filter概述 161
6.1.1 Filter概述 161
6.1.2 Filter介面 162
6.1.3 Filter配置 163
6.2 Filter經典案例 164
6.2.1 防盜鏈Filter 164
6.2.2 字元編碼Filter 165
6.2.3 日誌記錄Filter 167
6.2.4 異常捕捉Filter 169
6.2.5 許可權驗證Filter 172
6.2.6 內容替換Filter 174
6.2.7 GZIP壓縮Filter 177
6.2.8 影象水印Filter 182
6.2.9 快取Filter 186
6.2.10 XSLT轉換Filter 191
6.2.11 檔案上傳Filter 194
6.3 本章小結 197
第7章 監聽器Listener 198
7.1 Listener概述 198
7.1.1 Listener的概述 198
7.1.2 Listener的使用 198
7.2 Listener的分類 199
7.2.1 監聽物件的建立與銷燬 199
7.2.2 例項:監聽Session、request與servletContext 200
7.2.3 監聽物件的屬性變化 201
7.2.4 監聽Session內的物件 203
7.3 Listener使用案例 205
7.3.1 單態登入 205
7.3.2 顯示線上使用者 209
7.4 本章小結 214
第3篇 高階篇
第8章 JSTL標籤庫 216
8.1 JSTL概述 216
8.1.1 什麼是標籤 216
8.1.2 一個標籤例項 216
8.1.3 為什麼使用標籤 217
8.1.4 JSTL標籤庫 218
8.2 JSTL的core標籤庫 218
8.2.1 標籤 218
8.2.2 標籤 219
8.2.3 、、標籤 220
8.2.4 顯示偶數 221
8.2.5 標籤遍歷List 222
8.2.6 標籤遍歷Map物件 223
8.2.7 標籤的varStatus屬性 224
8.2.8 標籤 225
8.2.9 實現計數器 226
8.2.10 標籤 228
8.2.11 捕捉異常 228
8.2.12 匯入網路資源 228
8.2.13 標籤 230
8.2.14 標籤 231
8.2.15 標籤 231
8.3 JSTL的fmt標籤庫 231
8.3.1 設定編碼 232
8.3.2 顯示所有地區的資料格式 232
8.3.3 顯示全球時間 234
8.3.4 設定時區 236
8.3.5 、、資源國際化 236
8.3.6 標籤 238
8.3.7 顯示不同地區的各種資料格式 238
8.3.8 解析數字 240
8.3.9 格式化日期 241
8.3.10 解析日期 241
8.4 JSTL的fn方法庫 242
8.4.1 fn:contains()顯示使用者瀏覽器、作業系統 242
8.4.2 fn:containsIgnoreCase()方法 243
8.4.3 fn:endsWith()顯示檔案格式 243
8.4.4 fn:startsWith()方法 244
8.4.5 fn:escapeXml()實現HTML編碼 245
8.4.6 fn:indexOf()方法 245
8.4.7 fn:split()分割字元 246
8.4.8 fn:join()聯合字元 247
8.4.9 fn:length()方法 247
8.5 JSTL的SQL標籤庫 248
8.5.1 設定資料來源 248
8.5.2 查詢表資料 249
8.5.3 分頁顯示 250
8.5.4 結果集的動態遍歷 251
8.5.5 更新表資料 253
8.5.6 , 設定日期引數 254
8.5.7 事務管理 255
8.6 JSTL的XML標籤庫 257
8.6.1 獲取新浪RSS新聞 257
8.6.2 輸出指定元素 259
8.6.3 遍歷新浪RSS新聞 260
8.6.4 標籤 261
8.6.5 、、標籤 261
8.6.6 標籤 262
8.6.7 轉化XML為HTML 262
8.7 本章小結 264
第9章 自定義標籤 265
9.1 編寫自定義標籤 265
9.1.1 版權標籤 265
9.1.2 tld標籤庫描述檔案 267
9.1.3 方法的呼叫順序 268
9.1.4 使用TagSupport 269
9.1.5 帶引數的標籤 270
9.1.6 帶多個引數的標籤 271
9.1.7 帶標籤體的自定義標籤 272
9.1.8 多次執行的迴圈標籤 274
9.1.9 帶動態屬性的自定義標籤 276
9.2 巢狀的自定義標籤 277
9.2.1 例項:表格標籤 277
9.2.2 巢狀標籤的配置 278
9.2.3 table父標籤 279
9.2.4 column子標籤 281
9.2.5 執行效果 282
9.3 JSP 2.x標籤 282
9.3.1 SimpleTag介面 282
9.3.2 帶標籤體的JSP 2.x標籤 283
9.3.3 帶多個標籤體的JSP 2.x標籤 285
9.4 編寫自定義方法 287
9.4.1 自定義方法 287
9.4.2 方法描述檔案 288
9.5 本章小結 290
第10章 資源國際化 291
10.1 資源國際化簡介 291
10.1.1 I18N 291
10.1.2 I10N 291
10.2 資源國際化 291
10.2.1 資源國際化示例 292
10.2.2 資原始檔編碼 292
10.2.3 顯示所有Locale程式碼 294
10.2.4 帶引數的資源 297
10.2.5 ResourceBundle類 297
10.2.6 Servlet的資源國際化 298
10.2.7 顯示所有Locale的數字格式 298
10.2.8 顯示全球時間 301
10.3 本章小結 302
第11章 資料庫概述 303
11.1 資料庫簡介 303
11.1.1 發展歷史 303
11.1.2 資料庫模型 304
11.1.3 SQL、DDL與DML 304
11.2 MySQL資料庫 305
11.2.1 MySQL安裝與配置 305
11.2.2 MySQL啟動與關閉 305
11.2.3 bin目錄下的程式 306
11.2.4 登入MySQL 306
11.2.5 MySQL控制檯 307
11.2.6 控制檯資訊 307
11.3 DDL SQL語句 309
11.3.1 列出資料庫模式 309
11.3.2 切換資料庫模式 309
11.3.3 列出資料表 310
11.3.4 查看錶結構 310
11.3.5 建立資料庫模式 310
11.3.6 刪除資料庫模式 311
11.3.7 修改資料庫模式 311
11.3.8 建立表 311
11.3.9 刪除表 312
11.3.10 修改表 312
11.4 DML SQL語句 313
11.4.1 插入資料 313
11.4.2 查詢資料 313
11.4.3 刪除資料 314
11.4.4 修改資料 314
11.4.5 建立,刪除,授權使用者 315
11.4.6 批量執行SQL語句 315
11.5 MySQL客戶端工具 316
11.5.1 MySQL圖形介面工具 316
11.5.2 MyEclipse管理工具 318
11.6 Apache Derby 319
11.6.1 Derby概述 319
11.6.2 Derby的使用 320
11.6.3 使用嵌入式Derby記錄日誌 320
11.7 本章小結 322
第12章 JDBC詳解 323
12.1 JDBC簡介 323
12.1.1 查詢例項:列出人員資訊 323
12.1.2 各種資料庫的連線 326
12.2 MySQL的亂碼解決 327
12.2.1 MySQL的亂碼解決 327
12.2.2 從控制檯修改編碼 327
12.2.3 從配置檔案修改編碼 328
12.2.4 利用圖形介面工具修改 328
12.2.5 URL中指定編碼方式 329
12.3 JDBC基本操作:CRUD 329
12.3.1 查詢資料庫 329
12.3.2 插入人員資訊 329
12.3.3 註冊資料庫驅動 331
12.3.4 獲取自動插入的ID 332
12.3.5 刪除人員資訊 333
12.3.6 修改人員資料 334
12.3.7 使用PreparedStatement 340
12.3.8 Statement批處理SQL 341
12.3.9 PreparedStament批處理SQL 342
12.4 處理結果集 344
12.4.1 查詢多個結果集 344
12.4.2 可以滾動的結果集 344
12.4.3 Pagination分頁顯示 344
12.4.4 帶條件的查詢 350
12.4.5 ResultSetMetaData元資料 354
12.4.6 直接顯示中文列名 355
12.5 JDBC高階應用 356
12.5.1 DAO模式與Java Bean 356
12.5.2 事務例項:轉賬 362
12.5.3 丟擲異常自動回滾 364
12.5.4 儲存二進位制資料 365
12.5.5 讀取二進位制資料 368
12.5.6 資料來源(連線池) 369
12.6 本章小結 371
第13章 XML概述 372
13.1 初識XML 372
13.1.1 什麼是XML 372
13.1.2 XML的用途 373
13.1.3 XML的技術架構 374
13.1.4 XML開發工具 375
13.2 XML基本語法 375
13.2.1 XML文件的基本結構 375
13.2.2 標記必須閉合 376
13.2.3 必須合理地巢狀 376
13.2.4 XML 元素 377
13.2.5 XML 屬性 377
13.2.6 只有一個根元素 378
13.2.7 大小寫敏感 378
13.2.8 空白被保留 378
13.2.9 註釋的寫法 379
13.2.10 轉義字元的使用 379
13.2.11 CDATA的使用 379
13.3 JDK中的XML API 380
13.4 XML解析模型 380
13.4.1 DOM解析 380
13.4.2 SAX解析 383
13.5 XML與Java類對映JAXB 385
13.5.1 什麼是XML與Java類對映 385
13.5.2 JAXB的工作原理 386
13.5.3 Java物件轉化成XML(marshal) 387
13.5.4 XML轉化為Java物件(unmarshal) 389
13.5.5 更為複雜的對映 390
13.6 本章小結 392
第4篇 Struts框架篇
第14章 Struts 1.x概述 394
14.1 Struts簡介 394
14.1.1 Struts概述 394
14.1.2 MVC概述 395
14.2 第一個Struts 1.x例項 395
14.2.1 新增Struts特性 395
14.2.2 建立HelloAction 397
14.2.3 完成HelloAction 400
14.2.4 新增輸入頁JSP 400
14.2.5 新增輸出頁 402
14.3 Struts工作流程 403
14.4 Struts配置檔案 404
14.4.1 Struts配置檔案詳解 404
14.4.2 多個struts-config.xml 405
14.4.3 配置名稱空間 406
14.5 Form Bean例項:提交使用者資訊 406
14.5.1 使用者資訊對應的Form Bean 406
14.5.2 使用者資訊輸入頁面 407
14.5.3 使用者資訊校驗 409
14.5.4 Form Bean中使用Person實體類 411
14.6 Action的配置 412
14.6.1 Action與ActionForward配置 412
14.6.2 把JSP配置為Action 413
14.7 Action例項:儲存使用者資訊到資料庫 414
14.7.1 在struts-config.xml中配置資料來源 414
14.7.2 Person類程式碼 415
14.7.3 資料表設計 416
14.7.4 Action程式碼:儲存使用者資訊 416
14.7.5 Form Bean程式碼:使用者資訊表單 418
14.7.6 Action程式碼:列出使用者資訊 418
14.7.7 DAO層程式碼:儲存、列出使用者資訊 419
14.7.8 JSP程式碼:新增、列出使用者資訊 421
14.8 Struts 1.x的執行緒安全 423
14.8.1 Action是執行緒不安全的 424
14.8.2 Form Bean是執行緒安全的 424
14.9 本章小結 424
第15章 Struts 1.x高階應用 425
15.1 Struts 1.x標籤庫 425
15.1.1 html標籤庫 425
15.1.2 bean標籤庫 428
15.1.3 logic標籤庫 429
15.1.4 nested標籤庫 430
15.1.5 tiles標籤庫 433
15.2 DispatchAction 438
15.2.1 利用action引數分發 438
15.2.2 DispatchAction 438
15.2.3 配置DispatchAction 439
15.3 上傳檔案 439
15.3.1 FormFile型別 439
15.3.2 儲存FormFile 440
15.4 Validator自動校驗資料 442
15.4.1 支援自動校驗的ValidatorForm 442
15.4.2 Validate規則配置 442
15.4.3 錯誤資訊配置 443
15.4.4 配置到struts-config.xml中 444
15.4.5 配置客戶端JavaScript校驗 444
15.5 動態屬性Form Bean 445
15.5.1 動態屬性表單DynaActionForm 445
15.5.2 Action中獲取動態屬性 446
15.5.3 JSP中使用動態屬性 446
15.6 異常處理 447
15.6.1 異常捕捉ExceptionHandler 447
15.6.2 配置ExceptionHandler 447
15.7 struts-config.xml中使用萬用字元 448
15.8 本章小結 448
第16章 Struts 2.x概述 450
16.1 Struts 2.x簡介 450
16.1.1 Struts 2簡介 450
16.1.2 Struts 2與WebWork 2的關係 450
16.2 第一個Struts 2例項 451
16.2.1 下載Struts 2類庫 451
16.2.2 登入功能Action 451
16.2.3 Struts 2配置檔案 452
16.2.4 JSP登入頁面 453
16.2.5 配置web.xml 454
16.2.6 更改.action字尾 455
16.3 Struts 2工作流程 455
16.3.1 Struts 2工作流程 456
16.3.2 Struts 2的執行緒安全 456
16.3.3 程式入口FilterDispatcher 456
16.4 Struts 2配置檔案 457
16.4.1 struts.properties 457
16.4.2 struts.xml 457
16.4.3 配置package 458
16.4.4 配置名稱空間 458
16.5 Action詳解 459
16.5.1 ActionSupport類 459
16.5.2 Action介面 459
16.5.3 不繼承任何類的Action 460
16.5.4 Action的可執行方法 460
16.5.5 通過URL執行Action的方法 461
16.5.6 將執行方法配置到Action 461
16.6 Struts 2的零配置 462
16.6.1 通過@註解實現Action零配置 462
16.6.2 web.xml中指定Action目錄 463
16.6.3 零配置的Action訪問方式 463
16.7 Action中使用POJO 464
16.7.1 圖書管理Action 464
16.7.2 圖書實體Book類 465
16.7.3 萬用字元配置Action 465
16.7.4 JSP新增、列表頁面 466
16.8 本章小結 467
第17章 Struts 2.x高階應用 469
17.1 資料型別轉換器 469
17.1.1 例項:日期轉換器 469
17.1.2 配置轉換器 470
17.1.3 Action程式碼示例 471
17.1.4 為Action配置轉換器 472
17.2 獲取request、response 473
17.2.1 利用ServletActionContext的靜態方法 473
17.2.2 利用相關的Aware介面 474
17.3 使用Validator校驗資料 475
17.3.1 使用XML配置資料校驗Validator 475
17.3.2 配置客戶端Validator 476
17.3.3 常用的Validator 477
17.3.4 使用@Java註解配置Validator 477
17.4 本章小結 478
第18章 Struts 2.x標籤 479
18.1 Struts 2.x標籤 479
18.1.1 Struts 2標籤與EL表示式 479
18.1.2 Struts 2標籤tld檔案 479
18.2 OGNL語言 479
18.2.1 OGNL概述 479
18.2.2 “#”宣告OGNL表示式 480
18.2.3 “%”顯式宣告OGNL表示式 483
18.2.4 “$”在資原始檔中引用OGNL表示式 483
18.3 控制標籤 483
18.3.1 if、elseif、else標籤控制流程 483
18.3.2 append標籤連線多個List 485
18.3.3 generator標籤將字元轉化為List 486
18.3.4 iterator標籤遍歷集合 486
18.3.5 merge標籤取集合的並集 487
18.3.6 subset標籤過濾集合元素 487
18.4 資料標籤 488
18.4.1 action標籤包含action頁面 489
18.4.2 bean標籤引用Java Bean 489
18.4.3 date標籤輸出日期 489
18.4.4 i18n、text標籤宣告資源國際化 490
18.4.5 include標籤包含JSP頁面 491
18.4.6 param標籤傳遞引數 491
18.4.7 set標籤設定變數值 491
18.4.8 property標籤輸出變數值 492
18.5 表單UI標籤 492
18.5.1 form標籤輸出表單 492
18.5.2 textfield、textarea、file、checkbox、radio標籤 493
18.5.3 select、autocomplete標籤下拉框 494
18.5.4 使用動態資料的autocomplete標籤 495
18.5.5 checkboxlist標籤多選框組 497
18.5.6 combobox標籤複合框 498
18.5.7 datetimepicker標籤日期選擇器 498
18.5.8 doubleselect標籤聯動選擇框 499
18.5.9 optiontransferselect標籤 500
18.5.10 optgroup標籤選項組 502
18.6 非表單UI標籤 503
18.6.1 debug標籤輸出除錯資訊 503
18.6.2 fielderror、actionerror、actionmessage標籤錯誤資訊 504
18.6.3 div、submit、a標籤實現無重新整理獲取資料 505
18.6.4 無重新整理實現登入、登出 508
18.6.5 tabbedPanel標籤頁 510
18.6.6 tree標籤輸出樹 512
18.6.7 使用tree顯示檔案結構 513
18.6.8 使用tree動態載入資料 515
18.7 本章小結 517
第19章 Struts 2.x攔截器與檔案上傳 519
19.1 使用攔截器 519
19.1.1 timer計時攔截器 519
19.1.2 token防重複提交攔截器 520
19.1.3 execAndWait執行等待攔截器 522
19.1.4 自定義的許可權驗證攔截器 524
19.2 上傳檔案 525
19.2.1 上傳檔案的Action 525
19.2.2 上傳檔案的JSP表單 527
19.2.3 上傳檔案相關的設定 528
19.2.4 錯誤資訊設定 529
19.2.5 上傳多個檔案 529
19.3 本章小結 530
第5篇 Hibernate框架篇
第20章 Hibernate入門 532
20.1 Hibernate簡介 532
20.1.1 ORM概述 532
20.1.2 認識Hibernate 532
20.1.3 Hibernate的原理 533
20.2 第一個Hibernate程式 533
20.2.1 新增Hibernate特性 533
20.2.2 新增Hibernate的Jar 535
20.2.3 配置Cat實體類 535
20.2.4 修改Hibernate配置檔案 536
20.2.5 修改Hibernate工具類 537
20.2.6 初始化MySQL資料庫 538
20.2.7 配置Log4J 538
20.2.8 執行Hibernate程式 539
20.3 第一個Hibernate Web程式 541
20.3.1 DAO層程式碼 541
20.3.2 Servlet層程式碼 543
20.3.3 列出所有的Cat 544
20.3.4 新增Cat 546
20.3.5 修改Cat 548
20.3.6 刪除Cat 549
20.4 本章小結 550
第21章 從巨集觀上把握Hibernate 551
21.1 Hibernate體系結構 551
21.2 Hibernate的相關概念 551
21.3 可持久化物件的狀態 552
21.4 Hibernate配置引數 552
21.4.1 配置檔案hibernate.properties、hibernate.cfg.xml 552
21.4.2 程式設計式配置、執行時配置 553
21.4.3 獲取SessionFactory 554
21.4.4 獲取、斷開資料庫連線 554
21.4.5 可選的配置引數 555
21.4.6 Hibernate日誌 557
21.5 本章小結 558
第22章 Hibernate實體對映 559
22.1 實體類對映 559
22.1.1 @註解配置 559
22.1.2 XML檔案配置 560
22.1.3 配置到hibernate.cfg.xml中 561
22.2 主鍵對映 561
22.2.1 @配置主鍵 561
22.2.2 XML配置主鍵 562
22.3 主鍵生成規則 562
22.3.1 @主鍵生成規則 562
22.3.2 XML主鍵生成規則 563
22.4 普通屬性對映 564
22.4.1 @配置普通屬性 564
22.4.2 XML配置普通屬性 565
22.5 日期屬性配置 565
22.5.1 @配置日期屬性 565
22.5.2 XML配置日期屬性 566
22.6 臨時屬性對映 566
22.7 版本屬性配置 566
22.7.1 樂觀鎖與悲觀鎖 566
22.7.2 @配置樂觀鎖 567
22.7.3 XML配置樂觀鎖 567
22.8 本章小結 567
第23章 Hibernate實體關係對映 568
23.1 單邊的一對多關係:電子郵件管理 568
23.1.1 UML、資料庫關係 568
23.1.2 @配置Person2類 568
23.1.3 @配置Email類 569
23.1.4 配置到Hibernate.cfg.xml中 570
23.1.5 執行程式碼 570
23.1.6 延遲載入與即時載入 572
23.1.7 延遲載入異常 572
23.1.8 XML配置Person類 574
23.1.9 XML配置Email類 575
23.1.10 載入XML配置的實體 575
23.1.11 配置String型別的實體 576
23.2 單邊的多對一關係:論文管理 578
23.2.1 UML、資料庫關係 578
23.2.2 @配置Type類 578
23.2.3 @配置Article類 579
23.2.4 配置到Hibernate.cfg.xml 579
23.2.5 執行程式碼 580
23.2.6 XML配置Type類 581
23.2.7 XML配置Article類 581
23.3 雙邊的多對一、一對多關係:學生屬性 582
23.3.1 UML、資料庫關係 582
23.3.2 @配置Clazz類 583
23.3.3 @配置Student類 584
23.3.4 配置到Hibernate.cfg.xml 584
23.3.5 執行程式碼 585
23.3.6 XML配置Clazz類 586
23.3.7 XML配置Student類 587
23.4 單邊的多對多關係:論壇文章管理 588
23.4.1 UML、資料庫關係 588
23.4.2 @配置Tag類 588
23.4.3 @配置Post類 589
23.4.4 執行程式碼 590
23.4.5 XML配置Tag類 592
23.4.6 XML配置Post類 592
23.5 雙邊的多對多關係 593
23.5.1 @配置Tag類 593
23.5.2 XML配置Tag類 593
23.6 單邊的一對一關係:艦船管理 594
23.6.1 UML、資料庫關係 594
23.6.2 @配置Ship類 594
23.6.3 @配置Sailor類 595
23.6.4 執行程式碼 596
23.6.5 XML配置Ship類 597
23.6.6 XML配置Sailor類 598
23.7 雙邊的一對一關係 598
23.7.1 @配置Ship類 599
23.7.2 XML配置Ship類 599
23.8 主鍵相同的一對一關係:客戶地址管理 599
23.8.1 UML、資料庫關係 599
23.8.2 @配置Customer類 600
23.8.3 @配置Address類 600
23.8.4 執行程式碼 601
23.8.5 XML配置Customer類 603
23.8.6 XML配置Address類 603
23.9 Map對映 604
23.9.1 @ MapKey配置Map 604
23.9.2 XML配置Map 604
23.10 本章小結 605
第24章 Hibernate查詢語言HQL 606
24.1 HQL基礎查詢 606
24.1.1 HQL語法 606
24.1.2 HQL大小寫不敏感 606
24.1.3 使用Package名 606
24.2 返回型別 607
24.2.1 查詢單個的物件 607
24.2.2 返回集合屬性 607
24.3 同時返回多個物件 608
24.3.1 返回Object[]陣列 608
24.3.2 返回List型別 608
24.3.3 返回Map型別 608
24.3.4 返回Java實體物件 609
24.4 條件查詢 609
24.4.1 where子句語法 609
24.4.2 HQL支援的運算子 609
24.5 統計函式 610
24.6 HQL分頁顯示 611
24.7 HQL級聯查詢 611
24.7.1 跨表查詢 611
24.7.2 級聯查詢 611
24.8 使用SQL資料庫 612
24.8.1 使用SQLQuery 612
24.8.2 返回實體型別 612
24.9 命名常用的查詢 612
24.9.1 @配置命名查詢 613
24.9.2 設定查詢擴充套件 613
24.9.3 設定多個命名查詢 613
24.9.4 XML配置命名查詢 614
24.10 本章小結 615
第25章 Hibernate高階查詢 616
25.1 單一實體類的查詢 616
25.1.1 員工實體類Employee查詢 616
25.1.2 員工管理EmployeeServlet 619
25.1.3 查詢員工的JSP程式碼 621
25.1.4 JSP顯示頁面 624
25.1.5 使用引數查詢 626
25.2 實體間關係的查詢 627
25.2.1 部門實體類Department類 628
25.2.2 部門管理DepartmentServlet 629
25.2.3 顯示部門的JSP程式碼 631
25.2.4 新增部門程式碼(Ajax方式查詢經理) 633
25.2.5 修改員工時選擇部門 638
25.3 join級聯查詢 642
25.3.1 SQL中的join 643
25.3.2 Hibernate中的join 645
25.4 本章小結 648
第6篇 Spring框架篇
第26章 Spring概述 650
26.1 Spring框架 650
26.1.1 Spring背景 650
26.1.2 Spring容器 650
26.2 一個依賴注入的例子 650
26.2.1 一個普通程式的例子 651
26.2.2 Dao介面及實現 652
26.2.3 Service介面及實現 652
26.2.4 組裝DAO與Service 653
26.2.5 執行程式碼 654
26.2.6 反向控制的原理 654
26.2.7 面向切面程式設計的原理 654
26.3 一個切面程式設計的例子 655
26.3.1 實現攔截器介面 655
26.3.2 AOP配置攔截器 655
26.3.3 執行程式碼 656
26.4 Spring框架的組成 657
26.5 本章小結 658
第27章 Spring的Core模組 659
27.1 BeanFactory工廠 659
27.1.1 例項化BeanFactory 659
27.1.2 XmlBeanFactory配置格式 660
27.2 配置Java Bean 660
27.2.1 基本配置 660
27.2.2 工廠模式factory-method 661
27.2.3 建構函式 661
27.2.4 單態模式singleton 662
27.2.5 配置屬性 662
27.2.6 設定物件屬性 663
27.2.7 配置List屬性 663
27.2.8 配置Set屬性 664
27.2.9 配置Map屬性 664
27.2.10 配置Properties屬性 664
27.2.11 與的區別 665
27.2.12 設定destroy-method銷燬方法 665
27.2.13 設定depends-on依賴物件 665
27.2.14 初始化方法init-method 665
27.3 屬性自動裝配autowire 666
27.3.1 配置autowire自動裝配 666
27.3.2 autowire取值範圍 666
27.4 依賴檢查dependency 667
27.4.1 配置dependency依賴檢查 667
27.4.2 dependency屬性取值範圍 667
27.5 Bean的高階特性 667
27.5.1 BeanNameAware介面獲取Bean的id 668
27.5.2 BeanFactoryAware介面獲取BeanFactory 668
27.5.3 InitializingBean介面執行初始化方法 668
27.5.4 DisposableBean介面執行銷燬方法 669
27.6 BeanFactory高階特性 669
27.7 屬性覆蓋器 669
27.7.1 配置PropertyOverrideConfigurer屬性覆蓋器 669
27.7.2 properties配置 670
27.8 本章小結 670
第28章 Spring的AOP模組 671
28.1 例項:使用攔截器攔截方法 671
28.1.1 Service介面 671
28.1.2 Service實現程式碼 671
28.1.3 方法前攔截器檢查name是否為null 672
28.1.4 返回後攔截器輸出返回值 673
28.1.5 異常攔截器捕獲異常 673
28.1.6 攔截器配置 674
28.1.7 執行程式碼 675
28.2 攔截器與Filter的區別 676
28.3 AOP的相關概念 676
28.4 AOP的代理模式 677
28.4.1 ProxyFactoryBean代理工廠物件 677
28.4.2 TransactionProxyFactoryBean事務代理工廠物件 677
28.5 本章小結 678
第29章 Spring的DAO模組 679
29.1 例項:儲存Person實體 679
29.1.1 實體類Person程式碼 679
29.1.2 DAO層介面 679
29.1.3 繼承JdbcDaoSupport 680
29.1.4 Spring配置 681
29.1.5 執行程式碼 682
29.2 返回實體物件 683
29.2.1 MappingSqlQuery實現程式碼 683
29.2.2 使用MappingSqlQuery 683
29.2.3 SqlUpdate執行更新 684
29.2.4 SqlFunction返回單一結果 684
29.3 Spring事務管理 685
29.3.1 TransactionRun程式碼 685
29.3.2 配置事務 686
29.3.3 執行程式碼 687
29.4 本章小結 687
第30章 Spring的ORM模組 688
30.1 例項:儲存Cat實體 688
30.1.1 Cat實體類程式碼 688
30.1.2 DAO層介面 689
30.1.3 繼承HibernateDaoSupport 689
30.2 配置整合Hibernate 690
30.2.1 在Spring中配置Hibernate 690
30.2.2 執行程式碼 691
30.2.3 配置XML檔案實體 692
30.3 管理Hibernate事務 693
30.3.1 Service介面 693
30.3.2 Service實現程式碼 693
30.3.3 在Service層配置事務 694
30.4 本章小結 695
第31章 Spring的Web模組 696
31.1 整合Struts 1.x:繼承方式 696
31.1.1 CatForm程式碼 696
31.1.2 CatAction新增、列出所有Cat 697
31.1.3 Struts配置檔案 698
31.1.4 異常處理頁面 699
31.1.5 新增、顯示Cat頁面 699
31.1.6 在web.xml中配置Spring、Struts 700
31.1.7 新增OpenSessionInViewerFilter 702
31.1.8 其他方式載入Spring配置 702
31.2 整合Struts 1.x:代理方式 703
31.2.1 Cat2Action新增、列出所有Cat 703
31.2.2 Struts配置檔案 704
31.2.3 Spring配置檔案 705
31.3 整合Struts 2.x 706
31.3.1 CatAction新增、列出所有Cat 706
31.3.2 在Struts 2配置檔案中配置Spring 707
31.3.3 在Spring配置檔案中配置Action 708
31.3.4 在web.xml配置中配置Spring、Struts 2 708
31.3.5 JSP程式碼 709
31.4 本章小結 710
第32章 Spring的MVC模組 711
32.1 MVC的控制層 711
32.1.1 MVC的控制層 711
32.1.2 Spring MVC的優缺點 712
32.2 MVC的檢視層 712
32.3 MVC配置 713
32.4 web.xml配置 714
32.5 多業務分發器 715
32.5.1 MultiActionController分發控制器 715
32.5.2 配置分發引數 716
32.6 本章小結 717
第33章 Spring開發例項(SSH、SSJ) 718
33.1 例項一:訪問統計系統(結合Struts 1、Hibernate) 718
33.1.1 訪問記錄 718
33.1.2 線上使用者 719
33.1.3 工作原理 719
33.1.4 系統構架 721
33.2 伺服器端統計程式碼 721
33.2.1 實體類程式碼 721
33.2.2 DAO層程式碼 723
33.2.3 DAO層配置 725
33.2.4 資料來源的附加配置 727
33.2.5 Action程式碼 727
33.2.6 計算IP地址、搜尋關鍵詞 731
33.2.7 配置Spring到web.xml中 732
33.3 訪問資訊列表 733
33.3.1 訪問資訊列表 733
33.3.2 線上使用者列表 736
33.4 例項二:郵件傳送系統(結合Struts 2、JPA) 737
33.4.1 實體類程式碼 737
33.4.2 DAO層程式碼 738
33.4.3 JPA的配置檔案 739
33.4.4 Spring的郵件傳送器 740
33.4.5 傳送簡單文字郵件 741
33.4.6 Struts 2的配置檔案 744
33.4.7 Spring的配置檔案 744
33.4.8 web.xml配置檔案 746
33.4.9 傳送HTML郵件 747
33.4.10 已傳送郵件列表 751
33.5 Spring定時任務 753
33.5.1 JDK中的定時任務 754
33.5.2 Spring中的定時任務 755
33.5.3 定時任務配置 757
33.5.4 定時器觸發時間配置 758
33.6 小結 760
第7篇 EJB與Web服務篇
第34章 EJB 3概述 762
34.1 EJB技術概述 762
34.1.1 什麼是EJB 762
34.1.2 EJB型別 763
34.2 下載和安裝JBoss伺服器 763
34.2.1 下載JBoss 764
34.2.2 JBoss的目錄結構 764
34.2.3 MyEclipse中配置JBoss 765
34.2.4 啟動JBoss伺服器 767
34.3 例項:HelloEJBService 767
34.3.1 新建EJB工程 767
34.3.2 定義EJB業務介面 768
34.3.3 編寫SessionBean 768
34.3.4 EJB的部署 769
34.4 執行EJB 771
34.4.1 客戶端呼叫EJB 771
34.4.2 Web應用呼叫EJB 773
34.5 EJB其他的相關技術規範 775
34.6 本章小結 775
第35章 JPA規範 776
35.1 JPA概述 776
35.1.1 JPA的出現 776
35.1.2 JPA規範 776
35.1.3 JPA與EJB 3 777
35.1.4 Java EE容器 777
35.2 例項:儲存Student實體類 777
35.2.1 Student程式碼 777
35.2.2 StudentServlet新增、列出所有Student 778
35.2.3 persistence.xml程式碼 780
35.2.4 配置JBoss伺服器 781
35.2.5 執行JPA程式 782
35.3 JPA的API 783
35.3.1 實體類配置 783
35.3.2 獲取EntityManager 783
35.3.3 實體類的狀態 784
35.3.4 持久化persist() 784
35.3.5 查詢find()與getReference() 784
35.3.6 儲存merge() 785
35.3.7 刪除remove() 785
35.3.8 重新整理refresh()和包含contains() 785
35.3.9 查詢createQuery() 785
35.3.10 本地查詢createNativeQuery() 786
35.3.11 寫入資料庫flush() 786
35.3.12 設定寫入模式setFlushModel() 786
35.3.13 返回實現者getDelegate() 786
35.3.14 清除物件clear() 786
35.4 本章小結 787
第36章 Web Service框架XFire 788
36.1 XFire概述 788
36.1.1 什麼是XFire 788
36.1.2 下載XFire 789
36.1.3 XFire的目錄結構 789
36.2 XFire開發起步 790
36.2.1 配置Web服務專案 790
36.2.2 配置檔案清單 791
36.2.3 開發一個Web服務 792
36.2.4 釋出Web服務 794
36.3 Web服務客戶端 796
36.3.1 MyEclipse客戶端 796
36.3.2 SDK方式的客戶端 797
36.3.3 根據WSDL生成的客戶端 799
36.4 Web服務安全 800
36.4.1 SOAP Header中進行身份驗證 800
36.4.2 WS-Security進行身份驗證 803
36.4.3 使用者名稱/密碼方式 805
36.4.4 數字簽名(Signature) 807
36.4.5 加密(Encryption) 810
36.5 XFire與Spring整合 812
36.5.1 配置Spring Bean 812
36.5.2 配置XFire Servlet 812
36.5.3 配置Web服務Bean 813
36.5.4 配置各種Handler 814
36.6 本章小結 816
第8篇 工具篇
第37章 版本管理工具SVN 818
37.1 Subversion概述 818
37.1.1 什麼是版本控制 818
37.1.2 什麼是Subversion 818
37.1.3 Subversion的歷史 819
37.1.4 Subversion的優勢 819
37.1.5 Subversion的技術架構 820
37.2 下載和安裝Subversion 821
37.2.1 Subversion的版本 822
37.2.2 下載Subversion 823
37.2.3 安裝Subversion 823
37.3 配置Subversion伺服器 824
37.3.1 建立資源庫 825
37.3.2 設定訪問使用者 826
37.3.3 啟動Subversion服務 828
37.3.4 Subversion的常用命令 829
37.4 使用Subversion客戶端TortoiseSVN 829
37.4.1 下載和安裝TortoiseSVN 829
37.4.2 瀏覽資源庫 830
37.4.3 在資源庫中增加資料夾 831
37.4.4 匯入檔案到資源庫(import) 833
37.4.5 從資源庫中遷出(checkout) 835
37.4.6 更新(update)——修改——提交(commit) 836
37.4.7 鎖定(lock)——修改——提交——解鎖 839
37.4.8 解決衝突的辦法 839
37.4.9 檢視修改日誌 842
37.4.10 歷史版本的比較 844
37.4.11 恢復到之前的版本 845
37.4.12 TortoiseSVN的配置 846
37.5 與Eclipse整合 846
37.5.1 下載和安裝Subclipse 846
37.5.2 在Eclipse中新建資源庫 848
37.5.3 將Eclipse專案與資源庫中的檔案同步 849
37.5.4 在Eclipse中使用的其他功能 850
37.6 本章小結 850
第38章 日誌工具commons- logging與Log4J 851
38.1 日誌概述 851
38.1.1 日誌的原理 851
38.1.2 JDK 1.4的Logging 852
38.1.3 Log4j控制元件 853
38.1.4 commons-logging控制元件 854
38.2 Log4j控制元件 855
38.2.1 Log4j概述 856
38.2.2 Log4j的執行效率 856
38.2.3 優化日誌程式碼 856
38.2.4 Log4j.properties配置檔案 857
38.2.5 使用其他配置檔案 857
38.2.6 Log4j.xml配置檔案 858
38.3 日誌記錄器Logger 858
38.3.1 日誌記錄器Logger 858
38.3.2 Logger的配置 858
38.3.3 rootLogger配置 859
38.3.4 類別category配置 859
38.4 輸出地Appender 859
38.4.1 輸出到控制檯 860
38.4.2 輸出到檔案 860
38.4.3 輸出到按大小滾動檔案 861
38.4.4 輸出到按日期滾動檔案 861
38.4.5 輸出到JDBC資料庫 862
38.4.6 輸出到SOCKET套接字 864
38.4.7 輸出到SMTP郵件 864
38.4.8 自定義輸出 865
38.5 日誌格式化器Layout 867
38.5.1 PatternLayout佈局 867
38.5.2 HTMLLayout佈局 868
38.5.3 XMLLayout佈局 868
38.6 本章小結 870
第39章 報表圖形引擎JFreeChart 871
39.1 JFreeChart簡介 871
39.1.1 下載JFreeChart 871
39.1.2 核心類包介紹 872
39.2 圖形的輸出方式 872
39.2.1 在Servlet生成圖片 872
39.2.2 直接生成圖片檔案 876
39.3 輸出柱形圖 877
39.3.1 使用DefaultCategoryDataset資料集繪製柱形圖 877
39.3.2 使用XYDataset資料集繪製柱形圖 879
39.4 輸出折線圖 882
39.5 輸出區域圖 884
39.6 輸出時序圖 887
39.7 輸出組合圖表 889
39.8 其他種類的圖形 892
39.9 本章小結 892
第40章 PDF元件iText 894
40.1 下載iText元件 894
40.2 輸出pdf的基本步驟 895
40.3 設定pdf檔案屬性 896
40.4 插入文字 898
40.5 文字的中文處理 899
40.6 插入表格 899
40.7 插入影象 900
40.8 在Servlet中輸出pdf 902
40.9 本章小結 903
第9篇 實 戰 篇
第41章 論壇系統(Spring+Struts+ Hibernate) 906
41.1 功能概述 906
41.1.1 功能模組 906
41.1.2 執行效果 906
41.2 資料庫設計 907
41.2.1 實體類設計 907
41.2.2 BaseBean基類程式碼 908
41.2.3 Person類程式碼 908
41.2.4 Category類程式碼 909
41.2.5 Board類程式碼 909
41.2.6 Thread類程式碼 910
41.2.7 Reply類程式碼 911
41.2.8 資料庫與Hibernate配置 912
41.3 DAO層設計 913
41.3.1 IDao程式碼 913
41.3.2 DaoImpl程式碼 913
41.4 Service層設計 914
41.4.1 IService介面 915
41.4.2 ServiceImpl實現 915
41.5 Action層設計 916
41.5.1 ForumForm基類 916
41.5.2 ForumAction基類 917
41.5.3 JSP層程式碼 918
41.6 使用者模組 919
41.6.1 IPersonService介面 919
41.6.2 PersonServiceImpl實現 920
41.6.3 MD5加密工具類 921
41.6.4 PersonForm程式碼 921
41.6.5 PersonAction程式碼 922
41.6.6 JSP註冊頁面 925
41.6.7 PersonAction配置 926
41.6.8 登入攔截器 929
41.6.9 異常捕捉 930
41.6.10 實現使用者登入 931
41.6.11 實現使用者資料檢視 933
41.7 類別模組 935
41.7.1 ICategoryService介面 935
41.7.2 CategoryServiceImpl實現 936
41.7.3 CategoryForm程式碼 936
41.7.4 實現瀏覽類別 937
41.7.5 實現新增類別 940
41.8 版面模組 941
41.8.1 IBoardService介面 942
41.8.2 BoardServiceImpl實現 942
41.8.3 BoardForm程式碼 942
41.8.4 實現瀏覽版面 943
41.8.5 實現新增版面 946
41.8.6 實現設定版主 949
41.9 帖子模組 951
41.9.1 IThreadService介面 951
41.9.2 ThreadServiceImpl實現 952
41.9.3 ThreadForm程式碼 952
41.9.4 實現瀏覽帖子 953
41.9.5 實現發表帖子 955
41.10 回帖模組 958
41.10.1 IReplyService介面 958
41.10.2 ReplyServiceImpl實現 959
41.10.3 ReplyForm程式碼 960
41.10.4 實現發表回帖 960
41.11 本章小結 963
第42章 分散式寵物商店(EJB 3+JPA+ Struts 2) 964
42.1 系統概述 964
42.1.1 需求描述 964
42.1.2 系統預覽 965
42.2 系統構架 966
42.2.1 系統構架圖 966
42.2.2 實體類設計 967
42.2.3 業務類實現 969
42.2.4 Session Bean查詢 978
42.2.5 persistence.xml配置 980
42.2.6 EJB 3元件部署 980
42.3 Web層的設計 982
42.3.1 Struts 2專案的檔案說明 982
42.3.2 配置Struts 2 984
42.3.3 配置Tiles 985
42.3.4 使用Tiles 986
42.4 使用者註冊與登入 989
42.4.1 使用者註冊頁面 989
42.4.2 註冊處理Action 990
42.4.3 所有Action的父類BaseAction 992
42.4.4 登入頁面 994
42.5 類別與寵物管理 995
42.5.1 寵物類別列表 995
42.5.2 新增寵物類別 999
42.5.3 新增寵物 1000
42.5.4 刪除寵物分類和寵物 1003
42.6 購物車管理 1004
42.6.1 購買寵物 1004
42.6.2 檢視購物車 1006
42.6.3 付款結賬 1009
42.7 本章小結 1010