Struts 1.x 雖成功但痛點明顯:代碼量大易導致「類爆炸」、單元測試困難。Struts 2.0 針對這些痛點重新設計,提供更簡潔的開發體驗與測試友善架構。
將 `struts-2.0/lib` 所有 JAR 複製至 `WebContent/WEB-INF/lib`,Eclipse 自動刷新至 Build Path(圖 5-6)。
web.xml:註冊 `FilterDispatcher` 過濾所有請求(程式碼區塊 1)
struts.xml:引入預設配置,定義套件命名空間(程式碼區塊 2)
`index.html` 簡單顯示 "Hello World!"(程式碼區塊 3)
Export WAR 至 Tomcat `webapps`,啟動伺服器,瀏覽 `https://localhost:8080/Struts2_HelloWorld/` 確認運行(圖 17)。
`tutorial.HelloWorld` 繼承 `ActionSupport`,屬性 `name` 對應表單輸入,`execute()` 組裝問候訊息(程式碼區塊 4)。
更新 `struts.xml` 定義 `HelloWorld` action,結果導向 `HelloWorld.jsp`(程式碼區塊 5)。
瀏覽 `SayHello.jsp` 輸入 "World",提交後顯示 "Hello, World!"(圖 25-26)。
建立 `HelloWorldTest`,直接實例化 Action、設定屬性、呼叫 `execute()`,斷言返回 `SUCCESS` 且訊息正確(程式碼區塊 8)。無需容器、無需模擬請求,純 POJO 測試。
Eclipse Run As → JUnit Test,綠燈通過(圖 35)。
Struts 2.0 以簡潔配置、POJO Action、強大標籤庫、極易測試等特性,重新定義 Web MVC 框架標準。雖當時仍在測試階段,文件可能不足,但核心優勢已明顯,值得提前佈局學習。