关于session的有效时间,很是奇怪。
在JSP文件中将session.setMaxInactiveInterval(5);设置为5秒钟,为什么5秒钟过后,session的值依然存在。
系统默认session.setMaxInactiveInterval();是1800,但时间上也就是3分钟而已。
我的服务器是IBM WebSphere.
问题点数:10、回复次数:5Top
1 楼zeq258(周二强)回复于 2005-11-03 11:32:58 得分 10
如果要设置session的失效时间,可以不用那么麻烦,直接在web.xml中进行配置就可以!
<web-app>
.....
<session-config>
<session-timeout>10</session-timeout>
</session-config>
.....
</web-app>
单位是分钟。Top
2 楼myepoch(myepoch)回复于 2005-11-03 11:40:32 得分 0
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
这是我的web.xml头。
<session-config>
<session-timeout>10</session-timeout>
</session-config>
不支持session-configTop
3 楼myepoch(myepoch)回复于 2005-11-03 11:44:07 得分 0
打错了。支持Top
4 楼myepoch(myepoch)回复于 2005-11-03 11:44:59 得分 0
不起作用Top
5 楼zeq258(周二强)回复于 2005-11-03 15:51:30 得分 0
肯定是可以的,比如你可以给session里边存一些用户的信息。
在session失效以后,你连接到其他的页面,并且要求从session里边取值,你看有什么结果!
要不,你可以写一个监听器类,实现HttpSessionListener接口。
public final class MySessionListener implements HttpSessionListener {
。。。。。。。。。。。。。。
public void sessionCreated(HttpSessionEvent httpSessionEvent){
}
public void sessionDestroyed(HttpSessionEvent httpSessionEvent){
System.out.println("Session已经失效");
}
然后在web.xml中配置这个监听器类,当session失效的时候,会自动除法这个方法。
<listener>
<listener-class>.......MySessionListener</listener-class>
</listener>
这样,如果session失效,就会输出“Session已经失效”,当然,也可以在这里进行其他的业务逻辑。Top




