Filter和监听器
Filter
简介
对资源的访问进行筛选(拦截),对请求和相应的拦截,从而实现一些特殊的功能
编写步骤:
1.编写一个类,实现javax.servlet.Filter方法
2.在web.xml中配置要过滤的资源
生命周期:
诞生:应用被加载时。配置好的过滤器会被容器实例化,接着初始化。
活着:应用活着,他就活着。针对用户的每次访问过滤器拦截范围内的资源,容器都会调用doFilter(SerlvetRequest,ServletResponse.FilterChain);
死亡:应用被卸载时,就会销毁,调用destory方法。
串联过滤器
多个过滤器对某个资源进行过滤,顺序是filter-mapping标签在web.xml中出现的顺序
过滤器的其他配置
监听器
servlet规范中的8个监听器
1、监听ServletContext、HttpSession、ServletRequest对象的创建和销毁的监听器
ServletContextListener:
HttpSessionListener:
SerlvetRequestListener:
2、监听ServletContext、HttpSession、ServletRequest属性(attributes)变化的监听器
ServletContextAttributeListener:
HttpSessionAttributeListener:
SerlvetRequestAttributeListener:
注意:监听器要注册到事件对象上。web.xml中注册
3、感知型监听器:不需要注册。
HttpSessionBindingListener:实现该接口的类的实例,能够感知自己何时被放到了HttpSession域范围中,和何时从HttpSession域范围中删除。
HttpSessionActivationListener:实现该接口的类的实例,能够感知自己何时随着HttpSession钝化和**。