【spring-session】介绍
生活随笔
收集整理的這篇文章主要介紹了
【spring-session】介绍
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前言
- spring-session 2.0.10.RELEASE
- 項目地址: https://spring.io/projects/spring-session
- 文檔地址: https://docs.spring.io/spring-session/docs/2.0.10.RELEASE/reference/html5/
介紹
spring-session在無需綁定web容器的情況下提供對集群session的支持。并提供對以下情況的透明集成:
- HttpSession:允許替換web容器的HttpSession
- WebSocket:使用WebSocket通信時,提供Session的活躍
- WebSession:允許以應用中立的方式替換webflux的webSession
WebSocket 和 WebSession 介紹略。
Spring Session 替換 HttpSession得到什么好處呢?
-
集群會話 : Spring Session使支持集群會話變得很簡單,而無需綁定到特定于應用程序容器的解決方案。
-
RESTful API : Spring Session允許在標頭中提供會話ID以使用RESTful API
spring-session 如何替換 HttpSession
- 添加一個Filter(SessionRepositoryFilter)。
- 在Filter中,將request和response替換為,wrappedRequest(SessionRepositoryRequestWrapper)和wrappedResponse(SessionRepositoryResponseWrapper)。
- wrappedRequest 負責將 session 替換為 HttpSessionWrapper。
- HttpSessionWrapper 為 Adapter , 指向一個 org.springframework.session.Session 。
- 如果 org.springframework.session.Session 的實現為 RedisSession ,則在redis中保存 session。其它實現以此類推。
來張圖:
傳統Web容器Session和spring-session
示例
官方提供的示例夠全的:https://docs.spring.io/spring-session/docs/2.0.10.RELEASE/reference/html5/#samples。
- spirng boot 示例:https://docs.spring.io/spring-session/docs/2.0.10.RELEASE/reference/html5/guides/boot-redis.html
- 使用 srping 注解配置的示例:https://docs.spring.io/spring-session/docs/2.0.10.RELEASE/reference/html5/guides/java-redis.html
- 使用 spring xml 配置的示例:https://docs.spring.io/spring-session/docs/2.0.10.RELEASE/reference/html5/guides/xml-redis.html
總結
以上是生活随笔為你收集整理的【spring-session】介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: maven 多模块项目:单独构建某个模块
- 下一篇: 2020年闰四月啥意思