Listener:监听器
监听机制:
1、事件:发生了什么
2、事件源:哪里发生
3、监听器:具有监听功能的对象
4、注册监听:将事件、事件源、监听器绑定在一起,当某个特定的事件发生时,由监听器作出响应
ServletContextListener ServletContextAttributeListener
HttpSessionListener HttpSessionAttributeListener
ServletRequestListener ServletRequestAttributeListener
实现步骤:
1、创建类实现接口
2、重写方法
3、配置映射
<listener>
<listener-class>com.qf.listener.MyServletContextListener</listener-class>
</listener>
一. ServletContextListener
作用:监听ServletContext对象的创建和销毁
方法:
1、contextInitialized:ServletContext创建时触发
2、contextDestroyed:ServletContext销毁时触发
二. ServtContextAttributeList
作用:监听ServletContext域对象中,属性的添加、移除和替换
方法:
1、attributeAdded:当调用ServletContext的setAttribute方法,且键不存在时触发
2、attributeRemoved:当调用ServletContext的removeAttribute方法时触发
3、attributeReplaced:当调用ServletContext的setAttribute方法,且键已存在时触发
三. 域对象的创建和销毁
3.1 ServletContext
创建:服务器开启后
销毁:关闭服务器
3.2 HttpSession
创建:第一次使用request获取session时
销毁:1、调用invalidate() 2、session-timeout时间到达时
3.3 Request
创建:每次访问
销毁:访问后
四. 监听器中的方法
4.1 获取初始化或者释放的对象
1、getSource():获取ServletContext
2、getServletContext():获取ServletContext
3、getSession():获取session
4、getServletRequest():获取request
4.2 获取域对象中添加、移除、替换的键值对
1、getName():获取键
2、getValue():获取值