Struts2的運行原理(配圖解)


1.客戶端發出一個HttpServletRequest請求

2.這個請求經過一系列過濾器(ActionContextCleanUp、FilterDispatcher)

3.FilterDispatcher詢問ActionMapper來決定這個請求是否要調用某個Action。如果actionMapper決定要調用

action,那麼核心控制器就把請求的處理交給ActionProxy

4.ActionProxy通過Configuration manager查詢struts框架的struts.xml配置文件,

找到要調用的Action類

5.ActionProxy創建一個ActionInvocation實例,該實例負責命令模式的實現,包括激活action的任意攔截器。

(ActionInvocation通過代理模式調用Action,但在調用之前,ActionInvocation會根據配置加載Action相關的所有Interceptor)

6.一旦Action執行完畢,ActionInvocation實例負責根據action的返回結果碼在struts.xml配置

文件中找到所需要的result。然後該結果通常是jsp或者freemarker模板。也可能是action。

7.action配置的攔截器將再次執行(執行順序和調用的時候相反)

8.服務器響應將通過web.xml文件中配置的struts2框架核心控制器返回。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章