日期:2014-05-17  浏览次数:20822 次

页面集成,B的session覆盖掉了A系统的session
Hi ,请教个问题
 一个系统A, 另一个系统B, B想用A系统的页面,把A的东西用frame方式引用进来,但是发现。 A系统先访问,再访问B系统,页面可以调用; 直接访问B系统,页面调用不成,总是报session里面的参数没有定义。 这个是涉及到了B的session覆盖掉了A系统的session。  
 请问遇到过这种情况吗,是怎么解决的?




------解决方案--------------------
哪要看你的session是怎么管理的?
可能你在A里面有某些信息放到了session里
------解决方案--------------------
你调用A系统的页面 这是应该是A系统的session 所有不B系统的session覆盖掉了

------解决方案--------------------
两个系统SESSION不会有关系。
------解决方案--------------------
A系统的session信息在A里面 B在B里面 你要在B里面用A 可以先 把A的信息 通过 流 传给 B后在使用诶。。
------解决方案--------------------
两个工程的session是没有交叉的,a的就是a的,b的就是b的,不会存在覆盖的问题
可以配置一下,在b程序里取到a的session
------解决方案--------------------
本身设计的就很离奇!
------解决方案--------------------
探讨
两个系统SESSION不会有关系。

------解决方案--------------------
探讨

两个工程的session是没有交叉的,a的就是a的,b的就是b的,不会存在覆盖的问题
可以配置一下,在b程序里取到a的session-------

这个怎么配置啊

------解决方案--------------------
估计是SessionID的Cookie问题

例如你将两个系统部署到同一台机器上两个不一样的WebLogic上,则会出现这个问题。
如果是WebLogic,你需要将其中一个应用的weblogic.xml中增加一段

<session-descriptor>
<cookie-name>FOOAPPID</cookie-name>
</session-descriptor>


WebSphere在Console上有配置,在应用服务器→server1,右边的会话管理中有配置的



如果是Tomcat我就没有试过,你找找配置吧