`
eric_weitm
  • 浏览: 235059 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

spring session 原理

阅读更多

spring-session-core

1、抽象注解、session生命周期的事件、过期、rememberMe

2、借助WebApplicationInitializer 接入app初始化的逻辑

3、抽象Session、SessionRepository、MapSession

4、web socket的支持

5、DefaultCookieSerializer 通过cookie来传输sessionid

6、HttpSessionAdapter 修改了标准servlet的HttpSession

spring-session-data-redis:redis做后端存储

核心类是RedisOperationsSessionRepository

 

使用header传递session:

 @Bean

    public HeaderHttpSessionIdResolver headerHttpSessionIdResolver() {

        return new HeaderHttpSessionIdResolver("SESSION");//设置session名称

    }

 

 

原理:

1、WebApplicationInitializer.onStartup(ServletContext servletContext) 

注入SessionRepositoryFilter

2、SessionRepositoryFilter重写SessionRepositoryRequestWrapper和

SessionRepositoryResponseWrapper,

使得标准的getSession()变成hack过的HttpSessionAdapter

3、HttpSessionAdapter内部重写了HttpSession相关的所有方法

概括:

启动--filter--getSession--request.getSession().getAttribute

分享到:
评论

相关推荐

    spring-session简介及实现原理源码分析

    主要介绍了spring-session简介及实现原理源码分析,具有一定参考价值,需要的朋友可以了解下。

    详解SpringBoot中Session超时原理说明

    本篇文章主要介绍了详解SpringBoot中Session超时原理说明,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    使用session统计当前在线人数

    使用简单的范例描述session统计在线人数的原理,内有源码及注释。

    Spring Security OAuth2.0学习笔记.zip

    理解Spring Security的工作原理,Spring Security结构总览,认证流程和授权,中间涉及到哪些组件,这些组件分 别处理什么,如何自定义这些组件满足个性需求。 OAuth2.0认证的四种模式?它们的大体流程是什么? ...

    Spring-Reference_zh_CN(Spring中文参考手册)

    3.2. 容器和bean的基本原理 3.2.1. 容器 3.2.1.1. 配置元数据 3.2.2. 实例化容器 3.2.2.1. 组成基于XML配置元数据 3.2.3. 多种bean 3.2.3.1. 命名bean 3.2.3.2. 实例化bean 3.2.4. 使用容器 3.3. 依赖 3.3.1. 注入...

    利用redis实现session共享

    利用Nginx进行分布式部署,并使用redis实现session共享,https://blog.csdn.net/qq_34742298/article/details/80857173

    Spring 2.0 开发参考手册

    3.2. 容器和bean的基本原理 3.2.1. 容器 3.2.2. 实例化容器 3.2.3. 多种bean 3.2.4. 使用容器 3.3. 依赖 3.3.1. 注入依赖 3.3.2. 构造器参数的解析 3.3.3. bean属性及构造器参数详解 3.3.4. 使用depends-on...

    详解springboot中redis的使用和分布式session共享问题

    主要介绍了详解springboot中redis的使用和分布式session共享问题,详细的介绍了解决分布式系统的session如何共享问题,有兴趣的可以了解一下

    Spring中文帮助文档

    3.2. 基本原理 - 容器和bean 3.2.1. 容器 3.2.2. 实例化容器 3.2.3. 多种bean 3.2.4. 使用容器 3.3. 依赖 3.3.1. 注入依赖 3.3.2. 依赖配置详解 3.3.3. 使用depends-on 3.3.4. 延迟初始化bean 3.3.5. 自动...

    spring chm文档

    Spring Framework 开发参考手册 Rod Johnson ...18.2.2. 访问本地的无状态Session Bean(SLSB) 18.2.3. 访问远程SLSB 18.3. 使用Spring提供的辅助类实现EJB组件 19. JMS 19.1. 简介 19.2. 使用Spring JMS ...

    Spring API

    3.2. 基本原理 - 容器和bean 3.2.1. 容器 3.2.2. 实例化容器 3.2.3. 多种bean 3.2.4. 使用容器 3.3. 依赖 3.3.1. 注入依赖 3.3.2. 依赖配置详解 3.3.3. 使用depends-on 3.3.4. 延迟初始化bean 3.3.5. 自动...

    spring security 参考手册中文版

    32.2 CAS的工作原理 240 32.2.1 Spring安全和CAS交互序列 241 32.3 CAS客户端的配置 244 32.3.1服务票据认证 244 32.3.2单一注销 246 32.3.3使用CAS认证无状态服务 249 配置CAS以获取代理授予票证 249 使用代理票证...

    springboot学习思维笔记.xmind

    Spring Session Spring项目快速搭建 Maven简介 Maven安装 Maven的pom.xml dependencies dependency 变量定义 编译插件 Spring项目的搭建 Spring Tool Suite ...

    Struts,Spring,Hibernate三大框架的面试&笔试题

    1.Hibernate工作原理及为什么要用? 原理: 1.读取并解析配置文件 2.读取并解析映射信息,创建SessionFactory 3.打开Sesssion 4.创建事务Transation ...7.关闭Session 8.关闭SesstionFactory

    Spring MVC SessionAttributes注解.docx

    @SessionAttributes原理 默认情况下Spring MVC将模型中的数据存储到request域中。当一个请求结束后,数据就失效了。如果要跨页面使用。那么需要使用到session。而@SessionAttributes注解就可以使得模型中的数据存储...

    Spring面试题

    7.关闭Session 8.关闭SesstionFactory 为什么要用: 1. 对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。 2. Hibernate是一个基于JDBC的主流持久化框架,是一个优秀的ORM实现。他很大程度...

    SpringI18n:这是一个spring mvc的国际化项目, 该项目会尽量阐述i18n的原理与机制

    SpringI18n这是一个spring mvc的国际化项目, 该项目会尽量阐述i18n的原理与机制这是一个简单的Spring管理的I18n Demo Cookie 和Session中的localeResolver只能注册一种,所以需要测试哪种另一种需要在spring配置文件...

    SSH工作原理

    SSH工作原理: 1.读取并解析配置文件 2.读取并解析映射信息,创建SessionFactory 3.打开Sesssion 4.创建事务Transation 5.持久化操作 6.提交事务 7.关闭Session 8.关闭SesstionFactory

    Guns 技术文档 旗舰版v2.3.pdf

    4.1.1 修改项目名 4.1.2 修改包名 4.2 放过接口权限验证 4.3 静态资源和模板位置的变更 4.4 三个或更多数据源如何配置 4.5 添加登录验证码 4.6 spring profile 4.7 多机器部署开启spring session 4.8 使用Redis ...

    tomcat+nginx+mybatis+redis整合

    目录 一、部署启动多个tomcat 2 1、背景 2 2、部署多个tomcat 2 二、nginx配置及启用 3 1、nginx的下载和启动 3 2、nginx配置文件 4 3、使用nginx负载均衡 5 ...2、redis和spring整合实现二级缓存 20

Global site tag (gtag.js) - Google Analytics