一尘不染

Tomcat中具有到期日期的JSESSIONID Cookie

tomcat

设置Tomcat为Servlet会话发送的JSESSIONID cookie的到期日期的最佳方法是什么?

默认情况下,cookie的过期日期似乎是“会话”,这意味着一旦浏览器重新启动,会话就会在客户端中消失。但是,即使在浏览器重新启动后,我也希望将其保持打开状态12小时(然后在服务器中相应地配置会话超时)。

有什么方法可以在Tomcat中设置到期日期,例如使用某些配置选项或扩展模块吗?还是有使用Servlet过滤器为JSESSIONID设置到期日期的可靠方法?


阅读 351

收藏
2020-06-16

共1个答案

一尘不染

从Servlet 3.0开始,可以在web.xml中简单指定:

<session-config>
    <session-timeout>720</session-timeout> <!-- 720 minutes = 12 hours -->
    <cookie-config>
        <max-age>43200</max-age> <!-- 43200 seconds = 12 hours -->
    </cookie-config>
</session-config>

请注意,session-timeout以分钟max-age为单位,但以秒为单位。

2020-06-16