自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(175)
  • 收藏
  • 关注

原创 解决上传图片后图片回显的缓存问题

今天在重构项目的时候,发现上传图片之后,因为后台返回的图片地址和原来的一样,回显的图片没有改变,而是显示浏览器缓存的旧图片。这是图片上传工具类的上传图片的代码,在图片路径后面拼接了当时间戳,这样浏览器就不会从缓存中获取图片了,而是获取最新的图片~从根本上解决这个问题就是在图片路径带上一个时刻变化的参数,比如当前时间的时间戳。

2024-08-23 18:24:09 228

原创 解决javascript跨页面传参中文字符时的“乱码”问题

最后通过encodeURIComponent()和decodeURIComponent()方法解决了这个乱码问题~今天发现了项目的一个搜索的问题,在当前页面搜索商品,然后把输入的商品名传到另外一个页面显示查询结果。搜索的页面代码,直接把参数name通过get传参的方式带参跳转到商品列表页面。结果发现参数貌似乱码了~在商品列表解析地址栏参数。

2024-08-07 10:25:50 260

原创 根据类上的注解信息生成创建表的SQL语句

定义一个实体类,在字段上使用knife4j的接口文档注解@ApiModelProperty注解指定字段名。

2024-06-28 18:22:01 445

原创 easyui的topjui前端框架使用指南

博主今天也是第一次点开easyui的商业搜权页面,之前虽然一直在使用easyui前端框架(easyui是我最喜欢的前端ui框架),但是都是使用的免费版。然后就发现了easyui的开发公司居然基于easyui开发出了一个新的前端框架,于是我迫不及待地分享给了大家~

2024-06-27 19:11:20 636

原创 Spring Session将HttpSession保存到Redis中,实现重启应用会话不丢失

这篇文章介绍一下在springboot项目中整合Spring Session,将session会话信息保存到Redis中,防止重启应用导致会话丢失。

2024-06-24 23:56:03 318

原创 使用自定义的shiro密码匹配器CredentialsMatcher完成密码验证

CredentialsMatcher的接口,这个接口的中文含义就是密码匹配器,而shiro默认通过其实现类。SimpleCredentialsMatcher来进行输入的密码和数据库的密码的比较(简单的等值比较)。然后神奇的事发生了,当密码输入错误的时候,居然会登录失败,我们并没有写对比密码的代码。一般在这里,我们会根据用户输入的用户名/手机号等查询数据库,然后把查询的结果封装成。我们使用shiro的API登录时,会先创建一个令牌对象,而经常用的令牌对象是。当数据库存储的密码不是明文时,就不能使用默认的。

2024-06-24 02:37:36 408

原创 怎么处理整合了shiro的应用的RPC接口鉴权问题

