Java EE 网站的缺省会话超时是多少?

2022-09-01 13:02:10

如果我未在 Web 中指定以下内容.xml文件:

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

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


答案 1

如果您使用的是Tomcat,则需要30分钟。您可以在此处阅读更多相关信息。


答案 2

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

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

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

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