问答详情
源自:5-1 统计在线用户及人数

销毁问题?

在销毁时要不要先把在上下文的userName先拿出来再减在放进去  这样直接减会用吗?


提问者:粑粑3722522 2016-08-27 22:14

个回答

  • 超级无敌战士之贪财宝宝
    2016-12-22 14:58:04
    已采纳

    你说的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);
    	}
    
    }


  • qq_小鱼肉_0
    2016-08-28 21:01:22

    我不清楚额