Struts2 架構(gòu)

2022-07-08 11:31 更新

從一個(gè)高水平角度看,Struts2 是一個(gè)MVC拉動(dòng)的(或MVC2)框架,Struts2 的模型-視圖-控制器模式是通過以下五個(gè)核心部分進(jìn)行實(shí)現(xiàn)的:

  • 操作(Actions)
  • 攔截器(Interceptors)
  • 值棧(Value Stack)/OGNL
  • 結(jié)果(Result)/結(jié)果類型
  • 視圖技術(shù)
而Struts2 與傳統(tǒng)的MVC框架略有不同,因?yàn)樗葾ction扮演模型的角色,而不是控制器,雖然這樣會(huì)有一些重疊。

Struts 2的架構(gòu)

上圖描述了Struts2 高級(jí)系統(tǒng)架構(gòu)下的模型、視圖及控制器??刂破魇峭ㄟ^Struts2 分派servlet過濾器以及攔截器進(jìn)行實(shí)現(xiàn),模型是通過Actions進(jìn)行實(shí)現(xiàn),而視圖則是結(jié)果類型和結(jié)果的結(jié)合。值棧和OGNL提供共同的路線、鏈接以及與其他組件之間的集成。
除了上述部分,還有許多組件相關(guān)的信息。web應(yīng)用程序組件、Actions組件、攔截器組件、結(jié)果組件等等。
這些是Struts2 MVC模式的體系結(jié)構(gòu)概述,在隨后的章節(jié)中,我們將詳細(xì)了解各個(gè)部分。

請(qǐng)求生命周期

通過上述圖片的描述,我們可以依照下面幾點(diǎn)解釋在Struts2 中用戶的請(qǐng)求生命周期:
  • 用戶發(fā)送一個(gè)資源需求的請(qǐng)求到服務(wù)器(例如:頁(yè)面)。
  • 核心控制器查看請(qǐng)求后確定適當(dāng)?shù)膭?dòng)作。
  • 使用驗(yàn)證、文件上傳等配置攔截器功能。
  • 執(zhí)行選擇的動(dòng)作來完成請(qǐng)求的操作。
  • 另外,如果需要的話,配置的攔截器可做任何后期處理。
  • 最后,由視圖顯示結(jié)果并返回給用戶。
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)