Java EE网站的默认会话超时是多少?

kar*_*grz 29 java jsp tomcat java-ee

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

<session-config>
    <session-timeout>10</session-timeout>
</session-config>
Run Code Online (Sandbox Code Playgroud)

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

Huu*_*uze 34

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

  • @Steve Bosman:可能是另一个链接(不知道上面的其他链接),但请查看http://tomcat.apache.org/tomcat-6.0-doc/manager-howto.html#Session_Statistics.在这里,您可以看到您在应用中配置的内容. (3认同)
  • 不幸的是,该链接现在重定向到oracle论坛的前端.有什么想法它应该指向现在? (2认同)

Kev*_*son 8

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

指定servlet容器使此会话失效之前的客户端请求之间的时间(以秒为单位).否定时间表示会话永远不会超时.

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

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


Jav*_*cMD 5

我确定这取决于你的容器.Tomcat是30分钟.