【发布时间】:2014-11-12 23:13:45
【问题描述】:
我遇到了一个有趣的问题。我在一个使用会话的基于 servlet 的 Web 项目上工作。当我在我的开发机器和它的本地 tomcat 服务器上工作时,会话就好了。属性在一个请求中添加,并在另一个请求中使用,没有任何问题。过了一会儿,我在远程机器上部署了网站,会话管理被破坏了。
正如我所观察到的,tomcat 为每个请求触发 sessionCreated 事件并提供相同的 id。我正在使用 chrome 的开发工具来检查标头,并且浏览器似乎可以很好地发送会话 ID。由于tomcat更新会话,它会丢失属性。
顺便说一句:应用程序在 webproject.example.com 等子域下运行
context.xml 的内容非常基础
<Context antiJARLocking="true" path="" sessionCookiePath="/"/>
我在这里错过了什么?
谢谢
【问题讨论】:
-
每个请求并提供相同的 id - 你的意思是为每个请求提供一个新的 id 吗?
-
@6ton 否。它会触发 sessionCreated 并再次更新具有相同会话 ID 的会话。
-
检查是否有 http 服务器或负载均衡器拦截了您的请求并可能配置错误