【问题标题】:What is the default session timeout for a Java EE website?Java EE 网站的默认会话超时是多少?
【发布时间】:2010-09-13 14:14:11
【问题描述】:

如果我没有在我的 web.xml 文件中指定以下内容:

<session-config>
    <session-timeout>10</session-timeout>
</session-config>

我的默认会话超时时间是多少? (我正在运行 Tomcat 6.0)

【问题讨论】:

    标签: java jsp tomcat jakarta-ee


    【解决方案1】:

    如果您使用的是 Tomcat,则需要 30 分钟。你可以阅读更多关于它的信息here

    【讨论】:

    • 不幸的是,该链接现在重定向到 oracle 论坛的前面。知道它现在应该指向哪里吗?
    • @Steve Bosman:可能是另一个链接(不知道上面的另一个),但请查看tomcat.apache.org/tomcat-6.0-doc/…。在这里您可以看到您在应用中配置的内容。
    【解决方案2】:

    您也可以在代码中为特定会话使用HttpSession setMaxInactiveInterval API 进行设置:

    指定时间,以秒为单位, 在客户端请求之前 servlet 容器将使此无效 会议。负时间表示 会话不应超时。

    如果您看到不是 30 分钟的超时,但您没有指定其他值(例如,项目中的另一个开发人员使用了此 API),我会提到这一点。

    需要注意的另一点是,此超时可能不会在会话有资格到期的那一秒触发。 Java EE 服务器可能有一个轮询线程,每分钟检查一次过期会话。我没有对此的参考,但在 WebSphere 5.1 时代已经看到了这种行为。

    【讨论】:

      【解决方案3】:

      我确定这取决于您的容器。 Tomcat 是 30 分钟。

      【讨论】:

        【解决方案4】:

        会话超时我们可以在 web.xml 文件中为特定上下文指定如下条目 60

        默认会话超时为 30 分钟

        【讨论】:

        • 只是好奇:你为什么要复活一个老问题并再次重复已经给出的答案?
        • @BalusC - 这么好的问题。似乎是唯一的答案。
        • @BalusC, @KG:他在 SO 中注册只是为了给出这个答案。
        猜你喜欢
        • 2014-02-06
        • 2010-11-03
        • 1970-01-01
        • 1970-01-01
        • 2016-09-19
        • 1970-01-01
        • 2013-12-12
        • 1970-01-01
        • 2011-05-13
        相关资源
        最近更新 更多