Filter过滤器及其生命周期介绍

一、Filter过滤器及其生命周期介绍

1、Filter过滤器

过滤器是Servlet规范中的三大组件之一。另外两个组件是监听器和Servlet组件。

Filter过滤器是位于javax.servlet包下的一个接口。接口中只有三个方法,分别是init()、doFilter()和destroy()方法。

Filter过滤器及其生命周期介绍

2、过滤器作用

过滤器的作用就是在请求到达目标资源之前,可以对请求进行拦截过滤的操作,或者在响应到达客户端之前,对响应数据进行拦截过滤的操作。

Filter过滤器及其生命周期介绍

3、创建一个过滤器Filter

<1>创建FirstFilter类并实现Filter接口

Filter过滤器及其生命周期介绍

<2>在web.xml配置文件中注册filter

Filter过滤器和Servlet配置是类似的。servlet需要配置<servlet>和<servlet-mapping>,而filter需要配置<filter>和<filter-mapping>。

Filter过滤器及其生命周期介绍

<3>启动项目,任意访问一个请求地址查看控制台输出

Filter过滤器及其生命周期介绍

这里请求被过滤器给拦截到了。

4、Filter过滤器生命周期

Filter和Servlet一样,都具有自己的生命周期,并且两个组件的生命周期是类似的。

Filter生命周期也分为四个阶段:实例化、初始化、doFilter()以及销毁。

<1>实例化

实例化是指通过new关键字创建Filter的实例对象,执行其构造方法。

Filter过滤器是单例模式的,即:在整个web工程中只会创建当前一个Filter实例对象。

Filter过滤器及其生命周期介绍

<2>初始化init()

实例化完成之后,就会自动调用init()方法,进行初始化过滤器参数等操作。

Filter过滤器及其生命周期介绍

<3>doFilter()

doFilter()方法是拦截请求的,可以在该方法中对请求或者响应进行过滤等操作,然后放行请求或响应。

Filter过滤器及其生命周期介绍

<4>销毁destroy()

当过滤器被卸载之前,就会调用destroy()方法进行释放一些资源。

Filter过滤器及其生命周期介绍

注意:Tomcat服务器启动时候,就会马上执行Filter过滤器的实例化和初始化操作。

Filter过滤器及其生命周期介绍

综上,Filter过滤器及其生命周期介绍完了。

Filter过滤器及其生命周期介绍

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容