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);
}
}
原文:https://www.cnblogs.com/Scorpicat/p/12396935.html