1、流程圖:
通過位址先經過過濾器,然後過濾器檢視配置檔案中的命名空間(package中的namespace)中是否有hello,再去action中的name屬性中查找是否有HelloAction,
2、通路流程詳解
(1)首先,用戶端發送請求,請求首先經過過一系列的濾器(這些過濾器中有一個叫ActionContextCleanUp的可選過濾器,這個過濾器對于Struts和其他架構的內建很有幫助)。
(2)接着FilterDispatcher(StrutsPrepareAndExecuteFilter)被調用,FilterDispatcher(StrutsPrepareAndExecuteFilter)詢問ActionMapper來決定這個請求是否需要某一個Action。經過過濾器後需要經過ActionMapper類,該類将請求的資訊處理好并封裝為ActionMapping對象給過濾器。
(3)過濾器判斷該請求是否需要Struts2處理。
(4)如果需要Struts2處理,則将ActionMapping轉交給ActionProxy類。
(5)ActionProxy類通過ActionMannger讀取配置檔案,找到需要調用的Action類,并将結果傳回給ActionProxy類。此時ActionProxy類既知道了要通路的目的地,又通過配置檔案知道了要通路哪些包等資訊。
每個人都會有一段異常艱難的時光 。
生活的壓力 , 工作的失意 , 學業的壓力。
愛的惶惶不可終日。
挺過來的 ,人生就會豁然開朗。
挺不過來的 ,時間也會教你 ,怎麼與它們握手言和 ,是以不必害怕的。
——楊绛