监听器和拦截器(过滤器)---Listener和 Filter

本文详细介绍了JavaWeb开发中的监听器概念及其应用场景,包括监听器如何工作、监听对象的变化,以及过滤器的基本配置和使用方法。
Listener监听器
Javaweb开发中的监听器,是用于监听web常见对象  
HttpServletRequest   HttpSession   ServletContext
监听它们的创建与销毁   属性变化   session绑定javaBean
监听机制(监听什么东西)
事件  就是一个事情  
事件源  产生这个事情的源头  
监听器  用于监听指定的事件的对象 
注册监听 要想让监听器可以监听到事件产生,必须对其进行注册。
Javaweb开发中常见监听器

监听域对象的创建与销毁
监听ServletContext创建与销毁   ServletContextListener
监听HttpSession创建与销毁   HttpSessionListener
监听HttpServletRequest创建与销毁  ServletRequestListener

监听域对象的属性变化
监听ServletContext属性变化   ServletContextAttributeListener
监听HttpSession属性变化      HttpSessionAttributeListener
监听HttpServletRequest属性变化          
                           ServletRequestAttributeListener

监听session绑定javaBean
它是用于监听javaBean对象是否绑定到了session域   HttpSessionBindingListener  
注意:
1.不用在xml中注册
2.实现接口的类 是javaBean类

测试一下监听器的效果

尝试 定时销毁session
思路:
把创建出来Session装到一个数组容器当中 放context域中
想通过遍历这个数组 找一下超过5秒的session  并且销毁
利用定时器中的定时任务 去销毁session
定时器 Timer类 过多长时间 执行一下定时器中的任务啊

Filter过滤器(拦截器)
Javaweb中的过滤器可以拦截所有访问web资源的请求或响应操作。
配置方式
创建一个类实现Filter接口
重写接口中方法  doFilter方法是真正过滤的。
在web.xml文件中配置
注意:需要放行资源

Filter生命周期
Servlet生命周期:
实例化 --》 初始化 --》 服务 --》 销毁

当服务器启动,会创建Filter对象,并调用init方法,只调用一次.
当访问资源时,路径与Filter的拦截路径匹配,会执行Filter中的doFilter方法,这个方法是真正拦截操作的方法.
当服务器关闭时,会调用Filter的destroy方法来进行销毁操作.

Filter配置
基本配置
    <filter>
        <filter-name>filter名称</filter-name>
        <filter-class>Filter类的包名.类名</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>filter名称</filter-name>
        <url-pattern>路径</url-pattern>
    </filter-mapping>
1.<url-pattern>
        完全匹配   以”/demo1”开始,不包含通配符*
        目录匹配   以”/”开始  以*结束
        扩展名匹配  *.xxx  不能写成/*.xxx
2.<servlet-name>
        它是对指定的servlet名称的servlet进行拦截的。
3.<dispatcher> 对访问方式进行拦截
        可以取的值有  REQUEST  FORWARD    
它的作用是:当以什么方式去访问web资源时,进行拦截操作.   
1.REQUEST 当是从浏览器直接访问资源,或是重定向到某个资源时进行拦截方式配置的 它也是默认值
2.FORWARD 它描述的是请求转发的拦截方式配置


















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值