12. 监听器
实现一个监听器的接口;(有N种)
-
编写一个监听器
实现监听器的接口。。。
public class OnlineCountListener implements HttpSessionListener { /** * 看你的一举一动 * Session创建一次,触发一次 * @param se */ @Override public void sessionCreated(HttpSessionEvent se) { ServletContext ctx = se.getSession().getServletContext(); System.out.println(se.getSession().getId()); Integer onlineCount = (Integer) ctx.getAttribute("OnlineCount"); if (onlineCount==null){ onlineCount = new Integer(1); }else{ int count = onlineCount.intValue(); onlineCount = new Integer(count+1); } ctx.setAttribute("OnlineCount",onlineCount); } /** * Session销毁一次,触发一次 * @param se */ @Override public void sessionDestroyed(HttpSessionEvent se) { ServletContext ctx = se.getSession().getServletContext(); Integer onlineCount = (Integer) ctx.getAttribute("OnlineCount"); if (onlineCount==null){ onlineCount = new Integer(0); }else{ int count = onlineCount.intValue(); onlineCount = new Integer(count-1); } ctx.setAttribute("OnlineCount",onlineCount); } /** * Session销毁 * 1. 手动销毁 getSession().invalidate() * 2. 自动销毁 * */ }
-
注册监听器
<!--注册监听器--> <listener> <listener-class>com.listener.OnlineCountListener</listener-class> </listener>
-
看情况是否使用!!