Struts 是成熟的 MVC 架構 Web 框架,本文闡述其架構、核心組件,並以 BBS 系統為例說明設計實作流程,分析優勢。
Struts、模型、視圖、控制器
Struts 為開源 MVC 框架,整合 Servlet、JSP、JavaBean、自定義標籤與資源檔,提供高可配置 MVC 模式。架構將 Model、View、Controller 分別映射至 Web 組件:Model 由 ActionForm Bean 與業務邏輯 (JavaBean/EJB) 構成;View 由 JSP 與 Struts 標籤庫實現;Controller 由 ActionServlet 與 ActionMapping 負責流程控制。
(原文含架構圖片)

struts-config.xml 分派至對應 Action;Action 調用模型更新狀態並控制流程。<action> 元素對應一個 ActionMapping 實例。功能:會員管理、文章瀏覽、發表文章、後台管理。採 MVC 分解,再由 struts-config.xml 組裝協調。以下以用戶登入為例。
bbsLogin.jsp:登入輸入頁。wrong.jsp:登入失敗頁。UserInfo.java:封裝論壇用戶資訊與處理方法 (驗證、查詢、刪除、編輯、儲存)。LoginAction 呼叫此類處理業務邏輯。複雜業務可用 EJB。類別部署於 bbs/WEB-INF/classes。
UserInfo,結果轉發至 JSP 顯示。web.xml 設定 ActionServlet 與標籤庫;struts-config.xml 定義映射(原文配置內容未完整)。更多細節請參考:原文連結