spring session+redis解决负载均衡下的session共享问题

java web项目,不依赖于web容器,实现负载均衡,必须解决session共享问题。
spring-session +redis是最方面快捷的,不用重复造轮子,且不用修改项目的代码,并且使项目使用的session与web容器解耦,
完全由容器的httpsession转为使用spring提供的session.
具体怎么使用,请访问spring的官方网站。
项目中使用spring session+redis的步骤。
项目使用的是maven结构的web项目

  1. pom.xm

        
            org.springframework.data
            spring-data-redis
            1.7.6.RELEASE
        
        
            org.springframework.session
            spring-session
            1.3.0.RELEASE
        
        
            redis.clients
            jedis
            2.8.1
        
        

注意:刚开始我的spring框架包(就是好多spring的包)用的是4.0的,但是启动tomcat服务器的时候报错,说不能初始化redisTemplate,跑去stackofflow上看,有说是因为jar的问题,需要升级spring框架必须高于4.2.1,因为redistemplate换了构造器。于是将spring框架升到4.3.7.RELEASE。就ok了。
2.配置filter
在web.xml中,加上这段配置 必须位于filter链的最前面


    
        springSessionRepositoryFilter
        org.springframework.web.filter.DelegatingFilterProxy
    
    
        springSessionRepositoryFilter
        /*
        REQUEST
        ERROR
    

3.在applicationContext.xml(这是我的spring容器配置文件的名字)中注册需要的bean。(用注解也行,但我是用的xml配置)

 
       
       
       
       
            
            
            
            
            
       
       
       
            
       
       
       
       
            
       

系统中的代码一点也不用改动真的解耦啊,spring非常强大!

你可能感兴趣的:(spring session+redis解决负载均衡下的session共享问题)