监听器的使用:
作用:
监听作用域对象request、session、application的创建、销毁和内容的改变
使用:
创建一个实现了指定接口的java类
监听request--->ServletRequestListener 监听request对象的创建和销毁
requestInitialized(ServletRequestEvent sre) //创建
requestDestroyed(ServletRequestEvent sre) //销毁
注意:形参可以获取监听的request对象
监听request--->ServletRequestAttributeListener 监听request作用域数据的变更
attributeAdded(ServletRequestAttributeEvent srae) //添加
attributeRemoved(ServletRequestAttributeEvent srae) //删除
attributeReplaced(ServletRequestAttributeEvent srae) //修改
注意:形参可以获取被监听的数据
srae.getName() 获取监听数据的键
srae.getValue() 获取监听数据的值
监听session--->HttpSessionListener 监听session对象的创建和销毁
sessionCreated(HttpSessionEvent se) //创建
sessionDestroyed(HttpSessionEvent se) //销毁
注意:形参可以获取被监听的session对象
se.getSession()
监听session--->ServletSessionAttributeListener 监听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 监听application数据的变更
attributeAdded(ServletContextAttributeEvent event) //添加
attributeRemoved(ServletContextAttributeEvent event) //删除
attributeReplaced(ServletContextAttributeEvent event) //修改
注意:形参可以获取被监听的数据
event.getName() 获取数据的键名
event.getValue() 获取数据的值
在web.xml中配置监听器类
<listener>
<listener-class>com.mxj.listener.MyListener</listener-class>
</listener>
案例:
统计当前在线人数
统计网页浏览次数