销毁问题?
在销毁时要不要先把在上下文的userName先拿出来再减在放进去 这样直接减会用吗?
在销毁时要不要先把在上下文的userName先拿出来再减在放进去 这样直接减会用吗?
2016-08-27
你说的userName,是指的是userNumber吧?
服务器启动时会创建唯一的 MyHttpSessionListener 对象,所有的session 创建和销毁都会走这个对象里的两个方法, userNumber 是一个全局属性,变量 userNumber 和 ServletContext中的 userNumber是同步的。所以不用多此一举。
public class MyHttpSessionListener implements HttpSessionListener { private int userNumber = 0; @Override public void sessionCreated(HttpSessionEvent arg0) { userNumber++; arg0.getSession().getServletContext().setAttribute("userNumber", userNumber); } @Override public void sessionDestroyed(HttpSessionEvent arg0) { userNumber--; arg0.getSession().getServletContext().setAttribute("userNumber", userNumber); } }
举报