温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

在Spring项目中实现分布式session

发布时间:2020-11-19 15:42:18 来源:亿速云 阅读:189 作者:Leah 栏目:编程语言

在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>

看完上述内容,你们掌握在Spring项目中实现分布式session的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI