SpringMVC整合SpringSession 实现sessiong

一、在pom.xml添加springSession

    <!--springSession-->
    <dependency>
      <groupId>org.springframework.session</groupId>
      <artifactId>spring-session-data-redis</artifactId>
      <version>1.2.0.RELEASE</version>
    </dependency> 

二、确保spring是4.3.10.RELEASE版本以上

<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-context</artifactId>
  <version>4.3.10.RELEASE</version>
</dependency> 

三、applicationContext.xml文件中添加四个bean类

<bean id="redisHttpSessionConfiguration" class="org.springframework.session.data.redis.config.annotation.web.http.RedisHttpSessionConfiguration">
  <property name="maxInactiveIntervalInSeconds" value="180"></property>
</bean>
<bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
</bean>
<bean id="jedisConnectionFactory"
   class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
  <property name="hostName" value="127.0.0.1"></property>
  <property name="port" value="6379"></property>
  <property name="poolConfig" ref="jedisPoolConfig"></property>
</bean>
<bean id="defaultCookieSerializer"
   class="org.springframework.session.web.http.DefaultCookieSerializer">
  <property name="cookieName" value="springSession"></property>
  <property name="cookiePath" value="/"></property>
  <property name="cookieMaxAge" value="3600"/>
  <property name="useHttpOnlyCookie" value="true"/>
  <property name="domainName" value=".qs.com"/>
</bean> 

这样就可以实现session共享,Nginx下的tomcat集群也是这样的

原理就是:通过SpringSession对servlet带的session进行封装,接管session

(0)

