Struts2工作原理

五柳-先生發表於2016-03-21

Struts2請求響應流程:

 

在struts2的應用中,從使用者請求到伺服器返回相應響應給使用者端的過程中,包含了許多元件如:Controller、ActionProxy、ActionMapping、Configuration Manager、ActionInvocation、Inerceptor、Action、Result等。下面我們來具體看看這些元件有什麼聯絡,它們之間是怎樣在一起工作的。

 

(1)  客戶端(Client)向Action發用一個請求(Request)

(2)  Container通過web.xml對映請求,並獲得控制器(Controller)的名字

(3)  容器(Container)呼叫控制器(StrutsPrepareAndExecuteFilter或FilterDispatcher)。在Struts2.1以前呼叫FilterDispatcher,Struts2.1以後呼叫StrutsPrepareAndExecuteFilter

(4)  控制器(Controller)通過ActionMapper獲得Action的資訊

(5)  控制器(Controller)呼叫ActionProxy

(6)  ActionProxy讀取struts.xml檔案獲取action和interceptor stack的資訊。

(7)  ActionProxy把request請求傳遞給ActionInvocation

(8)  ActionInvocation依次呼叫action和interceptor

(9)  根據action的配置資訊,產生result

(10) Result資訊返回給ActionInvocation

(11) 產生一個HttpServletResponse響應

(12) 產生的響應行為傳送給客服端。

相關文章