springboot集成Spring Session
10.1 分布式集群环境下的集成(同域名、同项目)
10.1.1 创建SpringBoot的web支持项目07-springboot-session
创建项目
10.1.2 在pom.xml文件中添加依赖
<!-- 配置spring session的依赖 -->
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-core</artifactId>
<version>2.1.2.RELEASE</version>
</dependency>
<!-- 配置spring session data redis的依赖 -->
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-redis</artifactId>
<version>2.1.1.RELEASE</version>
</dependency>
<!-- springboot集成redis的起步依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
10.1.3 在application.properties中配置端口号、上下文根及Redis连接
# 配置内嵌tomcat服务器信息
server.port=8080
server.servlet.context-path=/A07-springboot-session #配置redis连接信息
spring.redis.host=192.168.132.128
spring.redis.port=6379
spring.redis.password=123456 spring.session.store-type=redis
10.1.4 创建SessionController向session中存取数据
代码示例
package com.bjpowernode.springboot.controller; import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpSession; @RestController
public class SessionController { @GetMapping("/boot/set")
public String setSession(HttpSession session){
session.setAttribute("url","http://www.bjpowernode.com");
return "set session ok";
} @GetMapping("/boot/get")
public String getSession(HttpSession session){
String url= (String) session.getAttribute("url");
return url;
}
}
10.1.5 让项目使用SpringSession
- 在SpingBoot程序入口类Application上@EnableRedisHttpSession注解
package com.bjpowernode.springboot; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.session.data.redis.config.annotation.web.http.EnableRedisHttpSession; @SpringBootApplication
@EnableRedisHttpSession
public class A07SpringbootSessionApplication { public static void main(String[] args) {
SpringApplication.run(A07SpringbootSessionApplication.class, args);
} }
注解@EnableRedisHttpSession启用redis作为session容器
- 在application.properties配置文件中加入(可选):spring.session.store-type=redis
10.1.6 启动Redis服务

10.1.7 启动SpringBoot程序测试
设置地址:http://localhost:8080/A07-springboot-session/boot/set
获取地址:http://localhost:8080/A07-springboot-session/boot/get
- 通过Redis Desktop Manager查看Redis库中信息

- 修改服务器端口号,通过jar包的方式启动9090端口的tomcat,通过浏览器访问从session中取数据
springboot集成Spring Session的更多相关文章
- SpringBoot 集成 Spring Session
SpringBoot 集成 Spring Session 应该讲解清楚,为什么要使用 Redis 进行 Session 的管理. Session 复制又是什么概念. Spring Session 在汪 ...
- SpringBoot集成Spring Security(7)——认证流程
文章目录 一.认证流程 二.多个请求共享认证信息 三.获取用户认证信息 在前面的六章中,介绍了 Spring Security 的基础使用,在继续深入向下的学习前,有必要理解清楚 Spring Sec ...
- SpringBoot集成Spring Security(6)——登录管理
文章目录 一.自定义认证成功.失败处理 1.1 CustomAuthenticationSuccessHandler 1.2 CustomAuthenticationFailureHandler 1. ...
- SpringBoot集成Spring Security(4)——自定义表单登录
通过前面三篇文章,你应该大致了解了 Spring Security 的流程.你应该发现了,真正的 login 请求是由 Spring Security 帮我们处理的,那么我们如何实现自定义表单登录呢, ...
- Springboot集成Spring Batch
Spring官网 (https://spring.io/projects/spring-batch#overview)对Spring Batch的解释: 一个轻量级的.全面的批处理框架,用于开发对企 ...
- SpringBoot集成Spring Security入门体验
一.前言 Spring Security 和 Apache Shiro 都是安全框架,为Java应用程序提供身份认证和授权. 二者区别 Spring Security:重量级安全框架 Apache S ...
- SpringBoot集成Spring Security(5)——权限控制
在第一篇中,我们说过,用户<–>角色<–>权限三层中,暂时不考虑权限,在这一篇,是时候把它完成了. 为了方便演示,这里的权限只是对角色赋予权限,也就是说同一个角色的用户,权限是 ...
- SpringBoot集成Spring Security(2)——自动登录
在上一章:SpringBoot集成Spring Security(1)——入门程序中,我们实现了入门程序,本篇为该程序加上自动登录的功能. 文章目录 一.修改login.html二.两种实现方式 2. ...
- Spring boot集成spring session实现session共享
最近使用spring boot开发一个系统,nginx做负载均衡分发请求到多个tomcat,此时访问页面会把请求分发到不同的服务器,session是存在服务器端,如果首次访问被分发到A服务器,那么se ...
随机推荐
- Spring boot Gradle项目搭建
Spring boot Gradle项目搭建 使用IDEA创建Gradle工程 操作大致为:File->new->Project->Gradle(在左侧选项栏中) 创 ...
- LeetCode.1185-一周中的星期几(Day of the Week)
这是小川的第415次更新,第448篇原创 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第266题(顺位题号是1185).给定日期,返回该日期的星期几.输入为三个整数,分别代表日,月和 ...
- XCTF攻防世界Web之WriteUp
XCTF攻防世界Web之WriteUp 0x00 准备 [内容] 在xctf官网注册账号,即可食用. [目录] 目录 0x01 view-source2 0x02 get post3 0x03 rob ...
- 小林的VB6動態壁紙模擬程序
本項目參考了以下資料[這可能對你理解程序運行有幫助]: https://github.com/Yinmany/WinWallpaper https://blog.csdn.net/breaksoftw ...
- Nginx进程信号管理
CHLD信号:work进程异常退出会给Master进程发送CHLD信号,这时Master进程就知道Worker进程退出了,然后重新起一个Worker进程: TERM信号:退出进程,不优雅: QUIT信 ...
- SpringCloud学习(三)服务消费者(Feign)(Finchley版本)
上一篇文章,讲述了如何通过RestTemplate+Ribbon去消费服务,这篇文章主要讲述如何通过Feign去消费服务. Feign简介 Feign是一个声明式的伪Http客户端,它使得写Http客 ...
- django中的Form和ModelForm中的问题
django的Form组件中,如果字段中包含choices参数,请使用两种方式实现数据源实时更新 方法一:重写构造方法,在构造方法中重新去获取值 class UserForm(forms.Form): ...
- Min swaps to sort array
Given an array with distinct numbers, return an integer indicating the minimum number of swap operat ...
- [转帖]Java高级系列——注解(Annotations)
Java高级系列——注解(Annotations) 2018年01月13日 :: RonTech 阅读数 3405更多 所属专栏: Java高级系列文章 版权声明:转载请注明出处,谢谢配合. http ...
- Vue--理解非prop特性
所谓非 prop 特性,就是指它可以直接传入组件,而不需要定义相应的 prop. 尽管为组件定义明确的 prop 是推荐的传参方式,组件的作者却并不总能预见到组件被使用的场景.所以,组件可以接收任意传 ...