26 监听器实现网站在线人数统计

使用的接口

ServletContextListener :ServletContext相当于项目的全局空间变量,监听之,在其创建时给他添加一个对象用来计数

HttpSessionListener : 每个用户都会创建一个session,我们监听session,当创建session发生时,调出ServletContext对象,将计数变量的值+1

代码

public class CountListener implements HttpSessionListener,ServletContextListener{
	//
	@Override
	public void contextDestroyed(ServletContextEvent sce) {
		ServletContext sc = sce.getServletContext();
		sc.setAttribute("count", 0);
	}

	//
	@Override
	public void contextInitialized(ServletContextEvent sce) {
		// TODO Auto-generated method stub
		
	}

	//
	@Override
	public void sessionCreated(HttpSessionEvent se) {
		ServletContext sc = se.getSession().getServletContext();
		int count = (int)sc.getAttribute("count");
		sc.setAttribute("count", ++count);
	}

	//
	@Override
	public void sessionDestroyed(HttpSessionEvent se) {
		ServletContext sc = se.getSession().getServletContext();
		int count = (int)sc.getAttribute("count");
		sc.setAttribute("count", --count);
	}
	
}

  

猜你喜欢

转载自www.cnblogs.com/Scorpicat/p/12396935.html
26