自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 使用CompletableFuture时SecurityUtils.getUsername()取不到值 / 线程上下文传递

【摘要】本文分析了CompletableFuture.runAsync()任务中无法获取ThreadLocal存储的安全上下文问题,指出这是由于线程切换导致ThreadLocal数据丢失。提供了两种解决方案:1)手动传递上下文或通过参数传递所需数据;2)改用Spring的@Async注解配合TaskExecutor配置,自动传递安全上下文。特别强调了两种方式都需要注意线程池配置,@Async使用时需遵循public方法、跨类调用等规范,并提供了异常处理建议。最后提醒无论哪种方案都应避免使用默认线程池,推荐自

2025-11-28 11:36:41 678

原创 Java通用树形结构构造方法

本文提出了一种通用树形结构构建方法,适用于处理不同表结构的树形数据。该方法采用泛型设计和函数式编程,通过参数化提取函数(ID、名称、父ID等)来适配不同表结构。实现包含两个主要步骤:1)将节点存入映射表;2)构建父子关系树形结构。方法支持提取额外描述信息并返回树形结构和文本内容,具有高度灵活性和扩展性。代码示例展示了如何应用于医院科室表等不同结构的树形数据表。

2025-11-24 23:41:27 878

原创 maven打包问题/ClassNotFoundException异常

摘要:针对Maven打包后测试环境报ClassNotFoundException的问题,发现本地依赖的com.xxx.encrypt.Encrypt类未被正确打包。通过检查项目结构(基于若依框架)和POM配置,确认问题源于system范围的本地JAR包未包含在最终包中。解决方法是确保spring-boot-maven-plugin插件中配置<includeSystemScope>true</includeSystemScope>,强制包含系统依赖。该配置覆盖了Maven默认不打包sy

2025-11-11 23:46:39 1038

原创 400 badRequest

摘要:用户在调用修改密码接口时遇到400错误请求,发现前端通过URL传参导致含有特殊字符的密码无法正常传输。解决方法是将接口调整为使用@RequestBody接收Map参数,让前端通过请求体传参。该方案能有效避免特殊字符导致的URL解析问题,适用于密码、邮箱等可能包含特殊字符的参数传递场景。修改后的接口支持更安全可靠的数据传输方式。

2025-11-11 23:35:43 167

原创 Java多线程

线程(Thread)是一个程序内部的一条执行流程i < 10;i++) {程序中如果只有一条执行流程,那这个程序就是单线程程序。

2025-10-27 00:10:18 307

原创 RuoYi/ExcelUtil修改(导入excel表时,表中字段没有映射上数据库表字段)

文章摘要:Ruoyi框架中使用ExcelUtil工具类时,遇到导入数据时表格列值与数据库字段不一致的问题。主要原因是Excel表头值与@Excel注解name属性存在空格差异,导致无法正确匹配。解决方法包括:1.提供规范模板下载;2.修改ExcelUtil代码,在importExcel方法中增加表头值去空格处理,并优化匹配逻辑,通过遍历cellMap查找可能匹配的表头(如包含空格的情况)来提高容错性。关键修改点在处理表头值时调用StringUtils.trim()去除前后空格,并完善字段匹配机制。

2025-10-21 22:47:33 402

原创 ruoyi框架增加消息提醒:登陆提示/通知条/小红点

本文介绍了在Ruoyi框架中实现三种消息提醒功能的方法:系统提示、顶部通知条和小红点提醒。系统提示通过登录成功后的弹窗实现;顶部通知条采用自定义组件NoticeBar,通过定时轮询展示公告信息并支持点击跳转;小红点功能通过定时轮询获取未读消息数量,在指定位置显示提示标识。文章提供了详细的代码实现方案,包括前端组件修改、定时请求逻辑和界面样式调整,帮助开发者快速为Ruoyi框架添加消息提醒功能。

2025-10-15 00:31:34 555

原创 Java程序在服务器上执行脚本命令

本文介绍了Java程序在服务器上执行脚本命令的核心技术方案。通过Java标准库中的ProcessBuilder类实现跨平台脚本执行,可自动识别Windows/Linux系统并调用对应的命令解释器(cmd/bash)。工具类ShellUtils提供了三个核心方法:1)获取适合当前系统的脚本执行器;2)执行脚本并返回状态码;3)执行命令并返回详细结果(包括输出内容和退出码)。方案特别处理了字符编码问题(UTF-8)和错误流合并,避免中文乱码和进程阻塞,并提供了完善的异常处理机制。测试示例展示了如何在Mac系统上

