一、在pom.xml添加springsession
1
2
3
4
5
6
|
<!--springsession--> <dependency> <groupid>org.springframework.session</groupid> <artifactid>spring-session-data-redis</artifactid> <version> 1.2 . 0 .release</version> </dependency> |
二、确保spring是4.3.10.release版本以上
1
2
3
4
5
|
<dependency> <groupid>org.springframework</groupid> <artifactid>spring-context</artifactid> <version> 4.3 . 10 .release</version> </dependency> |
三、applicationcontext.xml文件中添加四个bean类
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
<bean id= "redishttpsessionconfiguration" class = "org.springframework.session.data.redis.config.annotation.web.http.redishttpsessionconfiguration" > <property name= "maxinactiveintervalinseconds" value= "180" ></property> </bean> <bean id= "jedispoolconfig" class = "redis.clients.jedis.jedispoolconfig" > </bean> <bean id= "jedisconnectionfactory" class = "org.springframework.data.redis.connection.jedis.jedisconnectionfactory" > <property name= "hostname" value= "127.0.0.1" ></property> <property name= "port" value= "6379" ></property> <property name= "poolconfig" ref= "jedispoolconfig" ></property> </bean> <bean id= "defaultcookieserializer" class = "org.springframework.session.web.http.defaultcookieserializer" > <property name= "cookiename" value= "springsession" ></property> <property name= "cookiepath" value= "/" ></property> <property name= "cookiemaxage" value= "3600" /> <property name= "usehttponlycookie" value= "true" /> <property name= "domainname" value= ".qs.com" /> </bean> |
这样就可以实现session共享,nginx下的tomcat集群也是这样的
原理就是:通过springsession对servlet带的session进行封装,接管session
原文链接:https://blog.csdn.net/qq_38553333/article/details/80117300