Struts2(二)-工作原理

Struts2請求處理流程

由於大四這段時間要追尋Java方向的工作,所以從網上找了視頻來學習。聽了馬士兵老師講解的Struts2源碼再加上自己笨笨的腦袋深思大概一個周左右,總結出自己對Struts2的小小的認識。在此留下筆記,以便複習。

由於工具作圖經驗不多,所以就用txt來畫圖,上圖





1:(客戶端發送一個請求
2:(Tomcat接收到請求後,一系列的過濾器(Filter)會對請求(Request)進行過濾

3:(過濾完成後,StrutsPrepareAndExecuteFilter會被調用
4:(緊接着執行StrutsPrepareAndExecuteFilter裏面的DoFilter()方法
5:(在DoFilter()方法裏面拿到ActionMapping(url對應着哪個Action)
6:(如果mapping不等於空,就表示ActionMapping已經找到了對應的Action,接下來的事情就是執行該Action

7:(調用Dispatcher的ServiceAction()方法
8:(在ServiceAction()方法裏創建了一個ActionProxy對象,並且調用了ActionProxy對象的execute()方法
9:(execute方法裏調用了ActionInvocation(裝着一大堆的interceptor攔截器和Action)的invoke()方法
10:(invoke()方法會調用所有的interceotor(攔截器)的intercept()方法
11:(直到interceptor被調用完,開始調用Action
12:(Action返回一個Result

13:(開始回溯,又得穿過所有的攔截器
14:(最後Result信息返回到ActionInvocation產生一個HttpServletResponse
15:(Client接收到Response

至此整個流程完畢!碼完好爽的感覺有木有!
發佈了10 篇原創文章 · 獲贊 3 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章