2025-10-10 00:53:04 949

原创 sql报错:java.sql.SQLSyntaxErrorException: Unknown column ‘as0‘ in ‘where clause‘

SQL报错"Unknown column 'as0'"是因为WHERE子句中使用了SELECT定义的别名。由于SQL执行顺序,WHERE在SELECT之前执行,此时别名尚未识别。解决方法:1)使用原始表达式代替别名;2)使用HAVING子句处理分组后的过滤,HAVING可以识别SELECT中定义的别名,但必须放在GROUP BY之后。推荐使用HAVING方式,逻辑更清晰且符合SQL执行顺序。

2025-10-09 22:45:05 335

原创 WebClient工具调用HTTP接口报错远程主机断开连接

摘要:当使用WebClient工具频繁发送HTTP请求时出现"远程主机断开连接"错误,原因是默认使用长连接导致复用失效的连接。解决方案是配置WebClient为短连接模式,通过禁用TCP keep-alive、设置超时参数等,强制每次请求建立新连接。关键配置包括创建新的ConnectionProvider、关闭SO_KEEPALIVE选项,并设置合理的连接和读写超时时间,适用于不支持长连接的服务端场景。

2025-10-08 22:33:06 359

原创 SVN忽略文件不生效

摘要 在IDEA中运行SVN管理的项目时,出现大量未版本控制的class文件。尝试通过TortoiseSVN和配置忽略文件均未成功,最终在IDEA的设置中解决了问题。具体操作方式是通过IDEA的版本控制设置将class文件排除在版本管理之外,有效解决了unversioned files显示问题。

2025-09-24 00:03:12 340

原创 IDEA新建SpringBoot项目时没有低版本Java选项

摘要:Spring3x版本不支持低版本Java,解决方法是将服务器URL从默认的https://start.spring.io切换为阿里云的https://start.aliyun.com。这个替代方案支持低版本Java环境,通过修改配置即可解决兼容性问题。操作简单,只需更改初始化URL地址即可继续开发。

2025-09-23 22:21:46 421

原创 net::ERR_EMPTY_RESPONSE

1.这个报错很宽泛,有很多种可能性,csdn和其他网站的博客提供的方法都是试过,没有效果。2.后端还有其他地方也请求了其他模块接口,功能是正常的,唯一不同的是。Java后端封装一个接口,透传前端参数,请求到其他模块服务。1.前端报错,F12检查,network上的请求,返回。原因我现在也不知道,有知道的大佬麻烦评论一下解惑。本地开发环境联调时是没有问题,测试环境上报错。2.后端看服务器日志。

2025-09-09 21:49:01 675

原创 mac安装Java开发环境

输入 Y,然后设置你的 root 密码(建议包含大小写 + 数字 + 符号,如 Root@123456),输入时终端不显示,输完按回车即可。输入 Y(默认禁止 root 远程登录,本地开发足够,如需远程再后续配置)。如需临时启动(不设置自启),可使用:mysql.server start。Java17之前的版本需要登陆账号,最新的版本是免费的,下载最新即可。输入刚设置的密码,成功进入 MySQL 命令行即表示安装完成。输入 Y(删除默认的 test 数据库,减少冗余)。直接按回车(因为初始状态无密码)。

2025-09-08 23:04:31 1302

原创 Java后端对接微信支付,简易测试支付方法

