Struts 2技術詳解

Struts 2技術詳解

基本介紹

  • 書名:Struts 2技術詳解
  • 作者:閆術卓 
  • ISBN:9787121062216
  • 類別:計算機/網路 >> 程式設計 >> Java Java Script J2EE
  • 頁數:630
  • 定價:69.80
  • 出版社:電子工業出版社
  • 出版時間:2008-6-1
  • 開本:16開
內容簡介,圖書目錄,圖書章節,

內容簡介

Struts 2框架是Struts 1.X的替代版本,Struts 2框架整合了Struts 1.X框架和WebWork框架的優點。相對Struts 1.X,Struts 2已經有了非常大的改變,去掉了ActionForm,降低了框架組件之間的耦合性,Struts 2的Action只是普通的Java類(POJO),給模組測試工作帶來了極大的方便。Struts 2提供了強大的整合能力,支持多種返回結果類型,改進了Struts 1.X的標籤庫,引入OGNL表達式和值棧的概念,給開發者帶來了更好的體驗。
本書結合Struts 2框架的技術特點,從最基礎的框架處理機制講起。介紹了Struts 2框架的核心組件和核心處理機制,並介紹了攔截器、國際化、輸入校驗、類型轉換等Struts 2關鍵技術,同時介紹了如何在Struts 2框架中整合其他開源技術。
本書非常適合有過Struts 1.X和WebWork開發經驗的讀者,以及Java Web開發的初學者,對於Web高級開發者,也是一本非常好的參考書。

圖書目錄

