首页 > 解决方案 > servlet session-timeout(0) 不工作

问题描述

我想将会话设置为不过期。我在 web.xml 中设置了会话配置。

    <session-config>
        <session-timeout>0</session-timeout>
    </session-config>

我没有设置 session.setMaxInactiveInterval,所以应该先执行 session-config。但这不起作用。我在下面的 context.xml 中设置了会话 JDBCStore。我认为这会导致问题。当我将 session-timeout 设置为 0 或 -1 时,我可以发现数据库中的 max_inactive 为 -60。有时,我在数据库中找不到数据。我很困惑。

  <Manager className="PersistentManager"
   saveOnRestart="true"
   maxActiveSession="-1"
   minIdleSwap="0"
   maxIdleSwap="30"
   maxIdleBackup="0"> 
    <Store className="JDBCStore"
      driverName="Driver" 
      connectionURL="mysql://localhost?user;password" 
      sessionTable="cache_session" 
      sessionIdCol="session_id" 
      sessionDataCol="data" 
      sessionValidCol="session_valid" 
      sessionMaxInactiveCol="max_inactive" 
      sessionLastAccessedCol="last_access"
      sessionAppCol="application_name" 
      checkInterval="60" 
      debug="99" />
 </Manager>

标签: javasessionservletstimeout

解决方案


推荐阅读