Listener的使用:
* 作用:
* 监听作用域对象request,session,application的创建、销毁和内容改变
* 使用:
* 创建一个实现了指定接口的java类
* 监听request--->ServletRequestListener 监听request对象的创建和销毁
* requestDestroyed(ServletRequestEvent sre)
* requestInitialized(ServletRequestEvent sre)
* 注意:
* 形参可以获取监听的request对象
* sre.getServletRequest();
* 监听request--->ServletRequestAttributeListener 监听request作用域数据的变更
* 注意:
* 形参可以获取被监听的数据
* srae.getName() 获取监听数据的键
* srae.getValue() 获取监听数据的值
* 监听session--->HttpSessionListener监听session的创建和销毁
* sessionCreated(HttpSessionEvent se)创建
* sessionDestroyed(HttpSessionEvent se)销毁
* 注意:
* 形参可以获取监听的session对象
* se.getSession();
* 监听session-->HttpSessionAttributeListener 监听session数据的变更
* attributeAdded(HttpSessionBindingEvent event)
* attributeRemoved(HttpSessionBindingEvent event)
* attributeReplaced(HttpSessionBindingEvent event)
* 监听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.listener.MyListener</listener-class>
</listener>
案例:
统计当前在线人数
统计网页游览次数