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

Jsp 如何将会话超时设置为大于30分钟,jsp,servlets,Jsp,Servlets,有人知道如何将会话超时设置为大于30分钟吗? 这两种方法不起作用(默认为30分钟) 谢谢。在web.xml中设置超时是设置超时的正确方法。如果允许全局设置,则可以在中设置会话超时 TOMCAT_HOME/conf/web.xml,如下所示 <!-- ==================== Default Session Configuration ================= --> <!-- You can set the default session tim

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


谢谢。

在web.xml中设置超时是设置超时的正确方法。

如果允许全局设置,则可以在中设置会话超时

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>

60

通过部署描述符设置会话超时应该有效-它设置web应用程序的默认会话超时。调用session.setMaxInactiveInterval()为调用它的特定会话设置超时,并覆盖默认值。还要注意单元的差异-部署描述符版本使用分钟,而session.setMaxInactiveInterval()使用秒

所以

为调用它的特定会话将会话超时设置为600秒(10分钟)


这应该适用于Tomcat、Glassfish或任何其他Java web服务器—这是规范的一部分。

这将设置您的会话以保留所有内容,直到浏览器关闭

session.setMaxinactiveinterval(-1);
这应该设置为1天

session.setMaxInactiveInterval(60*60*24)


如果希望会话永不过期,请使用
0
或负值
-1

<session-config>
    <session-timeout>0</session-timeout>
</session-config>

会话将在
24小时后过期

您正在使用哪个应用程序服务器?Tomcat、JBoss等?我正在使用Tomcat,还想知道如何为GlassFish执行此操作负时间表示会话不应超时。是的,我知道,但它不允许我将会话超时设置为大于30分钟。你说“它不允许”是什么意思?它是否抛出异常和异常?阻止服务器启动?弹出一个错误对话框?或者只是看起来不遵守设定的超时?在部署描述符中设置超时可能需要重新启动web应用程序和/或服务器,以使新值生效。我不知道在会话中调用setMaxInactiveInterval会有什么影响。。。也许是其他原因在设置setMaxInactiveInterval或使会话无效?@Rocky-与Nate的问题相同。“不让我”是什么意思?web.xml/session-config/session-timeout只是会话的最大空闲时间。如果会话空闲时间较长,则servlet容器将丢弃与会话相关的任何数据项。因此,如果您通过cookie到达会话,并且cookie的生存期较短,从容器的角度来看,当会话处于活动状态时,它从用户的角度消失了。我认为,这会为任何不提供值的web应用设置默认值-无论是在部署描述符中为特定web应用设置默认值,还是在特定会话上调用setMaxInactiveInterval,都会覆盖这一点。这确实是个谜为什么框架设计者拒绝理解使用单元的好处。使用单元的一个很好的框架是UCUM()。
<session-config>
    <session-timeout>60</session-timeout>
</session-config>
session.setMaxInactiveInterval(600);
session.setMaxinactiveinterval(-1);
<session-config>
    <session-timeout>0</session-timeout>
</session-config>
<session-config>
  <session-timeout>1440</session-timeout><!-- 24hours -->
</session-config>