本文介绍了Java后端对接微信支付v2版本JSAPI支付的实现方法,主要包括支付流程原理和测试步骤。支付流程需要后端提供两个接口:生成预付单的unifiedorder接口和支付成功后的回调back接口。重点说明了回调接口验证的难点,需要前端配合、微信环境和公网地址。文章提供了详细的前端测试代码模板,包含支付参数验证、日志记录等功能,帮助开发者快速验证支付流程。测试步骤包括验证预付单ID获取和回调接口功能,其中回调验证需要完整的前端支付环境支持。

2025-08-10 21:39:15 551

原创 Java对接支付宝,回调验签失败

本文总结了Java对接支付宝时回调验签失败的解决方案。关键点包括:1) 根据SIGN_TYPE(RSA/RSA2)选择正确的验签方法;2) 处理乱码问题时,应在request.setCharacterEncoding("UTF-8")设置请求编码,避免在参数解析阶段进行编码转换。重点指出:手动进行ISO-8859-1到UTF-8的转换会破坏原始数据字节序列,导致验签失败。建议通过正确设置请求编码来避免乱码,而非在参数解析后二次转换。文章通过对比说明编码转换对验签的影响机制,强调保持原始数

2025-08-10 16:24:57 1016

原创 内网穿透:NATAPP使用

本文介绍了内网穿透技术及NATAPP工具的使用方法。内网穿透通过中间服务器实现外网访问内网服务的目的。文章详细说明了NATAPP的下载安装、账号注册、隧道购买与配置过程。使用方式包括直接运行命令(natapp -authtoken=)或通过配置文件启动。成功运行后,用户可通过外网域名访问本机服务接口,方便进行本地开发调试。操作步骤配有截图说明,提供了完整的内网穿透解决方案。

2025-08-10 15:49:31 349

原创 Mybatis-Plus配置扫描mapper及分页插件

本文介绍了MyBatis-Plus的配置和使用方法。配置类中通过@MapperScan扫描mapper接口,并定义分页拦截器支持MySQL分页。分页原理是将参数存入ThreadLocal,拦截SQL并重写为分页查询。使用示例展示了如何通过PageParams设置分页参数,PageResult封装返回结果,包括数据列表、总记录数、页码等信息。最终通过selectPage方法实现分页查询,并将结果封装到PageResult对象返回。该方案简化了分页查询的实现过程。

2025-07-21 22:49:31 288

原创 RuoYi配置多数据源失效

摘要: 在配置RuoYi多数据源时遇到切换失效问题,表现为Service方法中部分操作使用错误数据源。通过添加表名注解、验证其他数据源和日志分析,发现当Service1调用其他数据源Service2后,再返回Service1会导致数据源切换回默认源。解决方案是确保每个Service仅处理自身数据源操作,避免在跨数据源调用后返回原Service,防止数据源意外切换。

2025-07-21 22:35:32 915

原创 若依开源框架相关

ruoyi框架分页插件失效

2025-07-21 21:43:25 287

原创 学成在线项目

解决跨域问题

2025-07-20 23:27:34 150

原创 解决跨域问题

通过script标签的src属性进行跨域请求,如果服务端要响应内容则首先读取请求参数callback的值,callback是一个回调函数的名称,服务端读取callback的值后将响应内容通过调用callback函数的方式告诉请求方。出这个提示的原因是基于浏览器的同源策略,去判断是否跨域请求,同源策略是浏览器的一种安全机制,从一个地址请求另一个地址,如果协议、主机、端口三者全部一致则不属于跨域,否则有一个不一致就是跨域请求。浏览器判断是跨域请求会在请求头上添加origin,表示这个请求来源哪里。

2025-07-20 23:25:47 357

原创 npm install报错

报错说明:SSH 协议访问 GitHub 仓库时,身份验证失败。如不行,得自己再找找原因,欢迎评论区留下解决方式。我遇到的进需要上述操作,更换为http即可解决。

2025-06-15 23:39:26 561

原创 数据库相关操作

