Struts 2 架構



從高層次來看,Struts2是一個拉取式MVC(或MVC2)框架。Struts2中的模型-檢視-控制器模式由以下五個核心元件實現:

  • Action
  • 攔截器
  • 值棧/OGNL
  • 結果/結果型別
  • 檢視技術

Struts 2與傳統的MVC框架略有不同,其中Action扮演模型的角色,而不是控制器的角色,儘管兩者之間存在一些重疊。

Struts 2 Architecture

上圖描述了Model(模型)、View(檢視)和Controller(控制器)在Struts2高階架構中的關係。控制器由Struts2分發servlet過濾器和攔截器實現,模型由Action實現,檢視是結果型別和結果的組合。值棧和OGNL提供了一個公共執行緒,連線並啟用其他元件之間的整合。

除了上述元件之外,還將有很多與配置相關的資訊。包括Web應用程式的配置,以及Action、攔截器、結果等的配置。

這是Struts 2 MVC模式的架構概述。我們將在後續章節中更詳細地介紹每個元件。

請求生命週期

根據上圖,您可以理解Struts 2中使用者請求生命週期的工作流程如下:

  • 使用者向伺服器傳送請求,請求某些資源(即頁面)。

  • 過濾器排程程式檢視請求,然後確定相應的Action。

  • 應用配置的攔截器功能,例如驗證、檔案上傳等。

  • 根據請求的操作執行選定的Action。

  • 再次應用配置的攔截器進行任何必要的後期處理。

  • 最後,檢視準備結果並將其返回給使用者。

廣告