爲什麼支柱1.3我們必須處理的請求兩地分居類:爲什麼有兩個班在Struts的1.3處理請求,ActionServlet的和的RequestProcessor
- 其中的ActionServlet攔截請求並調用RequestProcessors過程作進一步處理
方法--RequestProcessor讀取XML文件,找到相應的處理程序和把手請求
我的問題是,爲什麼這是兩個不同的類? 我試圖在網絡和書籍上搜索,但沒有得到任何答案。
任何人都可以有任何想法嗎?請讓我知道
爲什麼支柱1.3我們必須處理的請求兩地分居類:爲什麼有兩個班在Struts的1.3處理請求,ActionServlet的和的RequestProcessor
- 其中的ActionServlet攔截請求並調用RequestProcessors過程作進一步處理
方法--RequestProcessor讀取XML文件,找到相應的處理程序和把手請求
我的問題是,爲什麼這是兩個不同的類? 我試圖在網絡和書籍上搜索,但沒有得到任何答案。
任何人都可以有任何想法嗎?請讓我知道
ActionServlet
基本上讀取您的struts-config.xml
並創建一個ModuleConfig
。此ModuleConfig
是您的struts-config.xml
的對象表示形式。 ActionServlet只是將您的HttpServletRequest
和HttpSerlvetResponse
傳遞給RequestProcessor
。
的RequestProcessor
基本上從請求(通過ModuleConfig
助手)標識Action
創建ActionMapping
(基於呼叫一種製成),並執行執行必要的行動來檢索ActionForward
。從ActionForward
開始,它將您的請求和響應委託給它,這就是整個Struts工作流程。
基本上,Struts的核心是通過RequestProcessor
。 ActionServlet
只是初始化Struts,並將請求和響應傳遞給RequestProcessor
。
RequestProcessor類是請求處理在Struts控制器環境中發生的實際位置。
當請求對象首先到達的ActionServlet類然後它調用底層的RequestProcessor類的過程方法。
那麼這個過程方法查找到的struts-config.xml文件,並試圖找到已經用它識別XML文件中的動作request.Once動作的名稱繼續的休息請求處理所需的步驟。
嗨,精英,感謝您的回覆,但我想知道他們爲什麼不(他們(Struts開發人員)將這兩個任務合併到一個類中,爲什麼需要單獨的類? –
因爲他們希望它是模塊化的。 RequestProcessor不僅處理Servlet,還包括插件,攔截器等。 –
ok.thanks精英紳士 –