java,web项目中的侦听器listener示例:统计在线人数的监听器,监听Session的增、删、改的监听器

mac2025-06-16  10

统计在线人数的监听器

package com.web.listener; import javax.servlet.http.HttpSessionEvent; import javax.servlet.http.HttpSessionListener; /** * 统计在线人数监听器 * @title OnlineListener.java */ public class OnlineListener implements HttpSessionListener { // 定义默认的在线人数 private int userNumber = 0; // 监听Session创建的方法 @Override public void sessionCreated(HttpSessionEvent event) { // 只要有新的浏览器容器打开就加1 userNumber++; // 把数量放入session对中,以方便获取 event.getSession().setAttribute("userNumber", userNumber); System.out.println("OnlineListener sessionCreated()"); } // 监听Session消毁的方法 @Override public void sessionDestroyed(HttpSessionEvent event) { userNumber--; event.getSession().setAttribute("userNumber", userNumber); System.out.println("OnlineListener sessionDestroyed()"); } }

监听Session的增、删、改的监听器

package com.web.listener; import javax.servlet.annotation.WebListener; import javax.servlet.http.HttpSessionAttributeListener; import javax.servlet.http.HttpSessionBindingEvent; /** * 监听Session的增、删、改的监听器 * @title MyHttpSessionAttributeListener.java */ @WebListener//监听器的注解 public class MyHttpSessionAttributeListener implements HttpSessionAttributeListener { // 添加属性 @Override public void attributeAdded(HttpSessionBindingEvent event) { System.out.println("MyHttpSessionAttributeListener attributeAdded()"); } // 删除session中的某个值(调用remove方法) @Override public void attributeRemoved(HttpSessionBindingEvent event) { System.out.println("MyHttpSessionAttributeListener attributeRemoved()"); } // 修改session的值 @Override public void attributeReplaced(HttpSessionBindingEvent event) { System.out.println("MyHttpSessionAttributeListener attributeReplaced()"); } }
最新回复(0)