11-SpringSecurity:Session共享,菜鸟驿站java面试题

news2024/12/28 3:36:27
  • pom依赖

org.springframework.boot

spring-boot-starter-web

org.springframework.boot

spring-boot-starter-security

org.springframework.boot

spring-boot-starter-data-redis

org.springframework.session

spring-session-data-redis

org.projectlombok

lombok

true

org.springframework.boot

spring-boot-starter-test

test

  • 配置文件

server:

port: 8000

spring:

redis:

host: 10.16.1.110

port: 6379

pool.max-idle: 8

pool.min-idle: 0

pool.max-active: 8

pool.max-wait: -1

password:

timeout: 1000

  • 资源接口

创建资源接口: 登录之后默认跳转 / ,展示当前服务的端口号。

@RestController

public class SessionController {

@Value(“${server.port}”)

Integer port;

@GetMapping(value = “/”)

public String greeting() {

return String.valueOf(port);

}

}

实验0:伪分布式集群Session共享

开启两个服务:

  1. 一个运行在8000端口:http://localhost:8000

  2. 一个运行在9000端口:http://localhost:9000

Note:在Idea中,可通过以下配置可同时运行一个服务的多个实例。

2021-01-14-ParallelRun.png实验步骤:

  1. 在浏览器中先访问 http://localhost:8000 ,这时要求登录,输入用户名:user,密码在控制台生成;登录成功后显示: 8000

  2. 然后继续在当前浏览器新开一个Tab,访问 http://localhost:9000 ,不出意外,会直接显示(无需再次登录): 9000

  3. 这样,便通过一个依赖 spring-session-data-redis 实现了 Session 共享(就不贴图了);

Note:

  • 由于仍然采用的传统的 Cookie-Session 模式,所以上述实验必须在同一浏览器下进行,在请求时,浏览器会自动带上 Cookie (其中存了SessionID);

  • 实际生产中,通常通过Nginx进行反向代理,仅对外提供一个域名或接口地址,实现集群的负载均衡;

实验1:再次验证Session共享

Controller 中新增两个接口:一个写入键值对,一个读取键值,接口如下:

@RestController

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
img

最后

由于文案过于长,在此就不一一介绍了,这份Java后端架构进阶笔记内容包括:Java集合,JVM、Java并发、微服务、SpringNetty与 RPC 、网络、日志 、Zookeeper 、Kafka 、RabbitMQ 、Hbase 、MongoDB、Cassandra 、Java基础、负载均衡、数据库、一致性算法、Java算法、数据结构、分布式缓存等等知识详解。

image

本知识体系适合于所有Java程序员学习,关于以上目录中的知识点都有详细的讲解及介绍,掌握该知识点的所有内容对你会有一个质的提升,其中也总结了很多面试过程中遇到的题目以及有对应的视频解析总结。

image

image

图片转存中…(img-fnmIfDEp-1711894531216)]

本知识体系适合于所有Java程序员学习,关于以上目录中的知识点都有详细的讲解及介绍,掌握该知识点的所有内容对你会有一个质的提升,其中也总结了很多面试过程中遇到的题目以及有对应的视频解析总结。

[外链图片转存中…(img-fPX2jsjc-1711894531217)]

[外链图片转存中…(img-bBzOI5P7-1711894531218)]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1559558.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

1.java 安装

操作步骤 下载: https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html1 通过Xftp将下载下来的jdk上传到指定虚拟机上传到/usr目录下 2 通过Xshell连接到虚拟机,执行如下命令,解压文件: $ tar zxvf jdk-8u…

算法沉淀 —— 动态规划篇(简单多状态dp问题下)

算法沉淀 —— 动态规划篇(简单多状态dp问题下) 前言一、买卖股票的最佳时机含冷冻期二、买卖股票的最佳时机含手续费三、买卖股票的最佳时机 IV 前言 几乎所有的动态规划问题大致可分为以下5个步骤,后续所有问题分析都将基于此 1.、状态表示…

概率论经典题目-二维随机变量及分布--由概率密度求分布函数和概率

解答: 由概率密度函数求解分布函数的公式可知: 辅助图形加以确定积分上下限

LCX端口转发

LCX介绍 LCX是一款端口转发工具,分为Windows版和Linux版,Linux版本为PortMap。LCX有端口映射和端口转发两大功能,例如当目标的3389端口只对内开放而不对外开放时,可以使用端口映射将3389端口映射到目标的其他端口使用&#xff1b…

k8s1.28.8版本配置Alertmanager报警方式(邮件,企业微信)

文章目录 总结部署流程 Alertmanager 三大核心1. 分组告警2. 告警抑制3. 告警静默 报警过滤静默通知方案一:方案二: 抑制报警规则案例一 参考文档 自定义路由告警,分来自不同路由的告警,艾特不同的人员进行区分修改 alertmanager …

Spark-Scala语言实战(9)