第一篇 Struts 2零基礎詳解
第1章 Struts 2概述
1.1 MVC介紹
1.1.1 Web技術發展
1.1.2 MVC設計模式
1.1.3 MVC的處理過程
1.1.4 MVC的優點
1.1.5 MVC的適用範圍
1.1.6 Model 1和Model 2體系介紹
1.2 Struts 1簡介
1.2.1 Struts 1框架介紹
1.2.2 web.xml配置檔案
1.2.3 struts-config.xml配置檔案
1.2.4 Action和ActionForm
1.2.5 Struts 1處理過程
1.2.6 Struts 1的優點
1.2.7 Struts 1的缺點
1.3 WebWork簡介
1.3.1 WebWork框架
1.3.2 WebWork的特性
1.4 Struts 2概述
1.4.1 Struts 2框架
1.4.2 Struts 2配置檔案
1.4.3 Struts 2控制器
1.4.4 Struts 2標籤庫
1.4.5 Struts 2與Struts 1比較
1.4.6 Struts 2與WebWork比較
1.5 為什麼使用Struts 2
1.6 本章小結
第2章 Struts 2的HelloWorld
2.1 搭建Struts開發環境
2.1.1 安裝JDK
2.1.2 安裝Eclipse
2.1.3 安裝Tomcat
2.1.4 安裝Struts 2
2.1.5 Eclipse安裝Struts 2
2.2 一個簡單的HelloWorld
2.2.1 配置web.xml檔案
2.2.2 配置struts.xml檔案
2.2.3 Action業務控制器
2.2.4 視圖資源
2.2.5 運行HelloWorld
2.2.6 HelloWorld小結
2.3 Struts 2特性演示
2.3.1 基本實現
2.3.2 標籤庫
2.3.3 改進Action
2.3.4 國際化
2.3.5 數據校驗:使用validate()方法校驗
2.3.6 數據校驗:使用框架校驗
2.4 本章小結
第3章 Struts 2核心剖析
3.1 Struts 2工作流程
3.1.1 核心控制器FilterDispatcher
3.1.2 業務控制器Action
3.1.3 業務模型組件
3.1.4 視圖組件
3.2 Struts 2配置檔案
3.2.1 配置web.xml檔案
3.2.2 配置struts.xml檔案
3.2.3 常量配置
3.2.4 包配置
3.2.5 命名空間配置
3.2.6 包含配置
3.2.7 Bean配置
3.2.8 攔截器配置
3.2.9 配置struts.properties檔案
3.2.10 配置通配符
3.2.11 Struts 2的零配置
3.3 Struts 2的Action
3.3.1 Action實現類
3.3.2 實例驗證:Action屬性和用戶參數之間的關係
3.3.3 Action訪問ActionContext
3.3.4 值棧(ValueStack)
3.3.5 Action直接訪問Servlet API
3.3.6 Action的配置
3.3.7 Action的動態方法調用
3.3.8 通配符配置
3.4 處理結果
3.4.1 處理結果流程
3.4.2 配置result
3.4.3 result的類型
3.4.4 action-chain類型示例
3.4.5 Freemarker類型示例
3.4.6 redirect類型示例
3.4.7 redirect-action類型示例
3.4.8 Stream類型示例
3.4.9 使用通配符動態配置result
3.4.10 使用OGNL動態配置result
3.5. 模型驅動
3.5.1 模型驅動的意義
3.5.2 模型驅動示例
3.6. 異常處理
3.6.1 Java的異常處理
3.6.2 Struts 2框架的異常處理
3.6.3 異常的配置
3.7 如何提高Struts 2性能
3.8 支持Struts 2框架的套用伺服器
3.9 本章小結
第二篇 Struts 2框架技術
第4章 國際化
4.1 軟體的國際化
4.2 Java的國際化支持
4.2.1 使用資源檔案
4.2.2 使用資源類檔案
4.2.3 MessageFormat類
4.3 Struts 2的國際化支持
4.3.1 配置資源檔案
4.3.2 Struts 2國際化套用
4.3.3 使用占位符
4.3.4 包範圍資源檔案
4.3.5 Action範圍資源檔案
4.3.6 臨時資源檔案
4.3.7 載入資源檔案的順序
4.4 動態訪問國際化資源檔案
4.4.1 動態訪問國際化資源檔案原理
4.4.2 建立資源檔案和配置檔案
4.4.3 建立Action和JSP
4.4.4 動態訪問資源檔案示例
4.5 Eclipse編寫資源檔案的外掛程式
4.6 本章小結
第5章 Struts 2進階——攔截器
5.1 攔截器介紹
5.1.1 AOP介紹
5.1.2 攔截的實現原理
5.1.3 攔截的意義
5.2 Struts 2攔截器
5.2.1 Struts 2攔截器原理
5.2.2 HelloWorld攔截器
5.2.3 定義攔截器
5.2.4 使用攔截器
5.2.5 默認攔截器
5.3 自定義攔截器
5.3.1 自定義攔截器實現類
5.3.2 使用自定義攔截器
5.4 攔截器深度剖析
5.4.1 攔截器的方法過濾
5.4.2 攔截器的執行順序
5.4.3 攔截結果監聽器
5.4.4 設定攔截器棧中攔截器參數
5.4.5 Struts 2框架的系統攔截器
5.5 攔截器套用示例
5.5.1 許可權攔截器
5.5.2 配置攔截器
5.5.3 業務控制器Action
5.5.4 JSP視圖
5.5.5 運行示例
5.6 本章小結
第6章 Struts 2的類型轉換
6.1 類型轉換
6.2 編寫一個類型轉換器
6.2.1 類型轉換需求
6.2.2 編寫自定義類型轉換器
6.2.3 視圖資源檔案
6.2.4 運行示例
6.3 自定義類型轉換器
6.3.1 基於OGNL的類型轉換器
6.3.2 基於Struts 2的類型轉換器
6.3.3 註冊自定義類型轉換器
6.3.4 數組屬性類型轉換器
6.3.5 集合屬性類型轉換器
6.4 使用Struts 2的類型轉換
6.4.1 Struts 2系統內建的類型轉換器
6.4.2 項目套用中常見的類型轉換
6.4.3 使用OGNL表達式
6.4.4 使用集合類型屬性
6.4.5 使用Set類型屬性
6.5 類型轉換中的異常處理
6.5.1 類型轉換異常攔截器
6.5.2 一個簡單的類型轉換異常處理
6.5.3 改進類型轉換異常顯示信息
6.5.4 處理複合類型轉換異常
6.6 本章小結
第7章 輸入校驗
7.1 輸入校驗介紹
7.1.1 輸入校驗的原因
7.1.2 使用JavaScript完成客戶端校驗
7.2 使用validate方法進行輸入校驗
7.2.1 validate()方法輸入校驗
7.2.2 validateXxx()方法輸入校驗
7.2.3 輸入校驗流程
7.3 基於框架的輸入校驗
7.3.1 使用欄位校驗的輸入校驗
7.3.2 使用客戶端的輸入校驗
7.3.3 使用非欄位校驗的輸入校驗
7.3.4 輸入校驗的國際化信息
7.3.5 校驗的搜尋順序
7.4 AJAX輸入校驗
7.4.1 配置AJAX環境
7.4.2 建立業務控制器
7.4.3 建立校驗規則檔案
7.4.4 建立JSP視圖
7.4.5 運行AJAX校驗示例
7.5 複合類型屬性的輸入校驗
7.5.1 複合屬性的校驗
7.5.2 集合屬性的校驗
7.6 Struts 2框架的校驗器
7.7 本章小結
第8章 OGNL
8.1 OGNL基礎知識
8.1.1 OGNL的優勢
8.1.2 OGNL語法
8.1.3 一個使用OGNL的示例
8.2 Struts 2的OGNL
8.2.1 Struts 2的OGNL表達式
8.2.2 OGNL的集合操作
8.2.3 Lambda表達式
8.3 Struts 2中使用OGNL
8.3.1 業務控制器
8.3.2 JSP視圖
8.3.3 運行示例
8.3.4 OGNL中的#、%和$符號
8.4 本章小結
第9章 Struts 2標籤庫
9.1 Struts 2標籤庫概述
9.2 控制標籤
9.3 數據標籤
9.3.1 action標籤
9.3.2 bean標籤
9.3.3 date標籤
9.3.4 debug標籤
9.3.5 include標籤
9.3.6 param標籤
9.3.7 push標籤
9.3.8 set標籤
9.3.9 url標籤
9.3.10 property標籤
9.4 主題與模板
9.4.1 主題
9.4.2 模板
9.5 表單標籤
9.6 非表單標籤
9.6.1 actionerror和actionmessage標籤
9.6.2 component標籤
9.6.3 tree和treenode標籤
9.7 本章小結
第10章 AJAX技術支持
10.1 AJAX介紹
10.1.1 為什麼使用AJAX
10.1.2 AJAX技術
10.1.3 常見的瀏覽器端AJAX框架
10.1.4 常見的伺服器端AJAX框架
10.2 Struts 2的AJAX支持
10.2.1 ajax主題
10.2.2 AJAX輸入校驗
10.2.3 div標籤
10.2.4 a標籤
10.2.5 submit標籤
10.2.6 autocompleter標籤
10.2.7 tabbedPanel標籤
10.2.8 AJAX表單
10.2.9 widgets
10.3 本章小結
第11章 檔案的上傳與下載第三篇 Struts 2框架中整合其他技術
第12章 使用FreeMarker技術
12.1 FreeMarker介紹
12.1.1 FreeMarker基礎
12.1.2 FreeMarker簡單示例
12.2 Struts 2中使用FreeMarker
12.2.1 FreeMarker使用Struts 2標籤庫
12.2.2 FreeMarker訪問Servlet和JSP對象
12.2.3 使用FreeMarker示例
12.3 本章小結
第13章 整合Spring
13.1 Spring介紹
13.1.1 IoC和DI
13.1.2 Spring優點
13.2 Struts 2整合Spring
13.2.1 整合步驟
13.2.2 整合原理
13.3 整合開發示例
13.4 本章小結
第14章 整合JSF
第15章 Struts 2訪問MySQL資料庫
15.1 MySQL下載和安裝
15.1.1 下載MySQL資料庫
15.1.2 安裝MySQL資料庫伺服器
15.1.3 安裝MySQL資料庫的JDBC驅動
15.2 訪問MySQL資料庫示例
15.2.1 創建一個資料庫
15.2.2 建立JDBC連線
15.2.3 使用Tomcat數據源
15.2.4 建立一個資料庫連線組件
15.3 本章小結
第16章 整合Log4.j
16.1 Log4.j概述
16.2 配置和使用Log4.j
16.2.1 一個簡單的例子
16.2.2 Log4.j的配置檔案
16.2.3 在代碼中使用記錄日誌
16.3 本章小結
第17章 整合ant
17.1 概述
17.2 安裝運行
17.3 build.xml的基本結構
17.4 ant任務
17.4.1 常用內置任務
17.4.2 擴展可選任務
17.5 完整的build.xml例子
17.6 深入build.xml
17.7 Eclipse 3.x中使用ant
17.8 JBuilder 2005中使用ant
17.9 本章小結
第18章 整合JUnit
18.1 JUnit概述
18.2 JUnit安裝運行
18.2.1 安裝配置
18.2.2 基本測試HelloWorld
18.2.3 JUnit的3種結果界面
18.3 測試Struts 2套用
18.3.1 Struts 2測試概述
18.3.2 創建測試類
18.4 在Eclipse 3.x中執行測試
18.5 在JBuilder 2005中執行測試
18.6 本章小結
第19章 整合Hibernate
19.1 Hibernate簡介
19.2 Struts 2整合Hibernate
19.3 本章小結
第四篇 Struts 2實例驗證
第20章 一個示例論壇套用
20.1 項目需求與系統架構
20.1.1 項目需求
20.1.2 系統架構
20.2 資料庫設計
20.2.1 數據模型
20.2.2 建立資料庫表
20.3 建立開發環境
20.3.1 配置Tomcat數據源
20.3.2 web.xml配置檔案
20.3.3 applicationContext.xml配置檔案
20.3.4 其他配置檔案
20.4 建立資料庫連線組件
20.5 建立業務實體對象
20.6 建立資料庫訪問組件
20.7 建立業務處理模組
20.7.1 許可權檢查模組
20.7.2 發表文章模組
20.7.3 文章列表導航模組
20.7.4 顯示文章內容模組
20.7.5 用戶登錄模組
20.7.6 用戶註冊模組
20.8 建立業務控制器
20.8.1 文章處理業務控制器
20.8.2 用戶註冊業務控制器
20.8.3 用戶登錄業務控制器
20.9 國際化和輸入校驗
20.9.1 國際化
20.9.2 輸入校驗規則檔案
20.10 建立視圖
20.11 Struts 2配置檔案
20.12 運行示例論壇
20.13 本章小結

