监听器Listener
Posted ashl
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了监听器Listener相关的知识,希望对你有一定的参考价值。
一、监听器Listener
Servlet规范中包括三个技术:Servlet,Listener和Filter
1.什么是监听器?
监听器就是监听某个对象的状态变化的组件,监听器的相关概念:
事件源:被监听的对象。三个域对象Request,Session,ServletContext。
监听器:监听事件源对象,事件源对象的状态的变化都会触发监听器,(6+2)
注册监听器:将监听器与事件源进行绑定。
响应行为:监听器监听到事件源的状态变化时所涉及的功能代码。
2.监听器有哪些?
第一纬度:按照被监听的对象划分:ServletRequest域,HttpSession域,ServletContext域。
第二纬度:监听的内容:监听域对象的创建和销毁,监听域对象都额属性的变化
域对象的创建和销毁 域对象的属性的变化
ServletContext域:ServletContextListener ServletContextAttributeListener
HttpSession域: HttpSessionListener HttpSessionAttributeListener
ServletRequest域:ServletRequestListener ServletRequestAttributeListener
3.监听三大域对象的创建与销毁的监听器
(1) 监听器ServletContext域的创建与销毁的监听器ServletContextListener
1)Servlet域的生命周期
创建:服务器启动时创建
销毁:服务器关闭时销毁
2)监听器的编写步骤
a.编写一个监听器类去实现监听器接口
b.覆盖监听器的方法
c.在web.xml中进行配置(注册)
3)监听的方法
ServletContextListener监听器
public void contextInitialized(ServletContextEvent sce)
public void contextDestroyed(ServletContextEvent sce)
4)配置web.xml
<listener>
<listener-class>监听器类的名称(全名)</listener-class>
</listener>
5)ServletContextListener监听器的主要作用
a.初始化的工作:初始化对象,初始化数据,加载数据库驱动,连接池的驱动
b.加载一些初始化的配置文件:spring配置文件
c.任务调度:定时器(Timer/TimerTask)
(2)监听HttpSession域的创建与销毁的监听器HttpSessionListener
1)HttpSession对象的生命周期
创建:第一次调用request.getSession时创建
销毁:服务器关闭,Session过期,手动销毁
2)HttpSessionListener的方法
创建和销毁
(3)监听器ServletRequest域创建和销毁的监听器ServletRequestListener
1)ServletRequest的生命周期
创建:每一次请求都会创建Request
销毁:请求结束
2)ServletRequestListener的方法:
创建和销毁
4.监听三大域对象的属性的变化
(1)域对象的通用方法:
setAttribute(name,value)
触发添加属性点额监听器的方法,触发修改属性的监听器的方法
getAttribute(name)
removeAttribute(name)
触发删除属性的监听器的方法
(2)ServletContextAttributeListener监听器,
HttpSessionAttributeListener,
ServletRequestAttributeListener
增删改
以上是关于监听器Listener的主要内容,如果未能解决你的问题,请参考以下文章