【问题标题】:How do I get the remaining session time? [closed]如何获得剩余会话时间? [关闭]
【发布时间】:2014-08-07 12:02:55
【问题描述】:

我有一个使用 Hibernate、servlet 和 JSP 的 Java 动态 Web 项目。我想获取客户端的剩余会话时间,以便我可以警告他们即将到来的会话到期。

例如,用户将使用一分钟的会话时间登录应用程序。当剩余会话时间为十秒时,我想使用 AJAX 和 JQuery 警告用户。我该怎么做?

【问题讨论】:

  • 我希望您只需要在网页上运行一个计时器。这不像您可以查询服务器,因为我相信无论如何都会重置会话计时器(也许,我不能 100% 确定重置会话计时器的确切操作)...maybe this is worth reading
  • 堆栈溢出不是为了给你写代码。请尝试自己解决这个问题,编写一些代码,然后如果您遇到困难,发布您拥有的代码以及您在该代码中遇到的特定问题,人们会帮助您解决问题。
  • 我实际上已经问过a similar question,这肯定适用于您的情况(因为主要的超时逻辑是在 JQuery 中完成的)

标签: java jquery ajax


【解决方案1】:

您可以使用 HTTPSession。

  • getLastAccessedTime() : 返回会话上次访问的时间
  • getMaxInactiveInterval() : 返回超时时间。

利用当前时间并应用逻辑。

【讨论】:

    【解决方案2】:

    您实际上无法通过 AJAX 请求获得会话时间,因为它自己的请求也会重置会话超时时间。您可以做的是,当您在 js 函数中渲染页面时获取它,并使用 setTimeout 启动计数器,并在剩余不到 30 秒时显示您的消息弹出。

    【讨论】:

      猜你喜欢
      • 2016-07-10
      • 2018-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多