圖書章節

第1章 Struts 2概述
Struts 1與Tomcat、Turbine等諸多Apache項目一樣,是開源軟體,這是它的一大優點,使開發者能更深入地了解其內部實現機制。除此之外,Struts 1的優點主要集中體現在兩個方面:
Taglib標籤庫:Taglib是Struts 1的標籤庫,靈活使用,能大大提高開發效率。目前國內的JSP開發者,除了使用JSP自帶的常用標籤外,很少開發自己的標籤,自從Struts 1廣泛套用以來,很多公司或者開發團隊越來越重視自己標籤庫的開發,這是一個很好的起點。
頁面導航:頁面導航將是今後的一個發展方向,事實上,這樣使系統的脈絡更加清晰。通過一個配置檔案,即可把握整個系統各部分之間的聯繫,這對於後期的維護有著莫大的好處。尤其是當另一批開發者接手這個項目時,這種優勢體現得更加明顯。
但是,任何優秀的框架也不可能是十全十美的,存在著或多或少的問題,例如在一個複雜的大型套用中,Struts 1很容易引起類爆炸。同時,在測試方面,編寫測試用例類十分不方便,給測試工作帶來了許多困難。儘管現在有一個測試框架Struts Test提供Struts 1的測試編寫,但是這樣測試方式加劇了複雜化。
提示
Apache官方網站是這樣介紹Struts 2的:Apache Struts 2 was originally known as WebWork2.After working independently for several years,the WebWork and Struts communities joinedforces to create Struts 2。翻譯過來大致意思是:Apache Struts 2就是之前大家所熟知的WebWork 2,在經歷了幾年的各自發展後,WebWork和Struts社區決定合二為一,也即是Struts 2。WebWork項目已經被Apache所收購,不會再進行升級。
Struts 2中去掉了Struts 1中的ActionForm,實現了同Servlet API的鬆散耦合。Struts 2並不是一個全新的架構,而是繼承了Struts 1和WebWork的優點,在穩定性、易用性方面都有了很大的提高。Apache Struts 2 GA版本已經發布,這是Apache Struts 2發行的首個穩定版本,GA意味著General Availability,也就是官方開始推薦廣泛使用了。Struts2 GA版本的發布,意味著核心開發力量將全部轉移到Struts 2,對Struts 1的支持將會淡化。Struts 2的發展前景非常看好,有望在不遠的將來完全代替Struts 1。

相關詞條

熱門詞條

聯絡我們