关于jsp中session失效的问题?

来源:百度知道 编辑:UC知道 时间:2024/05/02 20:09:55
我想在session失效时执行一个操作,就譬如说在页面关闭时输出一句话,这该怎么写呀??
我实现了HttpSessionListener 接口,但是发现在页面关闭时sessionDestroyed()中的方法没有执行,但是打开页面时sessionCreated()中的方法执行了!!
怎么回事呀??除非我在其他地方调用了session.invalidate()方法,才会触发sessionDestroyed()否则没用,怎么办?
大哥帮忙呀!

你关闭浏览器,应该可以使 session失效。指关闭本页面,如果还有其它页面,那么 session还是没有失效。只有当超时时间到了,才失效。缺省是30分钟。你可以更改,再web.xml中设置
<session-config>
<session-timeout>5</session-timeout> //分
</session-config>
或者,创建session是直接设置
session.setMaxInactiveInterval(300);//秒

如果你只是要在页面关闭时作一些操作,直接用JavaScript的事件onunload就可以了。
如果你是在捕获session失效事件,那就比较复杂了。标准的做法是用session的监听类。
http://www.javaresearch.org/article/16478.htm