在服务生产者项目pms中定义一个过滤器PermsFilter,名字见名知义,就是shiro的perms过滤器。重写shiro的perms过滤器(PermissionsAuthorizationFilter)的鉴权方法,先判断请求头是否为指定的值,如果是就跳过鉴权,直接返回true。这样就避免了其他应用访问本应用的接口导致的鉴权失败问题了~/*** 定义PermsFilter过滤器(覆盖shiro的perms过滤器)*/@Slf4j@Overrideif (perms!

2024-06-22 03:17:44 590

原创 Java web项目注册过滤器的两种方式

这篇文章分享一下Java web项目中注册过滤器的两种方式,经常用的是第二种,第一种应该很少人用过吧~

2024-06-22 02:51:14 285

原创 jquey+mybatis-plus实现简单分页功能

这篇文章介绍一下怎么通过JQuery结合mybatis-plus的分页插件实现原生HTML页面的分页效果,没有使用任何前端框架,主要是对前端知识的应用。

2024-06-18 15:21:56 319

原创 怎么取消Intellij IDEA中的项目和Git仓库的关联

这篇文章分享取消已经开启代码控制的项目与git仓库的关联的一种最简单的方法。

2024-06-07 16:40:03 1242

原创 分享一个简单的文件下载器

抽空写了一个用于下载文件的控制器类,只需要把文件的路径通过参数name传递到后台即可完成文件下载到本地,非常方便~

2024-06-06 20:32:52 259

原创 windows上安装MongoDB,springboot整合MongoDB

springboot有整合了MongoDB的依赖,直接在项目的pom.xml中引入,版本和springboot版本一致。

2024-06-04 22:32:51 1348 2

原创 windows上安装jdk1.8

windows上安装jdk1.8

2024-06-03 20:10:47 1008

原创 在windows操作系统上安装MariaDB

最近收到关于数据库在哪里看的评论,所以就一不做二不休,把安装数据库的步骤写一篇文章吧。这篇文章介绍如何在windows上完成MariaDB-10.6.5版本的安装,对应MySQL-8.x版本。

2024-06-03 19:45:59 1198

原创 阿里云ECS服务器怎么设置时区

在自己部署在阿里云服务器上的应用中,控制台打印的日志时间和本地不一致,于是决定修改阿里云服务器的时区为Asia/Shanghai。

2024-05-26 15:24:36 347

原创 子线程无法访问父线程中通过ThreadLocal设置的变量

学习过ThreadLocal的童鞋都知道,在子线程中,是无法访问父线程通过ThreadLocal设置的变量的。InheritableThreadLocal就是为了解决这个不可见问题而生的~

2024-05-26 11:59:38 243

原创 关于在子线程中获取不到HttpServletRequest对象的问题

这篇文章主要分享一下项目里遇到的获取request对象为null的问题,具体是在登录的时候触发的邮箱提醒,获取客户端ip地址,然后通过ip地址定位获取定位信息,从而提示账号在哪里登录。总结:遇到这类问题,就把获取request对象的代码放在主线程中,避免因为ThreadLocal的缺陷导致程序异常。

2024-05-26 03:18:52 487

原创 关于redis设置的密码不生效问题

今天申请了阿里云使用3个月的服务器,于是想在服务器上部署一下自己的项目,但是吸取了上次的教训,再也不敢随便开放redis的端口号了,就算要开放redis的端口,也要设置密码,保证不会被挖矿病毒通过redis入侵服务器,导致服务器资源都被浪费在搬砖。于是,就遇到了在Ubuntu操作系统中,尝试了好几次,设置的密码都不生效的问题。发这篇文章,就是为了帮战和我一样不知所措的童鞋,看完这篇文章,希望你能豁然开朗。

2024-05-22 21:56:25 1840

原创 在springboot项目中自定义404页面

很简单,在我们的springboot的静态资源目录下创建一个error包,然后在/error下面创建一个文件404.html。今天点击菜单的时候不小心点开了一个不存在的页面,然后看到浏览器给的一个默认的404页面。后端的程序员都觉得这页面太丑了,那么怎么能自定义404页面呢?为了偷懒,直接把那个默认页面复制下来了,然后再加一点简单的字~

2024-05-15 23:58:11 234

原创 怎么得到所有大写字母/小写字母组成的字符串

有时候,可能需要获取a~z、A~Z组成的26个字母的字符串,这篇文章介绍一种简单的方法。只需要几句简单到不能再简单的代码!你不会还在傻傻地一个个字母敲吧~

2024-05-14 22:41:28 319

原创 Uncaught InternalError: too much recursion

第一次触发onClose事件是点击确定按钮的时候,saveChange()方法的最后一句代码主动关闭对话框。但是经过我三分钟的思考,发现原来是因为onClose()事件被反复触发了,导致页面卡顿。今天在敲代码的时候偶然间发现项目因为一次操作导致浏览器变得非常卡,而且控制台还报错了。突如起来的报错和页面异常卡顿给我整不会了ovo,点开报错的地方,直接跳转到对应的代码。问题找到了,把绑定的onClose()事件删掉,问题完美解决~看到这个代码,我愣了一下,这怎么会报错呢?

2024-05-14 14:53:26 502

原创 清理缓存简单功能实现

在程序开发中,经常会用到缓存,最常用的后端缓存技术有Redis、MongoDB、Memcache等。而有时候我们希望能够手动清理缓存,点一下按钮就把当前Redis的缓存和前端缓存都清空。功能非常简单,创建一个控制器类CacheController,并提供一个post请求的接口/cache/clean供用户使用。

2024-05-11 16:28:04 485

原创 Java通过百度地图API获取定位-普通IP定位

上面的代码已经是进行了一定的优化,除此之外,可以把AK和SK配置到application.yml中,可以动态地修改。最后重命名一下这个类,改成类似LocationUtils这样的名字。t=N7T8百度地图开放平台 | 百度地图API SDK | 地图开发https://lbsyun.baidu.com/index.php?

2024-05-10 20:36:32 2802

原创 使用MyBatis-Plus构造的SQL语句错误导致查询的数据不正确的问题

为了解决这个问题,又去MyBatis-Plus源代码里看了一下有没有类似的方法可以给and条件里的多个条件加上一对括号。但是查询的时候的条件构造器是这样写的(不知道当时写代码的时候,自己是咋想的oVo)上面的代码导致了查询的数据和实际的数据不一致,因为上面的sql语句对应是这样的。最后发现:MP果然给我们提供了条件嵌套的两个方法。最后,经过了几次踩坑终于把SQL语句构造好了~

2024-04-28 20:38:42 379

原创 Java怎么获取今天最早的时间

今天在实现项目里的一个功能的时候,需要获取今天最早的时间,比如今天是2024-4-15,则今天的开始时间为2024-4-14日24点之后(2024-4-15零点)的那个时间点。很简单,通过LocalDateTime.now()获取当前时间,然后用这个时间分别减去当前时间的。

2024-04-15 22:53:38 410

原创 分享一下项目中遇到的排序失效问题

今天把原来的一个查询接口的业务代码进行了优化,减少了十几行冗余的代码。

2024-04-08 21:41:11 435

原创 个人推荐Redis比较好的一种使用规范

随着对个人项目的不断开发、迭代和重构,博主在这个过程中总结出了一套使用redis的较好的规范。主要包含Redis的key命名规范和Redis代码规范。

2024-04-03 10:38:55 811

原创 搭建nacos集群,并通过nginx实现负载均衡

nacos、eureka、consul、zookeeper等都是常用的微服务注册中心,这篇文章详细介绍一下在Ubuntu操作系统上搭建一个nacos的集群,以及通过nginx的反向代理功能实现nacos的负载均衡。首先,需要一台安装了Ubuntu系统的服务器或者虚拟机。

2024-03-10 21:59:22 4068 4

原创 Redis保证数据一致性-延时双删代码实现

Redis和数据库的数据一致性在某些场景下非常重要,如何最大程度保证Reids和数据库之间的数据一致呢?想必大家第一时间会想到延时双删策略:在修改数据库之前删除缓存,然后数据库中的数据修改完成后,再过一段时间再删一次缓存。这篇文章就如何实现延时双删提供了案例代码,代码可能不是最优的,但是确实能够达到双删的效果。

2024-03-10 02:57:57 1598

原创 SpringBoot整合Knife4j接口文档生成工具

一个好的项目,接口文档是非常重要的,除了能帮助前端和后端开发人员更快地协作完成开发任务,接口文档还能用来生成资源权限,对权限访问控制的实现有很大的帮助。这篇文章介绍一下企业中常用的接口文档工具Knife4j(基于Swagger实现)的使用。

2024-02-06 19:21:41 990

原创 request to https://registry.npm.taobao.org/vue-loader failed, reason: certificate has expired

今天在安装vue项目的依赖时,使用npm命令报错了,说是原来设置的源镜像网站的证书过期了。如图,修改之后npm命令正常执行~

2024-01-29 15:26:27 1300 1

原创 消除Intellij IDEA的Not annotated parameter overrides @NonNullApi parameter警告

只需要在convert()方法的参数上添加@NonNull注解即可(注意:是org.springframework.lang.NonNull,不要导入错了)这是一个Spring的转换器,在重写Converter的convert()方法时,idea给这个方法增加了警告提示。强迫症看了直呼受不了,那么怎么样消除这个警告呢?如图,已经没有黄色的警告了~

2024-01-19 17:27:40 1952

原创 easyui渲染隐藏域<input type=“hidden“ />为textbox可作为分割条使用

最近在修改前端代码的时候,偶然发现使用javascript代码渲染的方式将渲染为textbox时,会显示一个神奇的效果,这个textbox输入框并不会隐藏,而是显示未一个细条,博主发现非常适合用来当分割条使用。于是页面变成了这样,我还寻思这条红色的线哪来的。于是,他就成了我项目中的统一分隔条了~

2024-01-18 14:59:58 1174

原创 分享一个基于easyui前端框架开发的后台管理系统模板

这是对本系统的一些简单的功能介绍。前面已经对这个系统做了一些简单的介绍,接下来介绍一下博主经过多次实践产出的一部分公共的Java代码,可以直接使用。

2024-01-18 04:10:25 2680

原创 在Flyway执行数据库脚本之前创建数据库

Flyway让我们不用手动执行sql脚本,但是众所周知,前提是要先创建项目的数据库。为了能够让运维的同事再偷一次懒,通过代码来自动完成数据库的创建,于是有了这篇文章的分享~

2024-01-06 15:08:39 983

原创 使用HttpSession和过滤器实现一个简单的用户登录认证的功能

这篇文章分享一下怎么通过session结合过滤器来实现控制登录访问的功能,涉及的代码非常简单,通过session保存用户登录的信息,如果没有用户登录的话,会在过滤器中处理,重定向回登录页面。创建一个springboot项目,添加springbooot-starter-web和lombok的依赖。创建对应的实体类、controller、service,并创建两个简单的html页面测试过滤器的效果。

2024-01-05 15:37:36 1322

原创 如何计算2的n次方

我的第一反应是java.util.Math有一个pow(a, b)方法,就是求a ^ b,但是由于很少用这个方法,居然参数是float类型的。得出纹饰等级grade和纹饰评分score的关系:score = (2 ^ grade) * 10,所以就遇到了要求2的N次方的问题。于是只能另寻他法了,于是在百度的时候我突然想起了位运算,2是特殊的数字,一个数字要扩大2^N呗,只需要左移N位。

2023-12-17 07:16:10 564

原创 PhpStorm下载、安装、配置教程

前面的文章中,都是把.php文件放在WampServer的www目录下,通过浏览器访问运行。这篇文章就简单介绍一下PhpStorm这个php集成开发工具的使用。

2023-12-16 23:40:36 10777

原创 php查询数据库,并通过表格展示

php查询数据库,并通过表格展示

2023-12-16 20:54:36 721

原创 php入门、安装wampserver教程

php入门、安装wampserver教程

2023-12-15 22:53:43 2084

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除