本文总结了Redis、MySQL和Oracle三种数据库的常用操作。Redis部分介绍了DEL和KEYS命令的键操作;MySQL重点讲解了索引管理(查看/创建/删除)和EXPLAIN分析查询性能;Oracle详细说明了表备份/恢复、正则表达式提取、字符串定位、随机查询、日期区间查询等实用功能。这些操作包含了日常数据库维护和优化的关键技巧,涉及索引优化、数据查询、模式匹配等多个方面。

2025-06-15 22:46:45 664

原创 ruoyi框架分页插件失效

项目基于若依框架,开发编写接口,返回数据用若依的,但是后续反馈分页有问题。total显示的总数不对,而是变成了。

2025-06-10 21:39:03 475

原创 el-upload组件,上传文件失败,:on-error方法失效

el-upload组件方法失效问题及解决方案 问题现象:使用el-upload组件上传文件时,后端抛出异常(响应码500),但前端无法触发on-error回调,导致无法显示错误提示。 原因分析:项目后端封装处理响应,即使抛出异常也返回200的HTTP状态码,仅将响应体中的code字段设为500。el-upload组件无法识别这种异常情况。 解决方案: 在on-success回调中手动判断响应码 检查响应体中的code字段是否为非200状态 通过F12开发者工具确认实际响应结构 关键代码: if (respo

2025-06-10 21:15:10 1097

原创 ssm项目连接oracle数据库报错:dependency: com.oracle:ojdbc14:jar/ClassNotFoundException: oracle.jdbc.driver

SSM项目连接Oracle数据库出错问题排查与解决:项目运行时出现500错误,后台日志显示无法连接数据库。检查发现是Oracle驱动缺失问题,解决方案包括:1)检查项目lib文件夹,确认jar包引用正确;2)若Maven项目需将驱动jar安装到本地仓库,使用mvn install命令处理。文中详细说明了Oracle驱动许可限制带来的特殊处理需求,并提供了具体操作步骤。最后附上相关参考链接供进一步查阅。

2025-06-05 23:55:37 575

原创 仓库拉下ssm项目配置启动

摘要:本文介绍了SSM项目从仓库拉取后的配置启动步骤。主要包括:1)准备阶段需确认Tomcat版本并部署,检查数据库配置文件(MySQL/Redis)的连接信息,验证jar包是否完整引入;2)配置阶段通过IDEA设置Tomcat路径,配置Application Server和上下文路径(Artifact),最后通过生成的URL访问项目。配置过程中需注意远程/本地数据库连接设置,并处理IDE自动提示的上下文修复问题。

2025-06-05 23:54:19 426

原创 初始化已有项目仓库,推送远程(Git)

Git基础操作指南 简要介绍Git的基本使用流程:首先通过git init初始化本地仓库,然后使用git add .添加所有文件到暂存区,用git commit -m提交更改。接下来关联远程仓库(git remote add origin),最后用git push将代码推送到远程主分支。这些命令构成了Git版本控制的基础工作流。

2025-06-03 23:31:02 234

原创 vue前端downloadFile报错:Error parsing HTTP request header;java.lang.IllegalArgumentException

摘要:生产环境出现点击下载功能后界面卡死的问题,检查发现是附件下载接口因文件名含特殊字符返回400错误导致前端loading状态未重置。日志显示请求路径中的中文文件名编码后仍不符合RFC规范。解决方案是前端使用encodeURIComponent()对文件名进行URL编码,确保特殊字符正确传输。修改后问题解决,同时需注意后端需对应解码。这类问题通常在容器层直接拦截,不会进入业务代码。(150字)

2025-05-28 21:00:20 1120

原创 vue修改配置文件.env.development不生效

修改Vue项目.env.development文件新增配置不生效的解决方案。新增VUE_APP_BASE_RECORD配置后,前端使用process.env访问时显示undefined。检查发现热部署未加载新配置,需重启前端项目才能使新增配置生效。

2025-05-28 20:35:11 683

原创 Vue快速上手(业务、技术、报错)

