任何人都知道如何将会话超时设置为大于30分钟? 这两种方法都不起作用(默认为30分钟)。
<session-config>
<session-timeout>60</session-timeout>
</session-config>
和
session.setMaxInactiveInterval(600);
感谢。
答案 0 :(得分:10)
通过部署描述符设置会话超时应该有效 - 它设置Web应用程序的默认会话超时。调用session.setMaxInactiveInterval()可设置调用它的特定会话的超时,并覆盖默认值。还要注意单元差异 - 部署描述符版本使用分钟,session.setMaxInactiveInterval()使用秒。
所以
<session-config>
<session-timeout>60</session-timeout>
</session-config>
将默认会话超时设置为60分钟。
和
session.setMaxInactiveInterval(600);
将会话超时设置为600秒--10分钟 - 用于调用它的特定会话。
这应该可以在Tomcat或Glassfish或任何其他Java Web服务器中使用 - 它是规范的一部分。
答案 1 :(得分:8)
如果您希望永不过期,请使用0
或否定值-1
。
<session-config>
<session-timeout>0</session-timeout>
</session-config>
或提及1440
它表示1440 minutes
[24hours * 60 minutes
]
<session-config>
<session-timeout>1440</session-timeout><!-- 24hours -->
</session-config>
会话将在24hours
之后过期。
答案 2 :(得分:2)
这将设置会话以保留所有内容直到浏览器关闭
session.setMaxinactiveinterval(-1);
这应该设置为1天
session.setMaxInactiveInterval(60 * 60 * 24);
答案 3 :(得分:0)
在web.xml中设置超时是设置超时的正确方法。
答案 4 :(得分:0)
如果允许全局执行,则可以在
中设置会话超时TOMCAT_HOME / conf / web.xml如下
<!-- ==================== Default Session Configuration ================= -->
<!-- You can set the default session timeout (in minutes) for all newly -->
<!-- created sessions by modifying the value below. -->
<session-config>
<session-timeout>60</session-timeout>
</session-config>