最近做的项目集成,一个项目访问另一个项目的action传用户id参数,拦截器判断该 id是否登录,未登录执行登录动作,设置进session中,实现一个假的单点登录!访问成功后,回访原项目其他的页面则该session丢失或者说被与另外一个项目的session冲突了!打开浏览器开发模式看到COOKIE中有个key 是 JSessionId两个端口的value值相同。两个cookie的名字一样了,解决方法给各自设置一个cookie名字。
解决办法:在web.xml中设置新的cookie的name属性,xml加入如下:
<session-config>
<session-timeout>3000</session-timeout>
<cookie-config>
<name>archivesSessionId</name>
<domain>localhost</domain>
<path>/</path>
</cookie-config>
<tracking-mode>COOKIE</tracking-mode>
</session-config>