Spring Session实现分布式session的简单示例
2017-05-10 08:29
585 查看
前面有用 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源码地址:
https://github.com/13babybear/bounter-springsession
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!
您可能感兴趣的文章:
- 利用Spring Session和redis对Session进行共享详解
- Spring MVC 中获取session的几种方法(小结)
- 详解SpringBoot中Session超时原理说明
- Spring Boot报错:No session repository could be auto-configured, check your configuration的解决方法
- 详解基于Spring Boot/Spring Session/Redis的分布式Session共享解决方案
- Spring Boot项目利用Redis实现session管理实例
- 详解Spring-Boot集成Spring session并存入redis
- spring-session简介及实现原理源码分析
相关文章推荐
- 用SHA1或MD5 算法加密数据(示例:对用户身份验证的简单实现)
- XML 简单接口 (SAX2)用Visual Basic 实现的示例
- AjaxPanel自定义控件实现页面无刷新数据交互(做了个示例程序, 效果确实比较Cool, 用法非常简单! )(示例代码下载)
- xmlHTTP xmlDOC 与 C#中DataSet的结合 实现AJAX简单示例
- C#实现数据库事务处理的简单示例代码
- 用JDOM包实现生成XML文件的简单示例
- ORM,ASP.NET中ORM学习,ASP.NET中ORM学习心得,WEB2.0中ORM实现原理,Asp.net简单ORM示例源码详细讲解,Asp.net2.0:如何使用ObjectDataSource(配合ORM )
- xmlHTTP xmlDOC 与 C#中DataSet的结合 实现AJAX简单示例
- C#实现数据库事务处理的简单示例代码
- .net2005(C#)下实现事件和委托的简单示例
- ASP+ADO实现数据读写简单示例
- AjaxPanel自定义控件实现页面无刷新数据交互(做了个示例程序, 效果确实比较Cool, 用法非常简单!
- AjaxPanel自定义控件实现页面无刷新数据交互(做了个示例程序, 效果确实比较Cool, 用法非常简单! )(示例代码下载)
- AjaxPanel自定义控件实现页面无刷新数据交互(做了个示例程序, 效果确实比较Cool, 用法非常简单! )(示例代码下载)
- xmlHTTP xmlDOC 与 C#中DataSet的结合 实现AJAX简单示例
- 用SHA1或MD5 算法加密数据(示例:对用户身份验证的简单实现)
- 用SHA1或MD5 算法加密数据(示例:对用户身份验证的简单实现)
- AjaxPanel自定义控件实现页面无刷新数据交互(做了个示例程序, 效果确实比较Cool, 用法非常简单! )(示例代码下载)
- VB.net实现的一个简单的P2P示例
- xmlHTTP xmlDOC 与 C#中DataSet的结合 实现AJAX简单示例