一、过滤器的介绍
Filter(过滤器)是j2EE下的一个组件,主要用于对url进行拦截处理,Filter通常用于应用程序层进行全局处理
二、过滤器的三要素
1、先导入包javax.servlet.Filter的包;然后进行继承Filter
2、然后进行到Filter里面的doFilter()方法中编写过滤的功能代码
3、在web.xml中进行配置对URL的拦截,或者通过注解的方式进行拦截
三、以下就为过滤器的三种功能
1、过滤器的初始化
①、通过web.xml进行配置
<filter>
<!--过滤器的名字-->
<filter-name>name</filter-name>
<filter-class>filePath</filter-class>
<init-param>
<!--以下就为参数的名字和相应的值-->
<param-name>paramName1</param-name>
<param-value>value1</param-value>
</init-param>
<init-param>
<param-name>paramName2</param-name>
<param-value>value2</param-value>
</init-param>
<init-param>
<param-name>paramName3</param-name>
<param-value>value3</param-value>
</init-param>
</filter>
<!--下面就为相关的范围-->
<filter-mapping>
<!--过滤器的名字-->
<filter-name>name</filter-name>
<!--过滤器的范围-->
<url-pattern>/*</url-pattern>
</filter-mapping>
②、通过注解的方式进行配置
//name为过滤器的名字 urlPatterns为其中的范围
//initParams下的就为参数与参数对应的值
@WebFilter(filterName = "name",urlPatterns = "/*",
initParams= {
@WebInitParam(name="param1",value="value1"),
@WebInitParam(name="param2",value="value2"),
@WebInitParam(name="param3",value="value3")
})
2、过滤器的过滤范围
①、通过web.xml进行配置(在上面已经说明就不多说了)
②、通过注解的方式进行配置
//name就为过滤器的名字,urlPatterns下为相关范围
@WebFilter(filterName = "name",
urlPatterns= {
"/","/servlet/*","*.jsp"
})
3、过滤链
①、过滤链一般以一个过滤具有单独职能更好,方面以后做相关修改
②、chain.doFilter()会请求向后传递
③、执行顺序以web.xml中<filter-mapping>为准