0 0

一台机器,两个web项目,session丢失问题20

  问题描述: 有两个web项目,一个是webwork+spring+hibernate 结构,一个是zk+javabean+hibernate结构。 把两个项目布置在一台机器是时(不同tomcat,不同端口)。用浏览器登录一个项目地址后,再打开另外一个项目, 前面的哪个项目session会丢失
    通过检查cookie,发现这两个项目的sessionid是同一个,当打开第二个项目的时候,其sessionid被修改了。 
    问题很是郁闷,望je上高手能给予回答,不胜感谢

问题补充:
hyhLarry 写道
在项目a中把session放到servletContext中,在另一个项目中取出来就可以了!

不知道如何操作,能不能说得更详细一点,谢谢。
另外,是两个不同的tomcat, 所有servletContext应该有两个,而且两个项目的session是互相影响的,我的目标是想让他们分别独立,互不影响

问题补充:
hyhLarry 写道
应该是单点登录问题,你可以查一下这方面的知识(SSO),它就是解决多web程序共用一个的登录的问题!

说明一个,我是两个完全独立的web项目,不需要它们单点登录,需要他们两个项目session彼此独立。

问题补充:
stulance 写道
你如果是用IE8测试的话,就在可能是IE8的Session共享的机制造成的。

我看IE6,IE7,IE8和firefox3.6下统统出现了这种情况
2010年5月25日 15:25

6个答案 按时间排序 按投票排序

0 0

采纳的答案

估计你两个项目的访问域名是一样的。这样的问题在不同的浏览窗口中应该是不存在的
在同一浏览器窗口中,输入域名相同,但是目录不同的服务时。如果两个服务是互不关联的,应该在访问域名时针对不同服务使用不同的域名。
或者你的cookie应该是针对域下的某个特定目录的,而不是域的根目录。

在tomcat中,jessionid应该是默认写在域根目录下的。

2010年5月26日 10:19
0 0

你如果是用IE8测试的话,就在可能是IE8的Session共享的机制造成的。

2010年5月25日 22:15
0 0

就是在客户端保存客户信息,用cookies

2010年5月25日 16:58
0 0

应该是单点登录问题,你可以查一下这方面的知识(SSO),它就是解决多web程序共用一个的登录的问题!

2010年5月25日 16:58
0 0

在项目a中把session放到servletContext中,在另一个项目中取出来就可以了!

2010年5月25日 16:26
0 0

这种问题还真没碰到过
登录时带上sessionid试试看

2010年5月25日 15:53

相关推荐

Global site tag (gtag.js) - Google Analytics