课程
/后端开发
/Java
/JAVA Web开发技术应用——监听器
设置
后,浏览器关闭并不会执行sessionDestroyed,在线人数不会减少,怎么解决呢?!请告知
2017-05-12
源自:JAVA Web开发技术应用——监听器 5-1
正在回答
session是有一个超时时间的,浏览器关闭其实对于web服务器来说是不知道的,所以他需要等待超时时间到了之后自动销毁,上面关闭浏览器之后只所以没有促发sessionDesroyed,就是因为默认的超时时间没到。
默认超时时间太长了,所以在sessionCreated中添加如下代码,改小超时时间:
arg0.getSession().setMaxInactiveInterval(5);
这样只要用浏览器访问该站点,然后5s不刷新之后,sessionDestroyed就会被自动调用了。
同问,有哪位高手愿意解答下吗
你可能没在sessionDestroyed方法中 再次设置userNumber,
即未添加该代码:arg0.getSession().getServletContext().setAttribute("userNumber", userNumber);
老师应该讲过了,在xml中定义session延时 当时讲的是定时1分钟, 并不是真的就1分钟就销毁,而是一分半。老师说了,这个时间有延时!!!
1sos1 提问者
举报
本课程从Java Web中的监听器的概念和用途入手,结合实例讲解
3 回答直接关闭浏览器在线人数怎么减少
3 回答使用注解读取不出在线人数
1 回答获取不到当前在线人数
2 回答获取不到当前在线人数:userName
3 回答关于统计在线人数问题