Fab*_*abe 8 ajax model-view-controller session spring tomcat
我现在正在解决这个问题2天,我希望这里的任何人都有类似的问题和解决方案.
问题:它是一个Spring MVC(2.5.6.)Web应用程序,它在Tomcat 6中运行.当请求起始页面时,它将客户重定向到JSP页面(通过使用HTML的元刷新标签),它将内容加载到很多Ajax请求(Framework:Prototype).问题是Tomcat为每个AJAX请求创建一个新会话(大约67个会话).我的第一个想法是在加载起始页面之后存储会话Cookie,并且Ajax请求强制Tomcat创建新会话.我的方法是手工创建会话cookie,但这没有任何区别.有趣的是,它可以在其他一些tomcat实例中运行,但不适用于集成测试所需的环境.在我看来,这是一个Tomcat配置问题.
在使用Firebug进一步调查之后,我发现Tomcat为每个请求创建了一个新的Session,即使正确的JSESSIONID被转移到它(50B5EA0BCFE811C744CE9C1F9EDE0097):
Request Header 1:
Cookie JSESSIONID=F3206CBF2C961E125821FF22FA31A02D
Response Header 1:
Set-Cookie JSESSIONID=49E000B4D6880F4F94531AB9C78DB667; Path=/JOCA-Music-Portal JSESSIONID=50B5EA0BCFE811C744CE9C1F9EDE0097; Path=/JOCA-Music-Portal
Request Header 2:
Cookie JSESSIONID=50B5EA0BCFE811C744CE9C1F9EDE0097
Response Header 2:
Set-Cookie JSESSIONID=DCCA2D1B98D11223A6B8855800276E27; Path=/JOCA-Music-Portal
Run Code Online (Sandbox Code Playgroud)
更新:进一步调查将问题隔离到Tomcat领域配置.我们使用JDBC Realm进行登录.当登录被取消激活时,只创建一个会话.如果它被激活,Tomcat会创建无效/过期的会话,这就是为每个请求创建一个新会话的原因.但为什么Tomcat表现得像这样呢?
我真的很绝望,所以任何想法/提示/解决方案都很受欢迎.
非常感谢你
| 归档时间: |
|
| 查看次数: |
13979 次 |
| 最近记录: |