如何将会话超时设置为大于30分钟

时间:2009-09-10 16:22:21

标签: jsp servlets

任何人都知道如何将会话超时设置为大于30分钟? 这两种方法都不起作用(默认为30分钟)。

<session-config>
<session-timeout>60</session-timeout>
</session-config>

session.setMaxInactiveInterval(600); 

感谢。

5 个答案:

答案 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>