- 博客(31)
- 收藏
- 关注
原创 token无感刷新+处理并发的后端方案
当用户通过登陆后进入一个web网站,会把token保存到localStorage。假设token过期时间30min。那么当用户在网站快乐地玩耍了30min后,这时进行了一次提交表单,它会被重定向到登陆页面。作为用户:我表单填了这么久,点击提交时让我重新登陆?我的体验很不好。
2024-11-02 16:14:10
1429
原创 虚拟机Ubuntu实现和宿主机之间的数据传输(只能复制粘贴,包过)
本人vmware 17,安装ubuntu虚拟机22.04。只实现了宿主机和虚拟机的文本复制粘贴。
2024-10-30 22:05:50
933
原创 所以spring mvc异常处理工作原理是啥
spring mvc有下面三种方式实现异常处理:实现handlerExceptionResolver+@Component(上古版本)controller里耦合@ExceptionHandler(优先级最高)@ControllerAdvice+@ExceptionHandler(最常用)1.在对应类实现spring的异常处理核心组件handlerExceptionResolver+@Component(在多个异常执行时的优先级最低,并且麻烦,最早期的异常处理)
2024-06-15 18:58:56
863
1
原创 security如何保存用户信息,如何获取用户信息(一)(含部分securityHolder源码分析)
SecurityContextPersistenceFilter 先从HttpSession中读取SecurityContext出来,存入SecurityContextHolder以备后续使用,当请求离开SecurityContextPersistenceFilter的时候,获取最新的SecurityContext并存入HttpSession中,同时清空SecurityContextHolder中的登录信息。但对于我们的前后端分离的情况,一般都用jwt,若开启session(默认),那么每次。
2024-05-19 15:38:09
878
原创 springBoot+springSecurity基本认证流程
对应springboot版本,直接加依赖,这样版本不会错比如我这里是2.6.4的版本。对应的springSecurity版本是5.6.x没找到springSecurity对应springboot依赖对应表但springboot2.x基本对应security的5.x版本3.x对应6.x版本。
2024-05-18 15:33:50
576
1
原创 为什么一些网站要询问您是否接受cookies,所以到底什么是cookie?token?session?CSRF呢?例子?通俗一点
cookie可以保存:网站名称和唯一对话ID,浏览历史记录,首选项与权限,访问次数,对话持续时间,点击的链接,登录凭证(包含使用者名称和密码),地理标记(地理位置和IP地址),个人数据(如电话号码和邮政编码),购物车活动
2024-05-18 13:37:33
1208
原创 电商商品模块就该这么设计
不加任何业务,电商中商品的设计应该有这些属性设计如何区分规格和参数:加个字段分类加parent_id分层设计库存sku_code编码某一规格下的商品的库存 sp_data来区分评论商品对评论,1对N回复评论品牌商品对品牌,N对1。
2024-05-14 15:22:11
1249
原创 冒泡排序(思路,代码,优化详解)
每一轮循环,俩俩比较,冒泡出一个最值,经过最多length-1次循环,把数组排序。判断数组何时已经排好序,i不再多余循环 = > 记录标志位isSwap判断数组已经排好序的范围,j不要多余遍历 => 设置结束边界lastSwapIndexallslide=6-6。
2024-05-04 16:03:46
1014
1
原创 数组算法——差分数组
时间复杂度为O(n2)空间复杂度为O(1)(这里没有考虑res)如下图所示Q:为什么要构造这个数组呢?A:因为diff数组记录了nums相邻元素的关系,对于差分数组diff,闭区间元素的整体的±是有下面的规律的而本题需要的是从[i,j]同时+或-来统计从i站到j站 车上的乘客人数。时间复杂度为O(n)空间复杂度为O(n)
2024-02-19 21:03:14
384
原创 leetcode——数组算法——前缀和构建和应用
n维数组如何构建前缀和,如何使用前缀和前缀和技巧适用于快速、频繁地计算一个索引区间内的元素之和。
2024-02-13 22:37:06
966
原创 java——ip黑名单设计方案(大全+实战)
思路:将黑名单ip存入一个txt文件中(置于resources下),用一个bean去加载文件内容,并存入一个Set中。然后自定义拦截器,去对ip进行检查。过滤器依赖于Servlet容器,并且不能获取IOC容器的bean,所以springboot一般不用自定义filter去搞这种,因为不能注入service等@bean。很难受Q:为什么过滤器不能获取IOC容器的bean吗,而拦截器可以A:过滤器由Servlet容器管理(Tomcat,Netty),它的初始化在spring之前。
2024-01-29 19:58:04
2410
1
原创 springboot+ftp服务器上传图片推荐方案
关于前后端交互图片等二进制数据,我们在方案选择上无非要注重的是下面几点:前端怎么传?后端怎么接收?接收要干什么?怎么保存?保存到哪?
2023-11-17 21:14:18
217
原创 RabbitMQ消息队列(二):业务实战订单超时处理
本文主要讲解RabbitMq如何处理超时业务,默认您已经对消息队列RabbitMq已经有了基础了解。声明一个延时交换机,一个死信交换机,一个延时队列,一个处理死信队列,并绑定。🤞我是小酥肉 ,喜欢简单 ,期待您的留言👌。我们可以配置队列TTL或者消息TTL。声明一个生产者,一个消费者,并绑定。❤️弱水三千,只取一瓢饮❤️。在控制器注入生产者,发送消息。❤️弱水三千,只取一瓢饮❤️。后,若该订单超过1天没有被。现在有一个需求:订单被。,则手动处理该超时订单。可以看我之前写的博客。
2023-11-14 23:56:51
1183
2
原创 java spring 处理跨域
当请求违反了浏览器同源策略,会印发跨域解决跨域的方式就是添加对应请求头(由cors标准规定的请求头),一般是后端处理可以在servelt容器层处理跨域(filter)也可以在spring mvc层处理跨域(WebMvcConfigure全局配置,拦截器,@CrossOrigin),可以根据自己的需求确定颗粒度filter不可以用bean,而mvc框架的配置则可以(WebMvcConfigure)注意:跨域的方式还有很多。比如网关层:cloud gataway,nginx。
2023-11-09 23:18:21
115
1
原创 [springboot] 详述springboot通用开发架构
vo:视图对象,最终返回给前端视图的对象,一般是对baseResponse响应的对象做一些处理,让它可以被前端更好更方便地处理(比如用户脱敏操作,你后端不做前端就得做)如上所示,添加一个user,我们需要填充他的userName,userAccount,userAvatar等等,这里的字段就是前端的一些表单之类所要的。),提示信息(资源不存在?ErrorCode定义了不同错误的枚举,每个枚举都拥有自己的code,message,这将作为baseResponse 企图返回的错误。更符合DDD的模块设计。
2023-10-05 14:26:55
122
原创 java 项目里 自动生成唯一用户名
hutool的UUID雪花算法,可以分布式唯一随机UUID(高性能)定义一个用户名生成规则,包括用户名的长度、字符集和组成规则。Autowired自动装配(但不能自动装配static的)遇到问题:springboot 普通类怎么使用DAO。检查生成的用户名是否已存在,如果存在则重新生成。将生成的用户名保存到数据库或其他持久化存储中。配合RandomStringUtils等工具包。生成随机字符串作为用户名。
2023-09-24 14:37:49
1496
1
原创 linux下用yum安装tomcat+教训
本来用yum去获取就是不想解压和配置环境变量了,直接一步到位。还不如老老实实从官网下载压缩包,自己配置CATALINA_HOME哪些环境变量呢…然后就去浏览器(虚拟机)输入127.0.0.1:8080(http),然后页面空白无反应。还是要了解清楚yum下载到的包全不全啊!发现8005,8009,8080,8443都在占用。然后面向百度编程了半小时,心态真的有点不行了。Linux下用yum下载tomcat。但是status却是running。看了一下占用端口是否冲突,也没有。然后开放了一下防火墙的端口。
2023-01-20 17:46:32
912
原创 js基础:闭包基本概念
闭包是一种现象,指的是那些引用了其他函数作用域下的变量的函数(js红宝书原文)。通常是在嵌套函数中出现的(套娃)产生的原因:js的作用域链机制和垃圾回收机制。
2022-11-22 16:08:05
172
原创 js基础复习:变量
复习《JavaScript高级程序设计》详叙变量声明的let,var,const用法及其各自特点详叙for循环中let和var声明迭代变量的不同
2022-11-13 22:25:12
312
1
空空如也
服务器docker安装jenkins,无法修改config.xml,端口无法访问
2023-11-18
RabbitMQ进程启动异常
2023-10-27
运行java的class文件时提示找不到主类
2023-10-26
TA创建的收藏夹 TA关注的收藏夹
TA关注的人