Listener监听器 -案例
案例 - 自定义类实现监听器接口并重写相关方法
<1>自定义类实现监听器接口并重写相关的方法 - 代码框架
public class OnlineUser implements HttpSessionListener,ServletContextListener { ServletContext ctx = null; // 初始化ServletContext public void contextInitialized(ServletContextEvent e) { ctx = e.getServletContext(); } // 销毁ServletContext public void contextDestroyed(ServletContextEvent e) { //将ServletContext设置成null; } // 当新创建一个HttpSession对象时 public void sessionCreated(HttpSessionEvent e) { //将当前的在线人数加上1,并且保存到ServletContext(application)中 } // 当一个HttpSession被销毁时(过期或者调用了invalidate()方法) public void sessionDestroyed(HttpSessionEvent e) { //将当前人数减去1,并且保存到ServletContext(application)中 } }
<2>在web.xml中配置监听器
<listener> <listener-class> com.lagou.listener.OnlineUser </listener-class> </listener>
<3> 代码实现:
OnlineUser.java, 统计当前在线的人数
练习题