從高層次來看,Struts2是一個上拉MVC(MVC2)框架。在Struts2的Model-View-Controller模式實現以下五個核心組件:
動作-Actions
攔截器-Interceptors
值棧/OGNL
結果/結果類型
視圖技術
Struts 2和傳統的MVC框架有些不同,在該框架中的作用的模式,而不是控製器的作用略有不同,雖然有一些重疊。
上圖描述了Struts2的高層體係結構模型,視圖和控製器。一個Struts2的調度Servlet過濾器和攔截器與控製器實現,該模型實現的動作和視圖的組合的結果類型和結果。值棧和OGNL提供了共同點,其他部件之間的連接和集成。
除了從上述組分中,將有一個特定的信息,涉及到配置。為Web應用程序的配置,以及配置的行動,攔截器,結果等。
這是Struts的MVC模式的體係結構概述。我們將在隨後的章節中更詳細地通過每個組件講解。
基於上述數據圖,可以解釋用戶的請求的生命周期在Struts 2如下所示:
用戶的請求發送到服務器,用於請求某些資源(即頁麵)。
該過濾器調度的要求和確定適當的動作。
配置攔截器的功能適用於如驗證,文件上傳等。
選擇的動作執行,執行所請求的操作。
同樣,配置攔截器做任何後期處理,如果需要的話。
最後的結果是由視圖準備,並且將結果返回給用戶。