1sos1
2017-05-12 13:28
设置
0后,浏览器关闭并不会执行sessionDestroyed,在线人数不会减少,怎么解决呢?!请告知
session是有一个超时时间的,浏览器关闭其实对于web服务器来说是不知道的,所以他需要等待超时时间到了之后自动销毁,上面关闭浏览器之后只所以没有促发sessionDesroyed,就是因为默认的超时时间没到。
默认超时时间太长了,所以在sessionCreated中添加如下代码,改小超时时间:
arg0.getSession().setMaxInactiveInterval(5);
这样只要用浏览器访问该站点,然后5s不刷新之后,sessionDestroyed就会被自动调用了。
同问,有哪位高手愿意解答下吗
你可能没在sessionDestroyed方法中 再次设置userNumber,
即未添加该代码:arg0.getSession().getServletContext().setAttribute("userNumber", userNumber);
老师应该讲过了,在xml中定义session延时 当时讲的是定时1分钟, 并不是真的就1分钟就销毁,而是一分半。老师说了,这个时间有延时!!!
JAVA Web开发技术应用——监听器
76034 学习 · 155 问题
相似问题