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 它描述的是请求转发的拦截方式配置
监听器和拦截器(过滤器)---Listener和 Filter
最新推荐文章于 2024-11-13 11:20:45 发布
本文详细介绍了JavaWeb开发中的监听器概念及其应用场景,包括监听器如何工作、监听对象的变化,以及过滤器的基本配置和使用方法。
---Listener和 Filter&spm=1001.2101.3001.5002&articleId=79857129&d=1&t=3&u=d2ed5b1c3d8944df8852751c3dad75b6)
3527

被折叠的 条评论
为什么被折叠?



