当前位置: 移动技术网 > IT编程>开发语言>Java > Spring Session实现分布式session的简单示例

Spring Session实现分布式session的简单示例

2019年07月22日  | 移动技术网IT编程  | 我要评论

前面有用 tomcat-redis-session-manager来实现分布式session管理,但是它有一定的局限性,主要是跟tomcat绑定太紧了,这里改成用spring session来管理分布式session,spring session就完全实现了与具体的容器无关,如果需要了解如何用tomcat-redis-session-manager实现分分布式session,请看我之前的文章,下面正式进入主题,spring session项目搭建。

1. 引入spring session maven依赖

<!-- spring session begin -->
  <dependency>
   <groupid>redis.clients</groupid>
   <artifactid>jedis</artifactid>
   <version>2.9.0</version>
  </dependency>
  <dependency>
   <groupid>org.springframework.data</groupid>
   <artifactid>spring-data-redis</artifactid>
   <version>1.5.2.release</version>
  </dependency>
  <dependency>
   <groupid>org.springframework.session</groupid>
   <artifactid>spring-session</artifactid>
   <version>1.3.1.release</version>
  </dependency>
  <!-- spring session end -->

2. spring配置文件中添加spring session相关配置(这里重点体现spring session,因此并没有列出redis相关配置,需要可参考实例代码)

 <!-- spring session begin -->
 <bean id="redishttpsessionconfiguration"
  class="org.springframework.session.data.redis.config.annotation.web.http.redishttpsessionconfiguration">
  <property name="maxinactiveintervalinseconds" value="1800" />
 </bean>
 <!-- spring session end -->

3. 在web.xml中配置spring session的filter,它必须放在所有filter的前面

<!-- 添加一个session代理filter,来包装servlet的getsession,需要放在所有filter链最前面 -->
 <filter>
  <filter-name>springsessionrepositoryfilter</filter-name>
  <filter-class>org.springframework.web.filter.delegatingfilterproxy</filter-class>
 </filter>
 <filter-mapping>
  <filter-name>springsessionrepositoryfilter</filter-name>
  <url-pattern>/*</url-pattern>
 </filter-mapping>

这几乎就是所有的步骤了,是不是感觉很简单呢?赶快自己动手试一试吧,看起来高大上的分布式session就这样被spring session搞定了!

下面是我的github源码地址:

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持移动技术网!

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网