
- Struts 2 教程
- Struts2 - 首頁
- Struts2 - 基本 MVC 架構
- Struts2 - 概述
- Struts2 - 環境搭建
- Struts2 - 架構
- Struts2 - 例子
- Struts2 - 配置
- Struts2 - Action
- Struts2 - 攔截器
- Struts2 - 結果型別
- Struts2 - 值棧/OGNL
- Struts2 - 檔案上傳
- Struts2 - 資料庫訪問
- Struts2 - 傳送郵件
- Struts2 - 驗證
- Struts2 - 國際化
- Struts2 - 型別轉換
- Struts2 - 主題/模板
- Struts2 - 異常處理
- Struts2 - 註解
- Struts 2 標籤
- Struts2 - 控制標籤
- Struts2 - 資料標籤
- Struts2 - 表單標籤
- Struts2 - Ajax 標籤
- Struts 2 整合
- Struts2 - Spring
- Struts2 - Tiles
- Struts2 - Hibernate
- Struts 2 有用資源
- Struts2 - 常見問題解答
- Struts2 - 快速指南
- Struts2 - 有用資源
- Struts2 - 討論
Struts 2 架構
從高層次來看,Struts2是一個拉取式MVC(或MVC2)框架。Struts2中的模型-檢視-控制器模式由以下五個核心元件實現:
- Action
- 攔截器
- 值棧/OGNL
- 結果/結果型別
- 檢視技術
Struts 2與傳統的MVC框架略有不同,其中Action扮演模型的角色,而不是控制器的角色,儘管兩者之間存在一些重疊。

上圖描述了Model(模型)、View(檢視)和Controller(控制器)在Struts2高階架構中的關係。控制器由Struts2分發servlet過濾器和攔截器實現,模型由Action實現,檢視是結果型別和結果的組合。值棧和OGNL提供了一個公共執行緒,連線並啟用其他元件之間的整合。
除了上述元件之外,還將有很多與配置相關的資訊。包括Web應用程式的配置,以及Action、攔截器、結果等的配置。
這是Struts 2 MVC模式的架構概述。我們將在後續章節中更詳細地介紹每個元件。
請求生命週期
根據上圖,您可以理解Struts 2中使用者請求生命週期的工作流程如下:
使用者向伺服器傳送請求,請求某些資源(即頁面)。
過濾器排程程式檢視請求,然後確定相應的Action。
應用配置的攔截器功能,例如驗證、檔案上傳等。
根據請求的操作執行選定的Action。
再次應用配置的攔截器進行任何必要的後期處理。
最後,檢視準備結果並將其返回給使用者。
廣告