
java
文章平均质量分 84
java日常开发和学习
编程就是n踢r
别在意过去,也不关心未来
展开
-
token无感刷新+处理并发的后端方案
当用户通过登陆后进入一个web网站,会把token保存到localStorage。假设token过期时间30min。那么当用户在网站快乐地玩耍了30min后,这时进行了一次提交表单,它会被重定向到登陆页面。作为用户:我表单填了这么久,点击提交时让我重新登陆?我的体验很不好。原创 2024-11-02 16:14:10 · 1456 阅读 · 0 评论 -
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 · 2459 阅读 · 1 评论 -
jvm监控工具:visualVM
virtualVM帮助java开发者快速定位死锁问题原创 2024-01-22 23:39:39 · 1347 阅读 · 5 评论 -
java百万级mysql数据导入excel(多线程)
easyExcel+多线程实战导出excel源码原创 2024-01-22 09:00:00 · 1909 阅读 · 1 评论 -
RabbitMQ消息队列(二):业务实战订单超时处理
本文主要讲解RabbitMq如何处理超时业务,默认您已经对消息队列RabbitMq已经有了基础了解。声明一个延时交换机,一个死信交换机,一个延时队列,一个处理死信队列,并绑定。🤞我是小酥肉 ,喜欢简单 ,期待您的留言👌。我们可以配置队列TTL或者消息TTL。声明一个生产者,一个消费者,并绑定。❤️弱水三千,只取一瓢饮❤️。在控制器注入生产者,发送消息。❤️弱水三千,只取一瓢饮❤️。后,若该订单超过1天没有被。现在有一个需求:订单被。,则手动处理该超时订单。可以看我之前写的博客。原创 2023-11-14 23:56:51 · 1224 阅读 · 1 评论 -
java spring 处理跨域
当请求违反了浏览器同源策略,会印发跨域解决跨域的方式就是添加对应请求头(由cors标准规定的请求头),一般是后端处理可以在servelt容器层处理跨域(filter)也可以在spring mvc层处理跨域(WebMvcConfigure全局配置,拦截器,@CrossOrigin),可以根据自己的需求确定颗粒度filter不可以用bean,而mvc框架的配置则可以(WebMvcConfigure)注意:跨域的方式还有很多。比如网关层:cloud gataway,nginx。原创 2023-11-09 23:18:21 · 120 阅读 · 1 评论 -
[springboot] 详述springboot通用开发架构
vo:视图对象,最终返回给前端视图的对象,一般是对baseResponse响应的对象做一些处理,让它可以被前端更好更方便地处理(比如用户脱敏操作,你后端不做前端就得做)如上所示,添加一个user,我们需要填充他的userName,userAccount,userAvatar等等,这里的字段就是前端的一些表单之类所要的。),提示信息(资源不存在?ErrorCode定义了不同错误的枚举,每个枚举都拥有自己的code,message,这将作为baseResponse 企图返回的错误。更符合DDD的模块设计。原创 2023-10-05 14:26:55 · 127 阅读 · 0 评论 -
java 项目里 自动生成唯一用户名
hutool的UUID雪花算法,可以分布式唯一随机UUID(高性能)定义一个用户名生成规则,包括用户名的长度、字符集和组成规则。Autowired自动装配(但不能自动装配static的)遇到问题:springboot 普通类怎么使用DAO。检查生成的用户名是否已存在,如果存在则重新生成。将生成的用户名保存到数据库或其他持久化存储中。配合RandomStringUtils等工具包。生成随机字符串作为用户名。原创 2023-09-24 14:37:49 · 1560 阅读 · 1 评论 -
初学servlet,idea中写servlet+jdbc
用idea从0到1写一个servlet+jdbc原创 2023-01-25 01:38:31 · 387 阅读 · 0 评论 -
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 · 918 阅读 · 0 评论