29

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

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

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

4

4 回答 4

34

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

于 2008-09-26T20:26:46.427 回答
8

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

指定 servlet 容器使该会话无效之前客户端请求之间的时间(以秒为单位)。负时间表示会话不应超时。

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

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

于 2008-09-26T22:33:44.140 回答
5

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

于 2008-09-26T20:24:48.053 回答
1

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

默认会话超时为 30 分钟

于 2009-12-20T16:28:57.740 回答