前提:两个项目A和B,其中项目A登录之后拥有了自己的session,项目B想共用此session,通过项目A的servlet回调项目B的servlet,并给其传递sessionId,在项目B中通过sessionId调用远程接口获取session并赋值给自己的session,项目B再一次发起请求时自己创建的sessionId被改变,session丢失。
解决办法:
在项目B的servlet内加入:Response.AddHeader("P3P","CP=CAO PSA OUR");
原因:ie默认不接受没有标识为安全的第三方cookie,造成不能保存cookie及session。