设置Tomcat为Servlet会话发送的JSESSIONID cookie的到期日期的最佳方法是什么?
默认情况下,cookie的过期日期似乎是“会话”,这意味着一旦浏览器重新启动,会话就会在客户端中消失。但是,即使在浏览器重新启动后,我也希望将其保持打开状态12小时(然后在服务器中相应地配置会话超时)。
有什么方法可以在Tomcat中设置到期日期,例如使用某些配置选项或扩展模块吗?还是有使用Servlet过滤器为JSESSIONID设置到期日期的可靠方法?
从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为单位,但以秒为单位。
session-timeout
max-age