首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Struts 框架核心架構解析:MVC 實現與控制器/視圖/模型組件詳解

     編輯:Java 相關知識

Struts 是 Apache 開源的 MVC Model 2 實現,由協作的類、Servlet、JSP 標簽組成。本文系統梳理框架定義、MVC 分工、控制器三大模塊、視圖標簽體系、模型選擇與狀態管理。

框架與 MVC 設計模式

框架:提供統一接口、編程方式的可重用組件集,支持擴展特定邏輯。
MVC:

  • Model:業務邏輯與狀態封裝,對 View/Controller 無感知。
  • View:展示層,僅讀取 Model,無業務邏輯,Model 變更需通知 View。
  • Controller:接收用戶輸入,創建/設置 Model,決定流向。

Struts 以 Servlet + JSP 實現 MVC Model 2。

Struts 架構總覽

  1. Client Browser:HTTP 請求/響應
  2. Controller:ActionServlet(命令模式),按 struts-config.xml 路由
  3. Business Logic:Action 類(瘦包裝)調用業務對象
  4. Model State:ActionFormBean(會話/請求級),持久級由模型組件維持
  5. View:JSP + 標簽庫,無流程/業務邏輯

控制器三大核心模塊

視圖組件:JSP + 擴展標簽庫

Struts 對 JSP 進行擴展封裝,提供三大標簽類別:

  • HTML 標簽:表單、鏈接、圖片等 UI 元素渲染
  • Logic 標簽:迭代、條件判斷、比較等流程控制
  • Bean 標簽:數據緩衝讀取,如 <bean:write>

ActionFormBean 承擔視圖與控制器間數據交互,維持會話/請求級模型狀態。

模型組件:開放選擇,分級管理狀態

Struts 不綁定具體模型技術,支持:

  • JavaBean(用戶自定義)
  • EJB 組件
  • JDO / Hibernate 等 ORM 框架

狀態級別:

  • 會話級/請求級:ActionFormBean 維持
  • 持久級:模型組件(EJB/Hibernate 等)維持

核心類關係圖解

ActionServlet (Command)
  ├─ 创建/使用 Action、ActionForm、ActionForward
  ├─ 通过 struts-config.xml 配置
  └─ 可扩展以添加 Command 功能

RequestProcessor
  ├─ 处理请求生命周期
  └─ 协助 ActionServlet 完成分发

總結

Struts 以 ActionServlet 為核心控制器,Action 承載業務邏輯,ActionFormBean 橋接視圖數據,標簽庫豐富視圖表達,模型層完全開放。理解三大控制器模塊、視圖標簽分類、模型狀態分級,即掌握 Struts 架構精髓。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
模塊職責Struts 實現類
消息控制模塊接收所有請求,按視圖映射分發處理邏輯ActionServlet、RequestProcessor
消息處理模塊執行具體業務邏輯,用戶擴展點Action 類
視圖映射模塊建立控制邏輯與視圖邏輯鏈接ModuleConfig、struts-config.xml