10.1 分布式集群环境下的集成(同域名、同项目)

10.1.1        创建SpringBoot的web支持项目07-springboot-session

创建项目

10.1.2        在pom.xml文件中添加依赖

  1. <!-- 配置spring session的依赖 -->
  2. <dependency>
  3. <groupId>org.springframework.session</groupId>
  4. <artifactId>spring-session-core</artifactId>
  5. <version>2.1.2.RELEASE</version>
  6. </dependency>
  7. <!-- 配置spring session data redis的依赖 -->
  8. <dependency>
  9. <groupId>org.springframework.session</groupId>
  10. <artifactId>spring-session-data-redis</artifactId>
  11. <version>2.1.1.RELEASE</version>
  12. </dependency>
  13. <!-- springboot集成redis的起步依赖 -->
  14. <dependency>
  15. <groupId>org.springframework.boot</groupId>
  16. <artifactId>spring-boot-starter-data-redis</artifactId>
  17. </dependency>

10.1.3        在application.properties中配置端口号、上下文根及Redis连接

  1. # 配置内嵌tomcat服务器信息
  2. server.port=8080
  3. server.servlet.context-path=/A07-springboot-session
  4.  
  5. #配置redis连接信息
  6. spring.redis.host=192.168.132.128
  7. spring.redis.port=6379
  8. spring.redis.password=123456
  9.  
  10. spring.session.store-type=redis

10.1.4        创建SessionController向session中存取数据

代码示例

  1. package com.bjpowernode.springboot.controller;
  2.  
  3. import org.springframework.stereotype.Controller;
  4. import org.springframework.web.bind.annotation.GetMapping;
  5. import org.springframework.web.bind.annotation.RestController;
  6.  
  7. import javax.servlet.http.HttpSession;
  8.  
  9. @RestController
  10. public class SessionController {
  11.  
  12. @GetMapping("/boot/set")
  13. public String setSession(HttpSession session){
  14. session.setAttribute("url","http://www.bjpowernode.com");
  15. return "set session ok";
  16. }
  17.  
  18. @GetMapping("/boot/get")
  19. public String getSession(HttpSession session){
  20. String url= (String) session.getAttribute("url");
  21. return url;
  22. }
  23. }

10.1.5        让项目使用SpringSession

  • 在SpingBoot程序入口类Application上@EnableRedisHttpSession注解
  1. package com.bjpowernode.springboot;
  2.  
  3. import org.springframework.boot.SpringApplication;
  4. import org.springframework.boot.autoconfigure.SpringBootApplication;
  5. import org.springframework.session.data.redis.config.annotation.web.http.EnableRedisHttpSession;
  6.  
  7. @SpringBootApplication
  8. @EnableRedisHttpSession
  9. public class A07SpringbootSessionApplication {
  10.  
  11. public static void main(String[] args) {
  12. SpringApplication.run(A07SpringbootSessionApplication.class, args);
  13. }
  14.  
  15. }
  1. 注解@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的更多相关文章

  1. SpringBoot 集成 Spring Session

    SpringBoot 集成 Spring Session 应该讲解清楚,为什么要使用 Redis 进行 Session 的管理. Session 复制又是什么概念. Spring Session 在汪 ...

  2. SpringBoot集成Spring Security(7)——认证流程

    文章目录 一.认证流程 二.多个请求共享认证信息 三.获取用户认证信息 在前面的六章中,介绍了 Spring Security 的基础使用,在继续深入向下的学习前,有必要理解清楚 Spring Sec ...

  3. SpringBoot集成Spring Security(6)——登录管理

    文章目录 一.自定义认证成功.失败处理 1.1 CustomAuthenticationSuccessHandler 1.2 CustomAuthenticationFailureHandler 1. ...

  4. SpringBoot集成Spring Security(4)——自定义表单登录

    通过前面三篇文章,你应该大致了解了 Spring Security 的流程.你应该发现了,真正的 login 请求是由 Spring Security 帮我们处理的,那么我们如何实现自定义表单登录呢, ...

  5. Springboot集成Spring Batch

    Spring官网 (https://spring.io/projects/spring-batch#overview)对Spring  Batch的解释: 一个轻量级的.全面的批处理框架,用于开发对企 ...

  6. SpringBoot集成Spring Security入门体验

    一.前言 Spring Security 和 Apache Shiro 都是安全框架,为Java应用程序提供身份认证和授权. 二者区别 Spring Security:重量级安全框架 Apache S ...

  7. SpringBoot集成Spring Security(5)——权限控制

    在第一篇中,我们说过,用户<–>角色<–>权限三层中,暂时不考虑权限,在这一篇,是时候把它完成了. 为了方便演示,这里的权限只是对角色赋予权限,也就是说同一个角色的用户,权限是 ...

  8. SpringBoot集成Spring Security(2)——自动登录

    在上一章:SpringBoot集成Spring Security(1)——入门程序中,我们实现了入门程序,本篇为该程序加上自动登录的功能. 文章目录 一.修改login.html二.两种实现方式 2. ...

  9. Spring boot集成spring session实现session共享

    最近使用spring boot开发一个系统,nginx做负载均衡分发请求到多个tomcat,此时访问页面会把请求分发到不同的服务器,session是存在服务器端,如果首次访问被分发到A服务器,那么se ...

随机推荐

  1. linux之反向代理,反向代理实例,负载均衡实例

    目录 nginx反向代理 1. 概述 2. 反向代理服务器的工作原理 (1)作为内容服务器的替身 (2)作为内容服务器的负载均衡器 二. nginx反向代理实例 1.前期准备 2.代理服务器配置 3. ...

  2. spring-boot集成6:集成redis实现字典缓存功能

    Why redis? redis是基于内存的key-value系统,可以用作缓存中间件或者消息中间件,spring-boot提供了方便的方式和redis集成. 1.maven依赖 <!--red ...

  3. HP LaserJet M602 更換碳粉盒CE390XC

    HP LaserJet M602 原裝碳粉盒為 CE390A 且容量小不夠用,故更換大號的 CE390XC ,需要將 CE390XC 外面的所有橙色部件去掉(取走上面一條帶2個凸起的遮罩,左側有一個耳 ...

  4. 【VS开发】CTabView多页卡界面

    转载地址:http://blog.csdn.net/akof1314/article/details/5618454 目录(?)[-] Public Methods Protected Methods ...

  5. Vue常见问题集中

    a.VScode保持vue语法高亮的方式: 1.安装插件:vetur.打开VScode,Ctrl + P 然后输入 ext install vetur 然后回车点安装即可. 2.在 VSCode中使用 ...

  6. 数据结构 双向链表 C语言实现

    dlist.h #ifndef __dList_H #define __dlist_H typedef int Item; typedef struct Node *PNode; typedef PN ...

  7. [转帖]@RequestMapping 用法详解之地址映射(转)

    @RequestMapping 用法详解之地址映射(转) https://www.cnblogs.com/qq78292959/p/3760560.html 从csdn 发现的文章 然后csdn指向c ...

  8. Hadoop-(Flume)

    Hadoop-(Flume) 1. Flume 介绍 1.1. 概述 Flume是一个分布式.可靠.和高可用的海量日志采集.聚合和传输的系统. Flume可以采集文件,socket数据包.文件.文件夹 ...

  9. SpringCloud组件及功能介绍

    1.什么是SpringClould?    SpringCloud是一个基于SpringBoot实现的微服务架构开发工具.它为微服务架构中涉及的配置管理.服务治理.断路器.智能路由.微代理.控制总线. ...

  10. Java源码 HashMap<K,V>

    HashMap类 https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html public class HashMap<K, ...