5.过滤器和监听器介绍

8.过滤器和监听器介绍


8.1过滤器 Filter(掌握)

Filter 过滤器概述

过滤器:作用在请求到处理请求前先处理工作,还可以在响应前做一些处理工作

过滤器:在Servlet 2.3版本的时候 制定了Filter的规范,在Servlet 2.4版本进行Filter修正,

然后直到Servlet3.1 版本一直没有更新

Filter 的出现原本SUN公司是想替代Servlet

总结:从历史的角度看,Filter 具有 Servlet组件的功能,还应该比Servlet更强大

Filter 生命周期方法

Filter Servlet

init:容器启动的时候会自动创建Filter对象并且执行init方法 init:第一次请求来的时候创建servlet对象前执行init方法

destroy : 容器关闭或者应用程序卸载的时候会自动的执行 类似

doFilter : 该方法处理请求 类似

总结 :Filter 过滤器不仅可以拦截动态资源 、 还可以拦截静态资源 (imag 、 js 、 html 、 css 等)

Filter 拦截器链 (可以自定义多个Filter 形成一个链条,作用于某个特定资源)

1.在请求被多个拦截器拦截的时候,web.xml配置的Mapping-Filter先后顺序,进行拦截

2.拦截器链执行流程图:


5.过滤器和监听器介绍_第1张图片

8.2监听器 Listener (了解)

Web技术中有三大组件:Servlet 、 Filter 、Listener

Listener 监听器:用来监听应用程序的状态(三个域对象的生命周期的状态,以及域对象的数据的操作的状态)。

Sun公司定义了8种监听器:

ServletContextListener 监听ServletContext对象的创建、销毁(监听该对象的生命周期的状态)

HttpSessionListener 监听HttpSession对象的创建、销毁(监听该对象的生命周期的状态)

ServletRequestListener 监听ServletRequest对象的创建、销毁(监听该对象的生命周期的状态)

ServletContextAttributeListener 监听ServletContext对象的放入数据 、 取数据、置换同key数据的监听器

HttpSessionAttributeListener 监听HttpSession对象的放入数据 、 取数据、置换同key数据的监听器

ServletRequestAttributeListener 监听ServletRequest对象的放入数据 、 取数据、置换同key数据的监听器

HttpSessionBindingListener 感知型监听器,用于监听对象是否绑定到HttpSession域中

HttpSessionActivationListener 感知型监听器,用于监听器对象的钝化 、 激活的状态

感知型监听器:不需要在web.xml文件中配置HttpSessionBindingListener:感知型监听器,用于监听绑定该接口的对象是否绑定到HttpSession对中。HttpSessionActivationListener:感知型监听器,用于监听HttpSession对象的钝化 、 激活

你可能感兴趣的:(5.过滤器和监听器介绍)