Vue+element-ui,实现表格渲染缩略图,鼠标悬浮缩略图放大,点击缩略图播放视频

2025-05-26 23:21:06 289

原创 VMware虚拟机CentOS7通过HTTP服务共享资源

本文详细介绍了在VMware虚拟机中搭建CentOS7系统并通过Nginx配置HTTP服务实现资源共享的全过程。主要内容包括:1) 虚拟机安装与网络设置,配置静态IP实现主机与虚拟机互通;2) 安装SSH服务并连接FinalShell进行远程管理;3) 部署Nginx服务,创建资源目录并配置自动索引;4) 设置防火墙规则,最终实现通过http://IP:port访问共享的图片、视频等资源。教程提供了详细的命令行操作和配置示例,特别适合需要快速搭建本地测试环境的开发者。

2025-05-26 22:19:45 1121

原创 Vue+element-ui,实现表格渲染缩略图,鼠标悬浮缩略图放大,点击缩略图播放视频(一)

本文介绍了使用Vue+Element-UI实现表格中渲染视频缩略图的功能方案。通过el-table-column和template实现条件渲染,当数据类型为视频时显示缩略图。主要技术点包括:1) 使用el-popover实现鼠标悬浮放大效果;2) 原生video标签实现视频播放;3) 通过自定义CSS样式美化播放控件;4) 实现播放/暂停状态切换和错误处理。文中提供了完整的template模板、JS方法和CSS样式代码,并特别说明了静态资源在不同项目中的引用方式差异。该方案实现了交互友好的视频预览功能,包括

2025-05-26 22:09:23 713

原创 上传文件处理报错Excel、Word。org.apache.poi.openxml4j.exceptions.OLE2NotOfficeXmlFileException

在处理上传文件时,遇到报错日志显示 OLE2NotOfficeXmlFileException,原因是使用了错误的 API 处理不同格式的 Excel 文件。.xls 文件应使用 HSSF 类处理,而 .xlsx 文件应使用 XSSF 类。手动修改文件后缀可能导致文件内容与后缀不匹配,进而引发错误。解决方案是通过文件签名和扩展名校验,确保文件格式与扩展名一致,并在代码中使用正确的处理类。此外,后端抛出异常时,前端未显示提示,需进一步排查前后端交互逻辑。

2025-05-22 00:04:15 1612

原创 Java基础

Java基础学习

2025-04-08 11:04:30 179

原创 SpringBoot项目发送邮件&邮箱配置

配置,这里展示的是网易邮箱,任何邮箱都是需要配置此处,可以自行查找配置。使用邮箱发送需要自行手动开通邮箱的。

2023-06-26 11:00:58 1748

原创 IDEA搜索快捷键

Ctrl+Shift+R 文本内容查找 全局。Ctrl+Shift+N 按文件名搜索文件。Alt+F7 查找类或方法在哪被使用。Shift+Shift 搜索任何东西。Ctrl+F 文本内容查找 在本页。Ctrl+H 查看继承类的关系。Ctrl+N 按名字搜索类。

2023-06-24 20:09:33 584

原创 Java过滤敏感词(String法/前缀树法)

两种代码对敏感词过滤,代码运行在SpringBoot项目下版本2.1.5,部分POM依赖。

2023-06-24 00:36:55 907

原创 Mybatis入门(SpringBoot项目,快速上手)

核心组件SqlSessionFactory:用于创建SqlSession的工厂类。SqlSession:MyBatis的核心组件,用于向数据库执行SQL。主配置文件:XML配置文件,可以对MyBatis的底层行为做出详细的配置。Mapper接口:就是DAO接口,在MyBatis中习惯性的称之为Mapper。Mapper映射器:用于编写SQL,并将SQL和实体类映射的组件,采用XML、注解均可实现。实际开发只需要注意4、5点,Spring整合了1、2、3MyBatis官网整合官网。

2023-05-23 12:50:50 405

空空如也

空空如也

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

TA关注的人

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