相关推荐

  • SpringMVC存取Session的两种方法

    WEB 应用通常会引入 Session,用来在服务端和客户端之间保存一系列动作/消息的状态,比如网上购物维护 user 登录信息直到 user 退出.SpringMVC存取Session的两种方法,具体如下: 方法一:使用servlet-api @Controller public class ManagerController { @Resource private ManagerService managerServiceImpl; @RequestMapping(value = "mana

  • webix+springmvc session超时跳转登录页面

    引言 最近做项目,发现ajax请求不能在服务器中直接重定向到登录页面.查了些资料发现jquery的ajax请求有人给出了方法.但是webix的ajax请求和jquery的有些区别.这里模仿jquery的处理方式实现webix的ajax请求session超时跳转. 具体的做法: 1.查看webix.js源码发现webix.ajax只有请求前的监听函数 "onBeforeAjax", 要做到获取返回状态跳转登录页面必须要有个返回的监听函数,但是源码没有.所以我修改了下源码,加了个返回的监听

  • 浅谈SpringMVC中的session用法及细节记录

    前言 初学SpringMVC,最近在给公司做的系统做登录方面,需要用到session. 在网上找了不少资料,大致提了2点session保存方式: 1.javaWeb工程通用的HttpSession 2.SpringMVC特有的@SessionAttributes 我个人比较关注@SessionAttributes的用法,毕竟现在是在用SpringMVC嘛.但是我看网上那些文章,基本都是只说明了基础用法,详细的使用和细节却基本没有,我想这是不够的,所以我自己做了一些测试,然后整理了下代码做了个de

  • 详解springmvc控制登录用户session失效后跳转登录页面

    springmvc控制登录用户session失效后跳转登录页面,废话不多少了,具体如下: 第一步,配置 web.xml <session-config> <session-timeout>15</session-timeout> </session-config> 第二步,配置spring-mvc.xml <!-- Session失效拦截 --> <mvc:interceptors> <!-- 定义拦截器 --> <

  • SpringMVC拦截器实现监听session是否过期详解

    本文主要向大家介绍了SpringMVC拦截器实现:当用户访问网站资源时,监听session是否过期的代码,具体如下: 一.拦截器配置 <mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/**"/> <mvc:exclude-mapping path="/user/login"/> <!-- 不拦截登录请求 --> <mvc:exclude-

  • SpringMVC实现controller中获取session的实例代码

    平时使用springMVC,在方法中访问session中经常很自然地调用Servlet API.用起来非常直观方便,一直没有多考虑什么. 比如这样: @RequestMapping(value = "/logout") public String logout(HttpSession session) { session.removeAttribute("user"); return "/login"; } 但毕竟这样对Servlet API产生

  • SpringMVC整合SpringSession 实现sessiong

    一.在pom.xml添加springSession <!--springSession--> <dependency> <groupId>org.springframework.session</groupId> <artifactId>spring-session-data-redis</artifactId> <version>1.2.0.RELEASE</version> </dependency&

  • spring+springmvc整合mabytis时mapper注入失败问题解决方法

    好久不搭架构,今天使用spring+springmvc整合mabytis的时候,坑爹的两个问题发生了. 花了一晚上解决这两个问题.现在将错误经验总结分享下,避免以后遇到坑继续往里跳. 1. 单元测试的时候,单元测试失败报错: A ServletContext is required to configure default servlet handling 十月 28, 2016 9:03:33 下午 org.springframework.context.support.GenericAppl

  • SpringMVC整合mybatis实例代码

    MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis . 一.逆向工程生成基础信息 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis G

  • SpringMVC整合websocket实现消息推送及触发功能

    本文为大家分享了SpringMVC整合websocket实现消息推送,供大家参考,具体内容如下 1.创建websocket握手协议的后台 (1)HandShake的实现类 /** *Project Name: price *File Name: HandShake.java *Package Name: com.yun.websocket *Date: 2016年9月3日 下午4:44:27 *Copyright (c) 2016,578888218@qq.com All Rights Rese

  • SpringBoot2.x 整合Spring-Session实现Session共享功能

    1.前言 发展至今,已经很少还存在单服务的应用架构,不说都使用分布式架构部署, 至少也是多点高可用服务.在多个服务器的情况下,Seession共享就是必须面对的问题了. 解决Session共享问题,大多数人的思路都是比较清晰的, 将需要共享的数据存在某个公共的服务中,如缓存.很多人都采用的Redis,手动将Session存在Redis,需要使用时,再从Redsi中读取数据.毫无疑问,这种方案是可行的,只是在手动操作的工作量确实不少. LZ在这里采用的Spring-Session来实现.它使用代理

  • 解决springmvc整合Mybatis的Log4j日志输出问题

    springmvc整合Mybatis的Log4j日志输出 当我们进行web开发的时候总是看到配置的log4j日志在控制台无法显示mybatis的主要是指sql.参数.结果,出现这种问题有两种情况: 第一种情况 下面文档描述的mybatis本身内置很多种日志框架使用,所以如果我们要用具体哪个日志框架,就需要进行相应mybatis配置,或者就是按照mybatis本身规则运行. 问题在这里文档:http://mybatis.github.io/mybatis-3/zh/logging.html 配置方

  • SpringMVC 整合SSM框架详解

    整合SSM 环境要求 环境: IDEA MySQL5.7.19 Tomcat9 Maven3.6 要求: 需要熟练掌握MySQL数据库,Spring,JavaWeb及MyBatis知识,简单的前端知识: 数据库环境 创建一个存放书籍数据的数据库表 CREATE DATABASE `ssmbuild`; USE `ssmbuild`; DROP TABLE IF EXISTS `books`; CREATE TABLE `books` ( `bookID` INT(10) NOT NULL AUT

  • springmvc整合ssm配置的详细代码

    导入依赖 <!-- 常用的依赖导入--> <dependencies> <!--Junit--> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency> <!--数据库驱动--> <dependency

  • SpringBoot 整合 Spring-Session 实现分布式会话项目实战

    目录 一.配置及开发 二.测试 三.Spring-Session 的缺点 文章参考: Spring 提供了处理分布式会话的解决方案:Spring-Session.Spring-Session 提供了对Redis.MongoDB.MySQL 等常用存储的支持,Spring-Session 提供与 HttpSession 的透明整合,这意味着开发人员可以使用 Spring-Session 支持的实现方式,切换 HttpSession 至 Spring-Session.本文采用 Redis 作为第三方

  • SpringBoot整合SpringSession实现分布式登录详情

    目录 Session 共享 为什么服务器 A 登录后,请求发到服务器 B,不认识该用户? 解决方案 SpringBoot整合SpringSession实现分布式登录 Session 共享 比如两个域名: aaa.yupi.com bbb.yupi.com 如果要共享 cookie,可以种一个更高层的公共域名,比如 yupi.com 为什么服务器 A 登录后,请求发到服务器 B,不认识该用户? 用户在 A 登录,所以 session(用户登录信息)存在了 A 上 结果请求 B 时,B 没有用户信息

随机推荐