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