springsession是做什么的?集成方式介绍

KLQ 2020-07-02 09:15:34 java常见问答 7891

今天要给大家介绍的是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工具网来解决哦。

推荐阅读:

java session清空,怎么清空session的值?

java session属性要怎么设置?该如何获取?

java session用法有哪些?实现原理是什么?