今天要给大家介绍的是springsession,你知道什么是spring session吗?spring session集成方式又是怎样的呢?下面一起来详细的了解一下吧。
1、什么是spring session?
session一直都是在做集群的时候,需要去解决的一个难题,以前,我们可以通过serlvet容器来解决,例如,开源servlet容器-tomcat提供的tomcat-redis-session-manager、memcached-session-manager又或者是通过nginx之类的负载均衡做ip_hash,路由到特定的服务器上,可是,实际上这2种方式都存在着一些不足。
2、spring session集成方式
集成方式还是比较简单的,大家可以通过官网的samples and guide来了解-http://docs.spring.io/spring-session/docs/1.3.0.RELEASE/reference/html5/;
具体的来说的话,可以分成下面的几个步骤:
(1)引入依赖jar包
(2)注解方式配置、xml方式配置;特定存储容器的存储方式,例如,redis的xml配置方式
<context:annotation-config/> /** 初始化一切spring-session准备,且把springSessionFilter放入IOC **/ < beanclass = "org.springframework.session.data.redis.config.annotation.web.http.RedisHttpSessionConfiguration" / > /** 这是存储容器的链接池 **/ < beanclass = "org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory" / >
3) xml方式配置 web.xml, 配置 springSessionFilter到 filter chain中
<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> <dispatcher>REQUEST</dispatcher><dispatcher>ERROR</dispatcher> </filter-mapping>
延伸阅读:
3、spring session功能介绍
(1)Restful API,不依赖cookie,可以通过header传递jessionID
(2)能够非常简单的将session存储到第三方存储容器,框架提供了redis、jvm的map、mongo、gemfire、hazelcast、jdbc等多种存储session的容器的方式;
(3)WebSocket和spring-session结合,同步生命周期管理;
(4)同一个浏览器,同一个的网站,支持多个session问题;
关于spring session的一些简单知识就给你介绍到这里啦,假如你还想了解更对和spring session相关的内容,请持续的关注本站。
你在一些java编程的过程当中有遇到过什么难题吗?一些java常见问题及解决方法可以继续的关注奇Q工具网来解决哦。
推荐阅读: