gpt4 book ai didi

java - 随机 session 失效

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:23:41 28 4
gpt4 key购买 nike

我正在 Tomcat 中运行一个 J2EE Web 应用程序,最近我的任务是向该应用程序添加指标。我正在使用 SessionListener 来检测 session 何时被销毁,然后将指标上传到数据库。我的 session 超时在我的 web.xml 中设置为 30 分钟,并且我不会在任何地方以编程方式使 session 无效。通常在我登录测试的 1 5-10 分钟内,我会看到 3 或 4 组指标上传到数据库,所有指标都具有不同的 session ID。

除了 web.xml 和 session.invalidate() 之外,还有什么可以导致 Tomcat 中的 session 被销毁?异常(exception)? Tomcat 会随机使 session 无效吗?

最佳答案

可能您的网络浏览器已决定不根据请求将 session cookie 发送到 web 应用程序,而您的应用程序本应期望发送 session cookie。我已经看到这种情况发生在 apache 重写规则中; session cookie 路径之外的 URL 被重定向到 Web 应用程序。发生了类似下面的事情(细节可能有误):

  • 我的网络应用程序位于/app/
  • 因此 session cookie被绑定(bind)到这个路径/app/
  • web 应用程序中的一个页面引用/img/magic.jpeg
  • 浏览器没有在请求这张图片时发送 session cookie(路径不匹配)
  • 服务器将请求(内部)重定向到/app/createImage?magic
  • Web 应用程序没有收到 session cookie,因此它创建了一个新 session

如果您记录新 session 的初始 URL,您应该能够看到这是否会导致您的问题。

关于java - 随机 session 失效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/770061/

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