在JSP文件中将session.setMaxInactiveInterval(5);设置为5秒钟,为什么5秒钟过后,session的值依然存在。系统默认session.setMaxInactiveInterval();是1800,但时间上也就是3分钟而已。我的服务器是IBM WebSphere.

解决方案 »

  1.   

    如果要设置session的失效时间,可以不用那么麻烦,直接在web.xml中进行配置就可以!<web-app>
    .....
      <session-config>
        <session-timeout>10</session-timeout>
      </session-config>
    .....
    </web-app>单位是分钟。
      

  2.   

    <!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-config
      

  3.   

    肯定是可以的,比如你可以给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已经失效”,当然,也可以在这里进行其他的业务逻辑。