Filter过滤器
Filter过滤器
1. Filter的作用
Filter是用来拦截用户请求的,比如:浏览器发送一个请求到Servlet,在到达Servlet之前根据Filter的过滤路径进行拦截
先进入Filter后进入Servlet,Filter优先级大于Servlet
2. 创建Filter
2.1 创建一个类,实现javax.servlet.Filter接口
public class HelloFilter implements Filter{
// 重写接口中的方法
}
2.2 在web.xml中配置Filter信息
<filter>
<filter-name>helloFilter</filter-name>
<filter-class>com.zt.filter.HelloFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>helloFilter</filter-name>
<url-pattern>/helloFilter</url-pattern>
</filter-mapping>
3. Filter的生命周期(☆)
- 执行构造方法,实例化
- 执行init方法,初始化
- 执行doFilter方法,过滤用户请求
- 当tomcat关闭时,执行destory方法,进行销毁
Filter实例化与初始化自始至终只执行一次,Filter对象是单实例的,实例化与初始化方法Tomcat启动时执行
当Tomcat关闭是destory方法进行销毁,destory方法也只执行一次
4. Filter与Servlet优先级
- Tomcat启动时,先执行Filter中的构造方法与init方法,后执行Servlet中的构造方法与init方法
- Filter与Servlet访问路径相同,先进入Filter然后再进入Servlet
本文来自博客园,作者:Schieber,转载请注明原文链接:https://www.cnblogs.com/xiqingbo/p/java-15.html