zoukankan      html  css  js  c++  java
  • springSession

    session 会话共享
    第一种: 第一种是使用容器扩展来实现,比如基于Tomcat的tomcat-redis-session-manager插件,基于Jetty的jetty-session-redis插件;这个方案的好处是对项目来说是透明的,无需改动代码,但是由于过于依赖容器,一旦容器升级或者更换意味着又得从新来过;
    第二种: 第二种是自己写一套Session会话管理的工具类,在需要使用会话的时候都从自己的工具类中获取,而工具类后端存储可以放到Redis中。这个方案灵活性很好,但开发需要一些额外的时间。
    第三种: 第三种是使用框架的会话管理工具,也就是我们要介绍的spring-session,可以理解是替换了Servlet那一套会话管理,既不依赖容器,又不需要改动代码,并且是使用spring-data-redis连接和操作redis,可以说是非常完美的解决方案
    看官方文档最详细
    基于XML的HttpSession示例
    连接到Redis  然后创建RedisHttpSessionConfiguration这个bean 中配置springSessionRepositoryFilter这个过滤器

    基于注解的HttpSession 示例
    编写一个类并注解为@EnableRedisHttpSession,在配置类的方法中配置@bean
    编写一个servlet容器初始化类
    @EnableRedisHttpSession
    public class SpringSessionConfig {
        
        @Bean
        public JedisConnectionFactory connectionFactory(){
            JedisConnectionFactory jedisConnectionFactory = new JedisConnectionFactory();
            jedisConnectionFactory.setHostName("192.168.119.128");
            jedisConnectionFactory.setPort(6379);
            jedisConnectionFactory.setPassword("123456");
            return jedisConnectionFactory;        
        }
    }

    public class ServletInitializer extends AbstractHttpSessionApplicationInitializer {

        public ServletInitializer() {
            super(SpringSessionConfig.class);
        }    
    }



  • 相关阅读:
    五大常用算法之二:动态规划算法
    五大常用算法之一:分治算法
    c++控制台程序实现定时器
    Oracle sqlplus设置显示格式命令详解
    存储的基本概念谈
    类UNIX操作系统概念
    从源代码到可执行文件
    SQL更改表字段为自增标识
    enum和int、string的转换操作
    SEO技巧汇集
  • 原文地址:https://www.cnblogs.com/zgxz/p/7792460.html
Copyright © 2011-2022 走看看