FilterConfig對象
FilterConfig對象字旭,過濾器配置對象滚秩,用于加載過濾器的參數(shù)配置
過濾器參數(shù)使用:
1. 在web.xml文件中配置
<!-- 過濾器配置 -->
<filter>
<!-- 內(nèi)部名稱 -->
<filter-name>HelloFilter</filter-name>
<!-- 類全名:包+簡單類名 -->
<filter-class>com.xxjqr.servlet_study.filter.FirstFilter</filter-class>
<init-param>
<param-name>AAA</param-name>
<param-value>AAA'value</param-value>
</init-param>
<init-param>
<param-name>BBB</param-name>
<param-value>BBB'value</param-value>
</init-param>
</filter>
2. 在filter中使用
public void init(FilterConfig filterConfig) throws ServletException {
System.out.println("2. Filter生命周期-init方法");
/**
* 通過FilterConfig對象得到參數(shù)配置信息
*/
//得到一個參數(shù)
System.out.println(filterConfig.getInitParameter("AAA"));
Enumeration<String> enums = filterConfig.getInitParameterNames();
//遍歷所有參數(shù)
while(enums.hasMoreElements()){
String paramName = enums.nextElement();
String paramValue = filterConfig.getInitParameter(paramName);
System.out.println(paramName+"="+paramValue);
}
}
過濾器鏈
過濾器鏈
doFilter(ServletRequest request, ServletResponse response, FilterChain chain): 執(zhí)行過濾任務(wù)
參數(shù)一: ServletRequest是HttpServletRequest的父接口。實(shí)際上傳入的是HttpServletRequest接口的實(shí)現(xiàn)類祈纯。
參數(shù)二: ServletResponse是HttpServletResponse的父接口。實(shí)際上傳入HttpServletResponse接口的實(shí)現(xiàn)類。
參數(shù)三: FilterChain 過濾器鏈接口
doFilter(ServletRequest request, ServletResponse response):
執(zhí)行過濾器鏈中的下一個過濾器文兑,如果沒有下一個過濾器則執(zhí)行目標(biāo)資源。
注意:過濾器鏈中的過濾器執(zhí)行順序問題:由web.xml中filter-mapping的配置決定順序腺劣。先配置的優(yōu)先被執(zhí)行(前面的先執(zhí)行)
Paste_Image.png
Paste_Image.png