Loading

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的生命周期(☆)

  1. 执行构造方法,实例化
  2. 执行init方法,初始化
  3. 执行doFilter方法,过滤用户请求
  4. 当tomcat关闭时,执行destory方法,进行销毁

Filter实例化与初始化自始至终只执行一次,Filter对象是单实例的,实例化与初始化方法Tomcat启动时执行
当Tomcat关闭是destory方法进行销毁,destory方法也只执行一次

4. Filter与Servlet优先级

  • Tomcat启动时,先执行Filter中的构造方法与init方法,后执行Servlet中的构造方法与init方法
  • Filter与Servlet访问路径相同,先进入Filter然后再进入Servlet
posted @ 2021-11-30 18:37  Schieber  阅读(166)  评论(0编辑  收藏  举报