《輕量級Web套用開發寶典》是2011年出版的一本書籍,作者是陳天河。
基本介紹
- 書名:輕量級Web套用開發寶典
- 作者:陳天河 等編著
- ISBN:978-7-121-11953-8
- 頁數:644頁
- 定價:79.00元(含光碟1張)
- 出版社:2011年1月
- 開本:16開
宣傳語,內 容 簡 介,序,目 錄,
宣傳語
以入門級的實例為起點,充分考慮初學者的需要
以實例講解為基礎,探索組件的設計思想
書中實例都來源於真實的項目開發,力爭與實際工作緊密結合
內容講解由淺入深、循序漸進,可以滿足不同層次讀者的需求
內 容 簡 介
本書詳細講解了Struts 2.1,Hibernate 3.5和Spring 3.0這三個組件的基礎知識和基本使用方法,並通過一系列集成開發實例講解了這三個組件在J2EE項目中的套用。
本書對每一個組件的講解都是以入門級實例開始的,然後對組件的架構以及各方面的功能進行了深入的探討。這樣安排的好處是使讀者在具備了初步知識的基礎上對組件進行更深入的理解,並通過一系列貼近實際的實例來提高讀者對組件的把握能力以及迅速豐富開發經驗。本書的配套光碟中包含了本書所有實例的完整原始碼以及開發中需要使用到的輔助工具。
本書適合於使用基於Struts,Hibernate,Spring的Java應用程式進行開發的技術人員,同時也非常適合對這三種技術感興趣的讀者進行學習和提高。
序
Java開發是現在軟體開發中最大的熱點,而輕量級的J2EE由於其開發容易、套用方便無疑成為了熱點中的熱點。本書正是圍繞目前炙手可熱的輕量級J2EE組件——Struts,Hibernate和Spring為核心進行講解的。在本書中使用了目前最流行的集成開發環境Eclipse,並對其基本配置、使用方法以及在軟體開發中常用的功能進行了詳細的講解。
Struts 2.1是一個實現了MVC模式的Web套用組件,是由WebWork組件發展而來的,因此是一個非常成熟的Web組件,被廣泛地套用於各種Web套用系統的表示層實現中。
Hibernate是一個成熟的ORM組件,主要用於實現數據的持久化功能。它的最大作用在於構築了面向對象的Java語言與關係型資料庫之間的橋樑,這樣就使開發人員可以直接通過對Java對象的持久化操作來完成對數據的持久化操作。
Spring作為一個輕量級的J2EE框架,其核心是一個功能強大的IoC容器,在此容器的基礎上又提供了對AOP的支持,以及對持久層和表示層的封裝實現。同時,它也提供了對常用持久層組件和表示層組件的支持。
任何程式語言和技術的學習都應該以實踐為基礎,也就是說只有通過具體的練習實現了所要完成的功能,才能說對於這個知識點有了一定的了解。
就像所有的編程書籍都會以類似“Hello World!”的實例開始進行講解一樣,本書每個組件的講解都是以最基礎的實例進行講解的。在這些實例中,讀者可以了解到組件的基本用法和主要功能,為後面深入的學習打下堅實的基礎。
在入門實例之後進行了組件的框架以及更深入的講解,目的是使讀者在具備了初步知識的基礎上對組件進行更深入的理解,並通過一系列貼近實際的實例來提高讀者對組件的把握能力以及豐富開發經驗。
本書的最後一章是一個使用Struts 2,Hibernate和Spring集成開發的實例,目的是增強讀者對這三個組件整體的把握能力。對這三個組件的集成使用是最終目標,對每一個組件都能做到融會貫通才是本書的核心目的。
本書在內容的安排和知識的講解上具有以下特點。
適用範圍廣
本書不但適用具有一定Java經驗的開發人員使用,也同樣適用於剛剛步入軟體領域的初級程式設計師或者大中專院校的學生。本書對於組件都是以最基本的入門知識講起,注意了知識層次的安排,希望讀者在練習中逐步掌握各個組件的使用方法。
知識全面
現在的軟體開發工作已經不再是只依賴於單一組件就可以完成的了,本書以Struts 2.1,Hibernate 3.5和Spring 3.0為核心,同時還介紹了一些相關組件的使用方法。
通俗易懂
本書語言平實,講解詳細。對每一個專業的術語都進行了詳細的講解,並輔助以各種實例和練習來加強讀者對知識的理解。
實用性強
本書所介紹的開發方法是被目前大多數軟體開發小組所採用的,並且具體的開發實例也是軟體開發人員所經常遇到的。通過對本書的學習,讀者可以掌握處理和解決開發中所面臨的各種問題的方法。
經驗總結
本書的作者具有多年的Java項目開發經驗,在講解的過程中包含了很多開發中的注意事項和經驗總結,使讀者可以在軟體開發過程中少走彎路,從而迅速提高自己的開發經驗和開發水平。
本書主要由陳天河編著,參與本書寫作的還有陳光利、劉書琴、劉秀文、馬連傑、陳君、馬連和、張明才、趙燕俠、康國光、馬紅軍、康克磊、劉博、楊淑華、於淼等。由於作者水平有限,書中疏漏和不足之處在所難免,敬請廣大讀者批評指正。
編 者
目 錄
第1章 配置開發環境 1
1.1 安裝JDK 1
1.1.1 獲得JDK安裝軟體 1
1.1.2 安裝JDK 2
1.1.3 檢查JDK的安裝結果 2
1.2 Eclipse初探 4
1.2.1 Eclipse的發布版本 5
1.2.2 安裝和配置Eclipse 6
1.2.3 運行Eclipse 6
1.2.4 Eclipse集成環境概述 7
1.2.5 使用Eclipse開發第一個Java程式 8
1.3 Tomcat 12
1.3.1 獲得Tomcat 12
1.3.2 安裝和配置Tomcat 13
1.3.3 啟動Tomcat 13
1.3.4 在Eclipse中配置Tomcat 14
1.4 安裝Oracle 16
1.5 小結 19
第2章 Struts 2入門 20
2.1 Struts 2簡介 20
2.1.1 了解Struts 2 21
2.1.2 獲得Struts 2 23
2.1.3 運行Struts 2的樣例程式 25
2.2 Struts 2的第一個套用 26
2.2.1 構建Hello World程式 26
2.2.2 實現用戶登錄功能 37
2.3 小結 44
第3章 深入Struts 2 45
3.1 Struts 2的處理流程 45
3.2 StrutsPrepareAndExecuteFilter 48
3.2.1 StrutsPrepareAndExecuteFilter的作用 48
3.2.2 StrutsPrepareAndExecuteFilter的配置 50
3.3 Struts 2的配置檔案 51
3.3.1 package元素 54
3.3.2 include元素 55
3.3.3 bean元素 56
3.3.4 constant元素 60
3.4 Struts 2中常量的配置 60
3.4.1 Struts 2中常量配置的優先權 60
3.4.2 Struts 2中常量的配置方法 61
3.4.3 Struts 2中的可配置參數 62
3.5 Struts 2中的ValueStack 67
3.5.1 OGNL 67
3.5.2 OgnlValueStack的基本套用 77
3.6 Struts 2中的類型轉換 84
3.6.1 轉換器的定義 85
3.6.2 Struts 2中的類型轉換機制 86
3.6.3 轉換器的註冊 86
3.6.4 Struts 2所提供的類型轉換器 96
3.6.5 Struts 2對Collection和Map的類型轉換 97
3.6.6 為集合對象建立索引 101
3.6.7 類型轉換中的錯誤處理 101
3.7 小結 103
第4章 Struts 2的視圖核心技術 104
4.1 Struts 2的標籤庫 104
4.1.1 Struts 2標籤庫概述 104
4.1.2 Struts 2標籤的配置 105
4.1.3 Struts 2標籤的語法 106
4.1.4 Struts 2標籤的功能 109
4.2 Struts 2的主題和模板 136
4.2.1 Struts 2的主題 136
4.2.2 Struts 2的模板 139
4.3 Ajax在Struts 2中的套用 141
4.3.1 Ajax的核心技術 142
4.3.2 Struts 2對於Ajax的支持 153
4.4 小結 157
第5章 Struts 2的後台核心技術 158
5.1 Action的開發 158
5.1.1 Action介紹 158
5.1.2 Action的基本開發技巧 162
5.2 Action的配置 167
5.2.1 Action的基本配置 167
5.2.2 Action的高級配置 172
5.3 Struts 2中的攔截器 174
5.3.1 Struts 2所提供的攔截器 175
5.3.2 攔截器的配置 177
5.3.3 使用自己的攔截器 180
5.3.4 攔截器的使用技巧 180
5.4 Action的處理結果 181
5.4.1 Struts 2所提供的處理結果 182
5.4.2 擴展的處理結果 186
5.4.3 處理結果的定義 186
5.4.4 定義自己的處理結果 187
5.4.5 處理結果的使用技巧 192
5.5 小結 193
第6章 Struts 2的其他核心技術 194
6.1 檔案的上傳和下載 194
6.1.1 檔案的上傳 194
6.1.2 檔案的下載 203
6.2 Struts 2的國際化 207
6.2.1 資源檔案概述 208
6.2.2 資源檔案的使用 209
6.2.3 Struts 2中的多語言 210
6.2.4 如何實現用戶語言的切換 213
6.3 Struts 2的輸入校驗 214
6.3.1 輸入校驗的方法 215
6.3.2 Struts 2的內建校驗器 216
6.3.3 校驗器的註冊 217
6.3.4 校驗規則的定義 218
6.4 Struts 2的擴展 224
6.5 小結 224
第7章 Hibernate簡介 225
7.1 持久化技術 225
7.2 持久層技術 225
7.3 持久層技術的實現 228
7.4 ORM概述 230
7.5 Hibernate簡介 230
7.6 獲得Hibernate 231
7.6.1 Hibernate Core 231
7.6.2 Hibernate Shards 232
7.6.3 Hibernate Search 232
7.6.4 Hibernate Tools 233
7.6.5 Hibernate Metamodel Generator 233
7.7 Hibernate Core軟體包的組成 233
7.8 小結 234
第8章 Hibernate入門 235
8.1 項目的體系結構 235
8.2 項目開發概述 236
8.2.1 功能介紹 237
8.2.2 套用的主要技術 239
8.2.3 開發步驟和方法 240
8.3 開發部落格管理系統 240
8.3.1 創建一個新項目 241
8.3.2 分析和建模 241
8.3.3 實現域模型 245
8.3.4 編寫資料庫腳本 257
8.3.5 定義映射檔案 259
8.3.6 編寫Hibernate的配置檔案 262
8.3.7 Hibernate工具類的實現 269
8.3.8 Hibernate Filter的實現 280
8.3.9 定義和實現系統的異常 285
8.3.10 定義和實現DAO 287
8.3.11 完成用戶註冊和登錄功能 317
8.3.12 部落格管理功能的實現 328
8.3.13 部落格主頁的實現 340
8.4 小結 347
第9章 深入Hibernate 348
9.1 Hibernate的體系結構 348
9.1.1 Hibernate在應用程式中的位置 348
9.1.2 Hibernate運行時的體系結構 349
9.2 Hibernate實體對象的生命周期 351
9.2.1 Transient(瞬態) 351
9.2.2 Persistent(持久態) 352
9.2.3 Detached(游離態) 353
9.2.4 實體對象的狀態轉換 354
9.3 Hibernate API簡介 361
9.3.1 Configuration類 361
9.3.2 SessionFactory接口 362
9.3.3 Session接口 362
9.3.4 Transaction接口 367
9.3.5 Query接口 368
9.3.6 Criteria接口 377
9.4 小結 381
第10章 Hibernate映射技巧 382
10.1 映射檔案的配置 382
10.1.1 <hibernate-mapping> 382
10.1.2 <class> 384
10.1.3 <id> 387
10.1.4 <property> 389
10.2 集合類的映射 391
10.2.1 Java的集合類 391
10.2.2 集合類的使用 395
10.3 實體對象關聯關係的映射 399
10.3.1 一對一關聯關係的映射 400
10.3.2 一對多關聯關係的映射 404
10.3.3 多對一關聯關係的映射 405
10.3.4 多對多關聯關係的映射 405
10.4 實體對象繼承的映射 407
10.4.1 每個具體類一張表 407
10.4.2 每個類分層結構一張表 410
10.4.3 每個子類一張表 411
10.4.4 對象繼承的映射方法總結 413
10.5 映射中的inverse和cascade 414
10.5.1 inverse屬性 414
10.5.2 cascade屬性 417
10.5.3 inverse與cascade的區別 418
10.6 小結 418
第11章 Hibernate高級技巧 419
11.1 Hibernate的事務處理 419
11.1.1 事務的基本概念 419
11.1.2 資料庫的隔離級別 420
11.1.3 Hibernate中的事務處理 421
11.1.4 並發控制 422
11.2 Hibernate的快取 430
11.2.1 什麼是快取 430
11.2.2 一級快取 430
11.2.3 二級快取 431
11.2.4 Hibernate查詢方法與快取的關係 439
11.3 Hibernate的性能最佳化 440
11.3.1 設計階段考慮的問題 440
11.3.2 批量插入、更新和刪除數據 441
11.3.3 提升資料庫查詢的性能 443
11.4 小結 446
第12章 Spring簡介 447
12.1 Spring簡介 447
12.1.1 容器 447
12.1.2 何謂“輕量級” 448
12.1.3 輕量級容器的現狀 449
12.2 控制反轉 449
12.3 依賴注入 450
12.4 面向切面的編程 451
12.5 Spring框架簡介 453
12.6 獲得Spring 455
12.7 小結 455
第13章 Spring的核心技術 456
13.1 IoC容器 456
13.1.1 IoC容器和Bean 456
13.1.2 Bean的基本配置 462
13.1.3 Bean的其他特性 484
13.2 資源 489
13.2.1 Resource接口 490
13.2.2 Resource的實現 490
13.2.3 ResourceLoader接口 491
13.2.4 資源小結 492
13.3 數據綁定功能 492
13.3.1 數據綁定對象 492
13.3.2 數據綁定中的類型轉換 496
13.3.3 實現自定義的PropertyEditor 497
13.3.4 數據綁定功能小結 501
13.4 面向切面的編程 501
13.4.1 AOP的思想和本質 501
13.4.2 AOP的基本概念 502
13.4.3 Spring AOP的功能 503
13.4.4 基於配置的AOP 504
13.4.5 基於@AspectJ的AOP 511
13.5 小結 517
第14章 基於Spring的數據訪問 518
14.1 事務管理 518
14.1.1 事務管理的框架 518
14.1.2 聲明式事務管理 520
14.1.3 註解式事務管理 522
14.2 使用JDBC訪問資料庫 523
14.2.1 Spring JDBC簡介 524
14.2.2 Spring JDBC核心包的使用 524
14.2.3 Spring JDBC數據源包 532
14.2.4 Spring JDBC對象包 532
14.2.5 Spring JDBC支持包 532
14.3 使用Hibernate訪問資料庫 534
14.3.1 Hibernate資料庫訪問流程 534
14.3.2 利用Spring的IoC容器創建SessionFactory 535
14.3.3 DAO的開發 538
14.3.4 Hibernate的事務管理 540
14.3.5 OpenSessionInView模式 541
14.4 小結 542
第15章 Spring MVC入門 543
15.1 簡介 543
15.2 構建項目 543
15.3 使用Spring的MVC 544
15.3.1 Spring MVC簡介 545
15.3.2 配置DispatcherServlet 546
15.3.3 創建自己的控制器 547
15.3.4 頁面視圖的實現 548
15.3.5 配置控制器的映射 549
15.3.6 增加業務邏輯 552
15.3.7 增加前台提交數據的處理功能 559
15.3.8 數據保存功能的實現 575
15.4 小結 581
第16章 Spring的Web集成 582
16.1 視圖集成技術 582
16.1.1 視圖和視圖解析器 582
16.1.2 集成前的準備工作 582
16.1.3 JSP和JSTL的使用 585
16.1.4 XSLT的使用 586
16.1.5 PDF的輸出 588
16.1.6 Excel檔案的輸出 590
16.1.7 視圖集成技術小結 592
16.2 Web框架集成技術 592
16.2.1 通用配置 592
16.2.2 Struts 2.x集成 593
16.3 小結 594
第17章 使用Struts 2+Spring+Hibernate架構開發訂貨系統 595
17.1 Web套用的體系結構 596
17.1.1 表示層 596
17.1.2 持久層 597
17.1.3 業務層 597
17.1.4 域模型層 598
17.2 項目初始化 598
17.3 開發訂貨系統 599
17.3.1 域模型層的開發 599
17.3.2 持久層的配置 603
17.3.3 業務層的開發和配置 605
17.3.4 UI層的實現 615
17.4 小結 629