filter生命周期

web套用發布完成之後,在request訪問web資源之前,容器必須定位需要套用到該資源上的filter列表。容器需要確保實例化列表中的每個filter並調用它的init方法。如不能正確執行,filter可以拋出異常。

filter生命周期

配置描述檔案中每個filter的聲明在每個虛擬機中僅僅只有一個實例。容器提供filter配置秘書中聲明的config對象, 它包含了該web套用的ServletContext引用,和filter初始參數

遵循模式

當容器接收到request,將取得列表中的第一個filter實例,並調用它的doFilter方法。將傳入ServletRequest,ServletResponse和filterchain的引用。
doFilter方法遵循以下模式:
1.該方法檢測request的頭信息
2.可能會用一個定製的ServletRequestHttpServletRequest包裝request對象。
3.可能會用一個定製的ServletResponse或HttpServletResponse包裝response對象。
4.filter可以調用filter鏈中的下一個入口,可能是一個filter,也可能是目的web資源。
5.調用鏈中的下一個filter之後,filter可以檢測回響頭信息
6.處理過程中,filter可能拋出異常。如果在doFilter中拋出UnavailableException,容器不要繼續filter鏈的處理,如飛永久性異常,它可以選擇在稍晚的時候重新執行整個filter鏈

相關詞條

相關搜尋

熱門詞條

聯絡我們