问题的原因如下:Tomcat下,不同的二级域名,Session默认是不共享的,因为Cookie名称为JSESSIONID的Cookie 根域是默认是没设置的,访问不同的二级域名,其 Cookie 就重新生成,而 session 就是根据这个 Cookie 来生成的, 所以在不同的二级域名下生成的 Session 也不一样。 找到了其原因,就可根据这个原因对 Tomcat 在生成 Session 时进行相应的修改。
方案一、在项目的/MET-INF/ 目录下创建一个 context.xml 文件,内容为:
<?xml version="1.0" encoding="UTF-8"?> <Context useHttpOnly="true" sessionCookiePath="/" sessionCookieDomain=".XXXX.com" />
方案二、修改 Tomcat 的 server.xml 文件,内容为:<Context path="" docBase="ROOT" reloadable="false" useHttpOnly="true" sessionCookiePath="/" sessionCookieDomain=".XXXX.com" />
本文介绍了在Tomcat服务器中实现不同二级域名间Session共享的方法。由于默认情况下,各二级域名间的Session是独立的,文章提供了两种解决方案:一是通过在项目目录下创建context.xml文件;二是直接修改server.xml文件。
980

被折叠的 条评论
为什么被折叠?