之前的文章中,我们学习了如何在spark中使用RDD方法的flatMap,take,union。想了解的朋友可以查看这篇文章。同时,希望我的文章能帮助到你,如果觉得我的文章写的不错,请留下你宝贵的点赞,谢谢。 Spark-Scala语言实战&am…

keepalived+LVS高可用部署

目录 一.两台设备(2.130和2.133)作为调度器,前主后备 1.部署keepalived 2.修改配置文件准备启动 3.配置keepalived的系统日志并启动 二.模拟调度器掉点和web服务进程丢失 1.调度器掉点 2.当类似于httpd这种网站服务掉点 三.以三种健康…

【A-008】基于SSH的员工信息管理系统(含论文)

员工信息管理系统主要功能如下: (1)员工方面: ①人事管理:能够看到自己的基本信息,对自己的合同进行下载,可以看公司的培训信息; ②招聘管理:查看企业的招聘信息,包括应聘者&#x…

基于SpringBoot和Vue的学生笔记共享平台的设计与实现

今天要和大家聊的是一款基于SpringBoot和Vue的学生笔记共享平台的设计与实现 !!! 有需要的小伙伴可以通过文章末尾名片咨询我哦!!! 💕💕作者:李同学 💕&…

【Qt】常用控件(输入类)

目录 一、Line Edit二、Text Edit三、ComBo四、DateTimeEdit五、Slider 一、Line Edit QLineEdit 用来表示单行输入框,可以输入一段文本,但是不能换行。 属性说明test输入框中的文本inputMask输入内容格式约束maxLength最大长度frame是否添加边框echoM…

AES加密解密算法

一,AES算法概述 AES属于分组加密,算法明文长度固定为128位(单位是比特bit,1bit就是1位,128位等于16字节) 而密钥长度可以是128、192、256位 当密钥为128位时,需要循环10轮完成加密&#xff0…

OpenEuler华为欧拉系统安装教程及联网配置

OpenEuler简介 openEuler是一款开源操作系统。当前openEuler内核源于Linux,支持鲲鹏及其它多种处理器,能够充分释放计算芯片的潜能,是由全球开源贡献者构建的高效、稳定、安全的开源操作系统,适用于数据库、大数据、云计算、人工智…

人脸检测项目 | 基于C++在英特尔+ARM-CPU上部署人脸检测算法_推理速度可达1000fps

项目应用场景 面向在英特尔ARM CPU 平台部署轻量级的人脸检测算法,要求人脸检测算法的速度是能够达到实时的的场景,项目采用 C 开发,支持跨平台移植到包括 Linux、Windows 等 项目效果: 项目细节 > 具体参见项目 README.md (1…

【LeetCode: 330. 按要求补齐数组 + 贪心 + 构造区间】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

linux进程退出之exit与_exit

linux进程退出之exit与_exit _exitexit流程清理函数atexit()函数:on_exit()函数: _exit /* Terminate program execution with the low-order 8 bits of STATUS. */ /** status参数定义了进程的终止状态,父进程可以通过wait(&am…

使用open3d分离背景和物体点云

一、代码 方法简单介绍 RANSAC(随机采样一致性)是一种常用的分割算法,通常用于从点云中分割出最大的平面(如地面、墙壁等)。RANSAC速度相对较快,特别是当点云数据量不是很大时。在物体与背景之间存在明显…

蓝桥杯 本质上升序列

题目描述: 小蓝特别喜欢单调递增的事物。 在一个字符串中,如果取出若干个字符,将这些字符按照在字符串中的顺序排列后是单调递增的,则成为这个字符串中的一个单调递增子序列。 例如,在字符串 lanqiao 中,如果取出字符…

蓝桥杯省赛刷题——题目 2656:刷题统计

刷题统计OJ链接:蓝桥杯2022年第十三届省赛真题-刷题统计 - C语言网 (dotcpp.com) 题目描述 小明决定从下周一开始努力刷题准备蓝桥杯竞赛。他计划周一至周五每天做 a 道题目,周六和周日每天做 b 道题目。请你帮小明计算,按照计划他将在第几…

Segger Embedded Studio IDE使用体验——默认的Section和Linker的设置

Segger Embedded Studio IDE使用体验之一——默认的Section和Linker的设置 一、简介二、操作2.1 编译后代码分析2.1.1 符号浏览器2.1.2 读取elf文件和map文件 2.2 调试2.2.1 查看变量2.2.2 设置供电 2.3 运行环境设置2.3.1 编译器2.3.2 汇编器2.3.3 包含其他文件2.3.4 .bss和.d…

iOS问题记录 - App Store审核新政策:隐私清单 SDK签名(持续更新)

文章目录 前言开发环境问题描述问题分析1. 隐私清单 & SDK签名1.1. 隐私清单 - 数据使用声明1.2. 隐私清单 - 所用API原因描述1.3. SDK签名 2. 即将发布的第三方SDK要求 解决方案最后 前言 前段时间用Flutter开发的iOS App提交了新版本,结果刚过两分钟就收到了…