再会!
我正在开发一个系统。一个基于java的Web应用程序。根据系统要求,当发现用户在 30 分钟内空闲时,必须终止会话。
最简单的方法是什么?
我已经阅读了使用 HttpSession 的 setMaxInactiveInterval() 但不知道如何实现这一点。
提前致谢。
再会!
我正在开发一个系统。一个基于java的Web应用程序。根据系统要求,当发现用户在 30 分钟内空闲时,必须终止会话。
最简单的方法是什么?
我已经阅读了使用 HttpSession 的 setMaxInactiveInterval() 但不知道如何实现这一点。
提前致谢。
有两种方法:
1) web.xml
<web-app ...>
<session-config>
<session-timeout>30</session-timeout>
</session-config>
</web-app>
您可以在此处指定超时时间(以分钟为单位)。
2)在Servlet中
HttpSession session = request.getSession();
session.setMaxInactiveInterval(30*60);
在这里,您以秒为单位指定会话超时。
注意web.xml
:和之间的重要区别setMaxInactiveInterval
。在web.xml
您以分钟为单位setMaxInactiveInterval
指定它时,您以秒为单位指定它,因此如果您希望以分钟为单位,您需要将其转换为分钟。
您可以在 web.xml 中设置:
<session-config>
<session-timeout>30</session-timeout>
</session-config>
如果您使用 tomcat 作为 web 容器来执行 servlet 或 jsp 应用程序,请在以下部分找到[Tomcat_home]/conf/web.xml
:
<session-config>
<session-timeout>30</session-timeout>
</session-config>
超时值以分钟为单位指定。修改文件后重启Tomcat,使修改生效。
OR
您可以在 tomcat manager page( http://localhost:8080/manager/html
) 下将会话到期更改为特定项目,如下图所示。默认超时为 30 分钟。您可以提供以分钟为单位的值。