Java Web整合開發王者歸來

《Java Web整合開發王者歸來》是2010年由清華大學出版社出版的圖書,該書作者是劉京華。

該書全面介紹了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)。

《Java Web整合開發王者歸來(JSP+Servlet+Struts+Hibernate+Spring)》附1張DVD光碟,內容為《Java Web整合開發王者歸來(JSP+Servlet+Struts+Hibernate+Spring)》汲及的原始碼和Java Web學習視頻。

《Java Web整合開發王者歸來(JSP+Servlet+Struts+Hibernate+Spring)》內容全面,結構清晰,注重實戰,非常適合Java Web開發人員學習使用,同時也可以作為軟體公司的案頭必備參考書。

作品目錄

第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

作者簡介

劉京華,畢業於山東大學計算機科學與技術學院。先後任職於用友軟體、IBM中國研究院、Symbian中國研究院等公司或機構。畢業後一直從事Java開發,有超過10年的Java開發經驗。精通JavaWeb開發的各種技術與框架,對圖形化開發、Eclipse外掛程式開發等各種技術也有深入研究。曾經開發過大型的分散式Web系統。參與開發過中國移動、中國聯通、中國電信的網關係統。參與開發過物流管理系統、供應鏈處理系統、聯想公司的RMS系統、IBM的SmartSCOR和Nokia Carbide平台。

相關詞條

相關搜尋

熱門詞條

聯絡我們