Filter 過濾器 概念:當訪問伺服器的某些資源時,過濾器可以將請求先進行攔截,在完成了一定的特殊功能後,可以讓此請求繼續執行。 一. 實現步驟 1、實現Filter介面 2、重寫方法 3、配置web.xml 二. 過濾器的url配置 完全匹配:攔截指定資源 擴展名匹配: .擴展名,攔截指定尾碼的 ...
Filter 過濾器
概念:當訪問伺服器的某些資源時,過濾器可以將請求先進行攔截,在完成了一定的特殊功能後,可以讓此請求繼續執行。
一. 實現步驟
1、實現Filter介面
2、重寫方法
3、配置web.xml
<filter>
<filter-name>MyFilter</filter-name>
<filter-class>com.qf.filter.MyFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>MyFilter</filter-name>
<url-pattern>/a.jsp</url-pattern>
</filter-mapping>
二. 過濾器的url配置
- 完全匹配:攔截指定資源
- 擴展名匹配:*.擴展名,攔截指定尾碼的資源
- 目錄匹配:/文件夾/*,攔截指定目錄中的所有資源
- 匹配所有:/*,攔截所有資源
三. filter的生命周期及執行流程
3.1 生命周期
1、init:伺服器開啟後執行,只會執行一次
2、doFilter:每次請求都會被攔截
3、destroy:伺服器正常關閉後執行
3.2 執行流程
1、執行放行前的功能
2、放行
3、訪問目標資源
4、執行放行後的代碼
四. 多個過濾器
假設有兩個過濾器
執行步驟:
1、執行過濾器1放行前的功能
2、過濾器1放行
3、執行過濾器2放行前的功能
4、過濾器2放行
5、訪問目標資源
6、執行過濾器2放行後的功能
7、執行過濾器1放行後的功能