我有一个有趣的问题。我使用会话使用基于servlet的Web项目。当我在开发计算机及其本地tomcat服务器上工作时,会话就很好了。在一个请求中添加了属性,而在另一个请求中使用了属性,没有任何问题。一段时间后,我将网站部署在远程计算机上,会话管理中断了。

正如我观察到的,tomcat为每个请求触发sessionCreated事件,并提供相同的ID。我正在使用chrome的开发工具来检查标题,浏览器似乎可以发送会话ID。由于tomcat更新了会话,因此它将丢失属性。

顺便说一句:应用程序在诸如webproject.example.com之类的子域下运行

context.xml的内容非常基础

<Context antiJARLocking="true" path="" sessionCookiePath="/"/>


我在这里想念什么?

谢谢

最佳答案

确保在客户端的浏览器上启用了cookie。如果不是,则没有提供可用来检索会话的持久标识符。在这种情况下,request.getSession()将在每个请求上创建一个新会话。

关于java - Tomcat为每个请求重置 session ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26890168/

10-16 20:55