java - 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>
解决方案
推荐阅读
- git - 获取当前提交的新标签,而不获取更新的提交
- sql - 如果 count 为 0,则跳过数据库记录
- c# - 如何在 C# 中使表单可见
- android-annotations - AndroidAnnotions:在发布 buildType 找不到符号
- java - 如何使用 XSLT 根据 XML 文件中的值计数更改属性值
- android - 如何在 Android Studio 中更改 XML 文件中的命名空间前缀颜色
- java - 如何在 Vaadin 中使用 Java 设置 ListBox 的宽度?
- angularjs - 会话过期后 Symfony 不会重定向到登录路由
- mysql - 如何使用更新查询从逗号分隔的字符串中删除值?
- c++ - 在定义的异常类中捕获程序中止