儘管企業網站應用程式的外觀和操作方式很重要,但是開發人員發現,開始撰寫應用程式所需要的商務邏輯(busimess logic)之前,他們總是花太多時間在解決前端的版面配置上。為解決此問題,Jakarta Struts 將 Java Servlet、Java ServerPages(JSP)、自訂標籤(custom tag)以及傳訊資源(messaging resource)結合成一致、可再利用的架構。Struts 是個可共同合作、協同運作的平台,對獨立的開發人員、大型開發團隊以及介於這兩者間的任何人都適用。
自本書第一版發行以來,Struts 開放原始碼計劃變得愈來愈受歡迎。儘管這項技術令人振奮,但是它的說明文件卻仍然少得可憐 - - 多數的指南都太簡單,那些要撰寫複雜網站應用程式的開發人員,根本找不到關鍵資訊。本書第二版為了填補資訊的缺口,針對最近釋出的 Struts 1.1 版重新修訂擴編、提供最新的資訊。第二版有新的章節專門探討安全、與 JavaServer Faces﹙JSF﹚API 的整合、JavaServer Pages 標準標籤庫﹙JSTL﹚,以及 Struts 的運算式語言﹙EL﹚。此外,第二版對第一版中原有的議題也做了擴充,包括:
● 安裝、建立和設定 Struts
● 說明網站程式的基本概念
● 實作 MVC 設計模式(採用 Model 2 的做法),讓你的應用得以使用這個模式
● 說明 Struts 的登錄、驗正以及例外事件的處理機制
● 使用 Struts Tiles 範本程式庫
● 利用 Struts 寫出支援 i18n(國際化)和 l10n(區域化)的程式碼
● 網站應用程式的最佳實務
對每個自己所開發的企業系統,本書的作者 Chuck Cavaness 都會花很多累人的時間去研究,能從 Struts 學到什麼,找出建造網站應用最有效率的方式。為了節省你的時間,讓你不再頭痛,作者用最理想、最務實的「說到哪兒做到哪兒」手法,把無價的實務經驗分享出來,讓你發揮 Struts 架構最大的潛能。
目錄
目錄
序
第 1 章 簡介
1.1 資訊網簡史
1.2 什麼是 Java Servlet?
1.3 JSP 伺服頁
1.4 JSP Model 1 和 Model 2 架構
1.5 為什麼 MVC 如此重要?
1.6 什麼是架構?
1.7 其他替代架構
第 2 章 在網站層裡
2.1 架構概述
2.2 HTTP 請求 / 回應的過程
2.3 Struts 和有效範圍
2.4 使用 URL 參數
2.5 轉向與重導向的差異
第 3 章 Struts 架構概觀
3.1 銀行帳戶範例
3.2 大藍圖
3.3 Struts 的控制器元件
3.4 Struts 模型元件
3.5 Struts 外觀元件
3.6 支援多組應用程式
3.7 結論
第 4 章 設定 Struts 應用程式
4.1 Storefront 網站應用程式
4.2 什麼是網站應用程式?
4.3 網站應用程式的目錄結構
4.4 網站應用程式的部署描述檔
4.5 為 Struts 設定 web.xml
4.6 Struts 組態檔
4.7 Digester 元件
4.8 Struts Console 工具
4.9 重載組態檔
第 5 章 Struts 的控制器元件
5.1 控制器機制
5.2 工具類別
第 6 章 Struts 的模型元件
6.1 MVC 中的「M」
6.2 什麼是商務物件?
6.3 永續保存
6.4 Struts 為模型提供了什麼?
第 7 章 Struts 的外觀元件
7.1 什麼是外觀?
7.2 什麼是 ActionForm?
7.3 使用 ActionErrors
7.4 進行版面配置層確認
7.5 使用 DynaActionForm
7.6 JavaServer Faces
第 8 章 JSP 自訂標籤庫
8.1 自訂標籤概觀
8.2 Struts 的標籤庫
8.3 讓 Struts 標籤使用 JavaBean
8.4 Struts 的 HTML 標籤庫
8.5 Logic 標籤庫
8.6 Bean 標籤庫
8.7 Nested 標籤庫
8.8 其他有用的標籤庫
8.9 JSP 標準標籤庫(JSTL)
第 9 章 延伸 Struts 架構
9.1 什麼是延伸點?
9.2 通用的延伸點
9.3 控制器的延伸點
9.4 延伸外觀元件
9.5 延伸架構的缺點
第 10 章 例外事件處理機制
10.1 Java 例外事件的處理機制
10.2 例外事件處理對效能的衝擊
10.3 系統例外事件 vs. 應用程式例外事件
10.4 使用鏈結式例外事件
10.5 Struts 所提供的例外事件處理機制
10.6 零星問題
10.7 結論
第 11 章 Validator 架構
11.1 需要確認架構的理由
11.2 安裝和設定 Validator
11.3 ActionForm 與 Validator 併用
11.4 建立你自己的確認規則
11.5 Validator 與 JSP 自訂標籤
11.6 確認的 i18n 考量
11.7 將 Validator 用在 Struts 以外的場合
第 12 章 i18n 和 Struts
12.1 什麼是 i18n?
12.2 Java 對 i18n 的支援
12.3 讓 Struts 應用程式支援 i18n
12.4 例外事件的處理和 i18n
第 13 章 Struts 和 EJB
13.1 使用 EJB 實作 Storefront 的服務系統
13.2 讓 Struts 和 EJB 打交道
13.3 結論
第 14 章 使用 Tiles 標籤庫
14.1 瞭解範本
14.2 安裝和設定 Tiles 的組態
14.3 使用 Tiles 架構
14.4 Tiles 標籤庫
14.5 使用定義式
14.6 Tiles 對 i18n 的支援
第 15 章 Struts 應用程式的登錄機制
15.1 網站應用程式的登錄機制
15.2 使用 servlet container 進行登錄
15.3 Jakarta Commons Logging 套件
15.4 使用 log4j 套件
15.5 在 JSP 伺服頁中使用 Commons Logging API
15.6 log4j 對效能的衝擊
15.7 其他的 log4j 延伸套件
15.8 Java 1.4 的 logging API
第 16 章 打包 Struts 應用程式
16.1 打包或不打包
16.2 把應用程式打包成 WAR 檔案
16.3 使用 Ant 來建造你的 Struts 應用程式
16.4 建立自動化的建造環境
16.5 從遠端重新啟動伺服器
第 17 章 解決效能瓶頸
17.1 什麼是好的效能?
17.2 效能測試 vs. 負載測試
17.3 效能測試和壓力測試的工具
17.4 測試 Storefront 應用程式
17.5 效能和規模度陷阱
第 18 章 JavaServer Faces
18.1 Struts 和 JavaServer Faces
18.2 JSF 架構概觀
18.3 安裝和執行 Struts-Faces 應用程式範例
18.4 把現有 Struts 應用程式轉換成使用 JSF
18.5 其他參考資料
附錄 A truts 1.0 以來的變革
附錄 B 下載和安裝 Struts
附錄 C 資源
索引
目錄
序
第 1 章 簡介
1.1 資訊網簡史
1.2 什麼是 Java Servlet?
1.3 JSP 伺服頁
1.4 JSP Model 1 和 Model 2 架構
1.5 為什麼 MVC 如此重要?
1.6 什麼是架構?
1.7 其他替代架構
第 2 章 在網站層裡
2.1 架構概述
2.2 HTTP 請求 / 回應的過程
2.3 Struts 和有效範圍
2.4 使用 URL 參數
2.5 轉向與重導向的差異
第 3 章 Struts 架構概觀
3.1 銀行帳戶範例
3.2 大藍圖
3.3 Struts 的控制器元件
3.4 Struts 模型元件
3.5 Struts 外觀元件
3.6 支援多組應...