【问题标题】:Killing user session when idle in 30 minutes - java based [closed]在 30 分钟内空闲时终止用户会话 - 基于 java [关闭]
【发布时间】:2013-02-21 05:02:55
【问题描述】:

美好的一天!

我正在开发一个系统。 一个基于java的Web应用程序。 根据系统要求,30分钟内发现用户空闲时,必须终止会话。

最简单的方法是什么?

我已经阅读过使用 HttpSession 的 setMaxInactiveInterval() 但不知道如何实现。

提前致谢。

【问题讨论】:

  • 您使用的是哪个 servlet 容器?
  • What have you tried?你有什么问题?
  • 太好了,当用户空闲 30 分钟时,您可以轻松终止会话
  • 我没试过这样做。因为我在编码时找不到样本。谢谢你..
  • @asifsid88 "is idle for 20 mints" 他们是巧克力薄荷糖吗?算我一个!

标签: java eclipse session coding-style


【解决方案1】:

有两种方法:

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.xmlsetMaxInactiveInterval 之间的重要区别。在web.xml 中,您以分钟为单位指定它,而在setMaxInactiveInterval 中,您以秒为单位指定它,因此如果您希望以分钟为单位,您需要将其转换为分钟。

【讨论】:

  • 我会试试这个..非常感谢你:*
【解决方案2】:

您可以在web.xml中设置:
&lt;session-config&gt;
&lt;session-timeout&gt;30&lt;/session-timeout&gt;
&lt;/session-config&gt;

【讨论】:

    【解决方案3】:

    如果您使用 tomcat 作为 web 容器来执行 servlet 或 jsp 应用程序,请在[Tomcat_home]/conf/web.xml 中找到以下部分:

    <session-config>
      <session-timeout>30</session-timeout>
    </session-config>
    

    超时值以分钟为单位指定。 修改文件后重启Tomcat,使修改生效。

    OR

    您可以在tomcat管理器页面(http://localhost:8080/manager/html)下将会话到期更改为特定项目,如下图所示。默认超时为 30 分钟。您可以提供以分钟为单位的值。

    【讨论】:

    • 是的@Lucky 谢谢 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-30
    • 2013-06-18
    • 1970-01-01
    相关资源
    最近更新 更多