自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

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

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

2024-05-22 21:56:25 386

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

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

2024-05-15 23:58:11 176

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

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

2024-05-14 22:41:28 279

原创 Uncaught InternalError: too much recursion

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

2024-05-14 14:53:26 258

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

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

2024-05-11 16:28:04 382

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

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

2024-05-10 20:36:32 845 1

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

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

2024-04-28 20:38:42 247

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

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

2024-04-15 22:53:38 271

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

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

2024-04-08 21:41:11 369

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

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

2024-04-03 10:38:55 679

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

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

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

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

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

2024-03-10 02:57:57 721

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

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

2024-02-06 19:21:41 651

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

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

2024-01-29 15:26:27 804 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 1096

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

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

2024-01-18 14:59:58 1047

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

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

2024-01-18 04:10:25 1827

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

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

2024-01-06 15:08:39 890

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

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

2024-01-05 15:37:36 1284

原创 如何计算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 533

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

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

2023-12-16 23:40:36 5382

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

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

2023-12-16 20:54:36 472

原创 php入门、安装wampserver教程

php入门、安装wampserver教程

2023-12-15 22:53:43 1451

原创 Jquery easyui异步提交表单的两种方式

这篇文章分享一下easyui常用的两种表单异步提交的方式。

2023-12-07 17:37:14 396

原创 IntelliJ IDEA开启git版本控制的简单教程

这篇文章想要分享一下怎么在IntelliJ IDEA开启版本控制,博主使用的是gitee,首先需要安装git,关于git的安装这里就不介绍了,很简单。

2023-12-07 17:14:01 901

原创 IntelliJ IDEA创建springboot项目时不能选择java8的问题解决方案

最后点击刷新maven,问题不就解决了,其实idea并限制不了我们用什么java版本,只是你在创建项目的时候就已经认为java8已经不可用。最近博主也有创建springboot项目,发现了IntelliJ IDEA在通过Spring Initilizer初始化项目的时候已经没有java8版本的选项了。那么,难道idea就真的用不了java8了吗,很显然,答案是否定的。如图,现在创建springboot项目的时候,java版本只有17和21两个选项,刚好今天晚上有刷到关于这个问题的文章。

2023-12-02 03:48:28 15866 6

原创 通过easyexcel实现数据导入功能

上一篇文章已经实现了简单的数据导出功能,这篇文章也介绍一下怎么通过从easyexcel中导入数据。首先,需要在实体类中添加需要导出的字段,@ExcelIgnore注解表示该字段不会被导出到excel,当然,导入的时候也不会读这个字段。

2023-11-20 15:27:31 1471

原创 java接收前端easyui datagrid传递的数组参数

java接收前端easyui datagrid传递的数组参数

2023-11-16 12:38:21 640

原创 下载文件时的文件名中文乱码问题,文件名丢失

一般这种情况下可能会无从下手,F12打开控制台看一下,发现后端设置的响应头。Content-disposition的文件名乱码了!涉及到的java代码如下,下载的时候文件名为中文。最终解决方案:使用utf-8格式对文件名进行编码。然后下载很快,但是文件名没有了。文件的内容也是正常的。

2023-11-14 18:36:45 416

原创 通过easyexcel导出数据到excel表格

这篇文章简单介绍一下怎么通过easyexcel做数据的导出,使用之前easyui构建的歌曲列表crud应用,添加一个导出按钮,点击的时候直接连接后端接口地址,在后端的接口完成数据的导出功能。代码已经同步到后端项目的springbooot-crud1.0分支,可按需获取~参考官网的案例代码,完成后端controller接口具体代码实现。springboot+mybatis实现简单的增删查改案例项目。修改实体类,添加列注解。

2023-11-11 16:32:09 453

原创 前端和空字符串、零比较时请务必使用===

这就导致了editingId为0的时候,if分支并没有执行,而我的本意是当editingId不是空也不是空字符串的时候执行分支,这种问题常常会被忽略。这也是为什么IntelliJ IDEA在我们使用==和!=判断时会警告,你可以不理这个警告,但是这可能成为你程序潜在的bug。如果不关心两个变量的类型是不是一样,使用parseInt()将其强转为int类型,然后通过===比较。所以,前端的值比较尽量要用===,防止js偷偷帮我们转换类型。在前端开发中遇到一个问题,以下两条语句的结果都是true。

2023-11-11 15:19:43 101

原创 HBuilderX使用代码托管功能,安装git插件

HBuilderX是前端开发人员可能经常会用的开发工具,有很好的语法提示和检查,今天就介绍一下HBuilderX中怎么才能提交代码到git仓库上。

2023-11-10 10:15:50 4257

原创 使用easyui前端框架构建一个crud应用(看完这篇就够了)

easyui是博主最喜欢的前端框架,因为它提供了多种主题和圆润好看的各种组件。这篇文章将会详细地介绍easyui前端框架的使用,通过创建一个crud应用来帮助大家快速掌握easyui的使用。

2023-11-09 15:08:00 1402

原创 Spring Security入门教程,springboot整合Spring Security

Spring Security入门教程,springboot整合Spring Security

2023-11-05 23:23:49 283

原创 自定义SpringMVC拦截器,实现内外网访问控制功能

这篇文章简单介绍如何自定义一个SpringMVC拦截器,并通过拦截器实现具体的功能。首先,需要创建一个自定义的拦截器类,该类实现。HandlerInterceptor接口。然后把拦截器注册到SpringMVC。

2023-11-04 03:50:24 281

原创 javascript的webstorage数据存储问题,不能直接存undefined

这篇文章分享一下自己使用sessionStorage遇到的一个小问题,以后遇到要避坑。需求是easyui表格的单元格编辑,点击保存的时候会结束当前行的编辑,然后修改editingId(当前编辑行记录的ID)。

2023-10-31 20:29:03 158

原创 mybatis学习笔记,使用mybatis的几种方式

随着springboot的出现,绝大多数开源框架和中间件都可以通过springboot来整合,并且使用起来非常简单,但是,今天要介绍的是mybatis原生的使用方法。并且分享一下在结合官网学习过程中遇到的问题。

2023-10-25 13:56:52 271 2

原创 fastjson对象序列化的问题

既然如此,不让转换类型,那就不转了呗,其实返回值的类型并不影响前端页面的数据渲染,所以把接口返回类型改为Object,问题完美解决~最后通过debug发现其实其实通过下面代码解析得到的对象的结构和AdvancedProperty是一样的。今天偶然遇到一个fastjson将字符串反序列化为一个对象的时候的问题,就是简单的通过。com.alibaba.fastjson.JSON将对象转为字符串。然后在查询数据的时候发生了类型转换异常。涉及的代码也非常简单。

2023-10-24 18:27:22 312

原创 kafka安装和使用的入门教程

这篇文章简单介绍如何在ubuntu上安装kafka,并使用kafka完成消息的发送和接收。

2023-10-15 14:13:04 1548

原创 CopyOnWriteArrayList详解

因为我们java的util包下的常用集合类java.util.ArrayList、java.util.HashMap都是非线程安全的,虽然Vector和Hashtable是线程安全的,但是因为大部分方法都是通过synchronized关键字修饰,性能太低。于是,从jdk1.5开始,java开发者提供了性能更高的线程安全类ConcurrentHashMap和CopyOnWriteArrayList。

2023-10-14 06:09:49 642

空空如也

空空如也

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

TA关注的人

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