1.org.apache.struts2.dispatcher.FilterDispatcher?
是Struts2的主要的Filter,負責四個(gè)方面的功能:
(1)執行Actions
(2)清除ActionContext
(3)維護靜態(tài)內容
(4)清除request生命周期內的XWork的interceptors
另注:該過(guò)濾器應該過(guò)濾所有的請求URL。一般被設置為/*.
具體:
(1)執行Actions
過(guò)濾器通過(guò)ActionMapper對象,來(lái)判斷是否應該被映射到Action.如果mapper對象指示他應該被映射,過(guò)濾鏈將會(huì )被終止,
然后Action被調用。這一點(diǎn)非常重要,如果同時(shí)使用SiteMesh filter,則SiteMesh filter應該放到該過(guò)濾器前,否則
Action的輸出將不會(huì )被裝飾。
(2)清除ActionContext
過(guò)濾器為了確保內存溢出,會(huì )自動(dòng)的清除ActionContext。這可能會(huì )存在一些問(wèn)題,在和其它的框架集成時(shí),例如SiteMesh。
ActionContextCleanUp提供了怎么處理這些問(wèn)題的一些信息。
(3)維護靜態(tài)內容
過(guò)濾器也會(huì )維護在Struts2中使用的一些公共的靜態(tài)的內容,例如JavaScript文件,CSS文件等。搜索/struts/*范圍內的
請求,然后將/struts/后面的值映射到一些struts的公共包中,也可以在你的類(lèi)路徑中搜索。默認情況下會(huì )去查找以下
包:
聯(lián)系客服