gpt4 book ai didi

java - web.xml 中的 session 超时

转载 作者:IT老高 更新时间:2023-10-28 13:54:01 25 4
gpt4 key购买 nike

我试图了解 Web.xml 中 session 配置的真正目的是为了 session 超时。

<!-- Session Configuration -->
<session-config>
<session-timeout>60</session-timeout>
</session-config>

现在让我告诉你我的问题。

我的应用程序正在导入/上传一个 .txt 文件,这肯定需要 1 个多小时,因为要导入数百万条记录。但是 session 在 1 小时后超时,尽管我的应用程序仍在导入正在进行的 .txt 文件。这样的应用程序不应超时,因为应用程序正在后台执行某些任务。

最佳答案

设置一个永不过期的 session 超时是不可取的,因为您会可靠地让用户在每次完成后按下注销按钮,以防止您的服务器负载过大(取决于用户数量和硬件)。另外,您可能会遇到一些您宁愿避免的安全问题。

在服务器仍在处理任务时 session 无效的原因是因为客户端(用户浏览器)和服务器端之间没有通过例如http请求。因此,服务器无法知道用户状态,认为他处于空闲状态,并在您的 web.xml 中设置的时间之后使 session 无效。 .

要解决这个问题,您有几种可能性:

  • 您可以在任务运行时ping您的后端以触摸 session 并防止它过期
  • 增加<session-timeout>在服务器内部,但我不建议这样做
  • 在专用线程中运行您的任务,该线程在工作时会触及(扩展) session ,或在线程完成时通知用户

问了一个类似的问题,也许您可​​以在您的项目中调整此解决方案的部分内容。看看this .

希望这有帮助,玩得开心!

关于java - web.xml 中的 session 超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15382895/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com