监听器的使用:
作用:
监听作用域对象request、session、application的创建、销毁和内容的改变
使用:
创建一个实现了指定接口的类
监听request----->ServletRequestListener 监听request对象的创建和销毁
requestInitialized(ServletRequestEvent sre)//创建
requestDestroyed(ServletRequestEvent sre)//销毁
注意:
形参可以获取监听的request对象
sre.getRequest()
监听request----->ServletRequestAttributeListener 监听request作用域数据的变更
attributeAdded(ServletRequestAttributeEvent arg0)
attributeRemoved(ServletRequestAttributeEvent arg0)
attributeReplaced(ServletRequestAttributeEvent arg0)
注意:
形参可以获取被监听的数据
arg0.getName() 获取监听数据的键
arg0.getValue()获取监听数据的值
监听session-----》HttpSessionListener 监听session对象的创建和销毁
sessionCreated(HttpSessionEvent arg0) //创建
sessionDestroyed(HttpSessionEvent arg0) //销毁
注意:arg0.getSession()
监听session-----》HttpSessionAttributeListener 监听session作用域数据的变更
attributeAdded(HttpSessionBindingEvent arg0)
attributeRemoved(ServletRequestAttributeEvent arg0)
attributeReplaced(HttpSessionBindingEvent arg0)
注意:形参可以获取被监听的数据
arg0.getName() 获取数据的名称
arg0.getValue() 获取数据的值
监听application--->ServletContextListener 监听application对象的初始化和销毁
contextInitialized(ServletContextEvent arg0) //创建 服务器启动
contextDestroyed(ServletContextEvent arg0) //销毁 服务器关闭
注意:
形参可以获取当前application对象
arg0.getServletContext(); 获取监听application对象
监听application---->ServletContextAttributeListener 监听数据的变更
attributeAdded(ServletContextAttributeEvent arg0)
attributeRemoved(ServletContextAttributeEvent arg0)
attributeReplaced(ServletContextAttributeEvent arg0)
注意:
形参可以获取当前监听的数据
arg0.getName() 获取数据的键名
arg0.getValue() 获取数据的值
在web.xml中配置监听器类
<listener>
<listener-class>com.bjsxt.listener.MyListener</listener-class>
</listener>
案例:
统计网站在线人数
统计网站浏览次数