背景
我们都知道,session是基于cookie实现的,tomcat的session
默认基于一个名叫JSESSIONID
的cookie实现,这个cookie默认放在当前域名下,这会导致不同子域名之间不能共享主域名的session,比如,我在blog.haoji.me
下登录了,换到file.haoji.me
又变成未登录,因为换了一个新的session。
方法
在META-INF
下新增一个context.xml
文件,文件内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<Context sessionCookieDomain=".haoji.me"
sessionCookiePath="/"
sessionCookieName="HAOJIME_JSESSIONID"/>
相信不用过多介绍就能看懂,主要是把sessionCookieDomain
改成.你的主域名
(比如以.
开头,否则不会在子域名之间共享),我这里还顺便把sessionCookieName
改了一下。
另外,修改tomcat的server.xml
中的Context
也是一样的,这里不多介绍。
效果: