自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SpringBoot实现图形验证码

目录项目创建前端代码实现约定前后端交互接口需求分析接口定义Hutool工具实现服务器端代码引入依赖获取验证码验证码校验调整前端代码随着安全性的要求越来越高,目前许多项目中都使用了验证码,验证码也有各种类型,如 图形验证码、短信验证码、邮件验证码、人脸识别等,这些不同类型的验证码可以根据实际需求和安全性要求进行选择和应用,保护网站和用户免受恶意攻击在本篇文章中,我们来学习图形验证码的实现验证码的实现方式有很多,可以由前端实现,也可以由后端进行实现,也有很多的插件和工具包可以使用,在这里,我们使用 Hutool

2026-05-03 21:27:50 357

原创 Spring Boot 整合 log4j2 日志配置教程

在项目推进中,如果说第一件事是搭建 Spring 框架的话,那么第二件事情就是在 Sring 基础上搭建日志框架,此篇文章是博主在学习过程中使用 Spring Boot 搭建项目时整合 Log4j2 日志的总结共有8个级别,按照从低到高为:All < Trace < Debug < Info < Warn < Error < Fatal < OFF机制:如果一条日志信息的级别大于等于配置文件的级别,就记录All:最低等级的,用于打开所有日志记录。

2026-05-03 19:54:17 358

原创 Node.js实现WebSocket教程

WebSocket是一种在单个TCP连接上提供全双工通信的协议,允许服务器和客户端之间进行实时、双向通信。本教程将详细讲解如何在Node.js中实现WebSocket。

2026-05-03 18:23:15 72

原创 mysql中general_log日志详解

1.记录范围:这个log里面会记录MySQL所有的SQL语句,不管是查询语句,还是DML语句,还是DDL语句,还是DCL语句,这些语句统统都会被记录在general log文件中。就连我们连接和断开MySQL数据库的这些语句。2.记录顺序:MySQL会把它收到的所有SQL语句按照接收的顺序依次记录在general log中。

2026-05-03 16:52:46 219

原创 Java进阶07 嵌套类

嵌套类允许我们更好的组织类内部类实现了闭包转载于:https://www.cnblogs.com/ssjie/p/4754570.html。

2026-05-03 15:20:16 339

原创 FrankenPHP实践

它实际上是有两种运行模式:普通模式和worker模式,其中的普通模式类似于传统的LNMP容器,只是Nginx换成了Caddy Server,带来的提升并不特别明显。如果自建镜像扩展插件,需三思是否需要加Opcache,开启后 frankenphp 的watch功能(监控文件修改自动热启)将不能正常使用,但开启后,性能将提高40%左右。Frankenphp是一个先进的,结合了高性能Caddy服务器的PHP。,它允许用户只需要少量改动,就能让传统的php前端应用插上翅膀,享受到。

2026-05-02 14:25:58 352

原创 SpringBoot集成Elasticsearch 7.x spring-boot-starter-data-elasticsearch 方式

由 Spring 提供,是 Spring 在 ES 官方接口基础之上的二次封装,使用简单,易于上手;缺点是更新太慢,SpringBoot 2.2.x 才提供对 es7.x 的支持,版本关联性很大,不易维护;不过在此还是讲一下 starter 启动器下的 集成步骤,万一官方更新速度加快了呢。Java High Level Rest Client方式 去集成 Elasticsearch(这个是目前公司常用的方式)就要遵守 自定义方法命名规范【自定义方法命名约定】:/**

2026-04-21 09:37:35 322

原创 Spring Boot 整合 Druid 并开启监控

如果默认配置不能满足你的需求,你可以创建一个自定义的 Druid 配置类来覆盖默认设置。@Bean// 如果需要,可以在这里添加更多配置,如过滤器、拦截器等@Bean@Bean通过以上步骤,我们成功地在 Spring Boot 应用中集成了 Druid 数据库连接池,并开启了其监控功能。这不仅提高了数据库访问的效率,还为开发者提供了宝贵的调试和优化工具。希望这篇文章能够帮助你。

2026-04-21 07:16:38 323

原创 Nginx之rewrite重写功能

访问重写 rewrite 是 Nginx HTTP 请求处理过程中的一个重要功能,它是以模块的形式存在于代码中的,其功能是对用户请求的 URI 进行 PCRE 正则重写,然后返回 30× 重定向跳转或按条件执行相关配置。

2026-04-21 04:59:32 388

原创 mysql WITH的多种用法与示例

在一个查询中可以定义多个 CTE,并在查询的其他部分引用它们。这些 CTE 可以相互引用,按顺序处理。WITH非递归 CTE用于分解复杂查询。递归 CTE用于层级数据查询。嵌套 CTE可以组合多个步骤的查询。简化查询逻辑:分解复杂的 SQL 逻辑,使查询更清晰易懂。CTE 是复杂查询中不可或缺的工具,有助于使代码简洁且易于维护。WITH RECURSIVE 举例说明,表结构是id和pid的指向 大概有五层。

2026-04-21 02:43:16 388

原创 DBeaver连接本地MySQL、创建数据库表的基础操作

此篇已完善!

2026-04-21 00:25:41 49

原创 SQL 建表语句详解

通过本文的讲解,我们详细介绍了 SQL 中的建表语句,包括基本语法、数据类型、约束、示例等内容。希望读者能够通过这些内容更好地理解和掌握 SQL 建表语句的使用方法。在实际应用中,根据具体需求选择合适的数据类型和约束,可以有效地保证数据的完整性和一致性。

2026-04-19 18:33:21 209

原创 Springboot 整合 Quartz(定时任务框架)

Quartz是 OpenSymphony 开源组织在 Job scheduling 领域又一个开源项目,完全由 Java 开发,可以用来执行定时任务,类似于 java.util.Timer。持久性作业 - 就是保持调度定时的状态;作业管理 - 对调度作业进行有效的管理;

2026-04-19 15:41:48 229

原创 redis命令详解

也是默认的持久化方式,这种方式是就是将内存中数据以快照的方式写入到二进制文件中,默认的文件名为dump.rdb。Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。append key value 如果key存储的值是一个字符串,append命令将指定的value追加到key原来bvalue的末尾。Set 是 string 类型的无序集合。是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。

2026-04-19 13:03:34 211

原创 mysql查看binlog日志

修改数据目录配置文件 ,例:C:ProgramDataMySQLMySQL Server 8.0my.ini(可见:SHOW VARIABLES LIKE ‘log_bin%’;

2026-04-19 10:17:12 209

原创 Java进阶(ElasticSearch的安装与使用)

环境要求:node.js python2, jdk。测试结果(9100)

2026-04-19 01:45:29 201

原创 如何快速搭建简单SpringBoot项目网页

【代码】如何快速搭建简单SpringBoot项目网页。

2026-04-18 06:24:52 196

原创 【Spring】配置文件的使用

Value适合读取单个简单属性。适用于一组相关的属性,可以是集合或Map,能更好地组织属性。配置文件的内容可以灵活地根据需要进行管理和访问,使得Spring应用程序的配置更为集中和清晰。

2026-04-18 04:00:56 173

原创 SQL注入(SQL Injection)攻击原理与防御措施

SQL是一种代码注入技术,可使攻击者修改应用程序向数据库提供的查询。迄今为止,最常见和最严重的应用 程序安全威胁总是隐藏在与数据库有某些连接的网络应用 程序中。通过这种 SQL 注入,攻击者可以绕过登录程序,获取、更改甚至更新数据库,执行管理程序,或进行其他变种操作。要解释什么 是 SQL 注入,就必须了解 SQL 的一些基本原理。事实上,它已成为处理和虚拟操作这些数据库的通用语言。它用于查询、插入、更新和删除数据库记录,几乎所有网络应用程序都使用它来访问数据库;

2026-04-18 01:37:28 179

原创 SpringBoot有几种获取Request对象的方法

HttpServletRequest 简称 Request,它是一个 Servlet API 提供的对象,用于获取客户端发起的 HTTP 请求信息。例如:获取请求参数、获取请求头、获取 Session 会话信息、获取请求的 IP 地址等信息。那么问题来了,在 Spring Boot 中,获取 Request 对象的方法有哪些?常见的获取 Request 对象的方法有以下三种:通过请求参数中获取 Request 对象;通过 RequestContextHolder 获取 Request 对象;

2026-04-17 23:48:41 168

原创 SpringBoot3 整合 Mybatis 完整版

成功,至此,已经完成了 SpringBoot3 整合 Mybatis 的步骤。在 application.yaml 文件中添加mybatis的相关配置。当不指定 依赖版本的时候,会 由 springboot 自动管理。在 application.yaml 文件中添加数据源的信息。第三方的依赖库,需要明确的指定版本号。推荐使用最新的即可。结合表结构,创建普通的一个bean类。包含了普通属性,标准的下划线属性。, 指定要扫描的 mapper 接口的包路径。先写上吧,没有副作用。在 项目的 启动类上添加注解。

2026-04-17 23:16:28 42

原创 Spring Boot项目中解决跨域问题(四种方式)

当一个浏览器的两个tab页中分别打开来自百度和谷歌的页面,当浏览器的百度tab页执行一个脚本的时候会检查这个脚本是属于哪个页面的,即检查是否同源,只有和百度同源的脚本才会被执行。有四种方法解决跨域。我们还可以在Network里看到,浏览器在发送我们输入的用户名,密码等数据之前,还发送了一次OPTIONS的请求,这是浏览器自动发送的,为了验证是否允许跨域访问。*,这个在开发测试的时候可以这么设置,但如果是生产环境,建议不要设置成*,最好是允许哪些域名访问就设置哪些,毕竟限制域名还是很有必要的。

2026-04-04 05:57:36 409

原创 nacos2.3.0 接入pgsql或其他数据库

首先尝试使用官方插件进行扩展,各种报错后放弃,不如自己修改源码吧。

2026-04-04 02:58:10 418

原创 Spring WebFlux:响应式编程

WebFlux提供了一个非阻塞、异步的Web框架,允许开发者构建高性能、可伸缩的 Web 应用程序,特别适合处理大量并发连接,如在微服务架构和云环境中。WebFlux是Spring Framework 5引入的一个重要组件,它代表了Spring对于响应式编程(Reactive Programming)的支持。是Spring WebFlux中用于定义请求路由的函数接口。通过实现,可以精确控制请求的匹配和处理。WebClient。

2026-04-02 06:50:18 416

原创 Nginx与frp结合实现局域网和公网的双重https服务

背景: 因为局域网内架设了 tiddlywiki、 Nextcloud 等服务,同时也把公司的网站架设在了本地,为了实现局域网直接在局域网内访问,而外部访问通过frps服务器作为反向代理的目的,才有此内容。实现的效果如下图琐事不喜欢废话,这里直接贴代码,有需要的更改关键信息的内容即可。

2026-04-02 03:33:36 374

原创 Java进阶知识-反射

而mMainThread对象是ActivityThread类型,该类是我们的主线程类,里面有有一个mInstrumentation成员变量,该成员变量属于Instrumentation类型。应用中所有的Activity都继承自一个BaseActivity基类,基类中实现一个startActivity方法,在该方法之前加上一句打印,那么所有startActivity的地方都调用基类中的方法。通过反射,可以获取某个类中的所有方法,包括private,public,protect类型的方法。

2026-04-02 00:16:46 362

原创 DeepSeek API 调用 - Spring Boot 实现

Spring Boot 实现提供了一个健壮、可扩展的 DeepSeek API 调用方案,利用响应式编程提供高效的流式对话体验。

2026-04-01 22:34:49 48

原创 解决 Tomcat 跨域问题 - Tomcat 配置静态文件和 Java Web 服务(Spring MVC Springboot)同时允许跨域

Tomcat 静态文件和 Web 服务同时允许跨域,即 Tomcat webapp 目录下同时存在静态文件服务和 war 包启动的服务。Springboot 框架下的配置,允许所有接口跨域,Springboot 环境下测试生效,Spring MVC环境下测试未生效。偶尔遇到一个 Tomcat 部署项目跨域问题,因为已经处理过太多跨域了,觉得很简单。Tomcat 静态文件允许跨域,设置比较简单,百度一搜一堆,这里简单贴一下。老项目以 war 包居多,新项目(Springboot)以 jar 包居多。

2026-04-01 20:24:52 352

原创 如何安装配置Goland并使用固定公网地址SSH远程连接本地服务器

我们在本地测试成功,但是我们如果需要长期异地办公,需要结合cpolar内网穿透实现公网远程使用服务器,这里我们需要将SSH使用的本地IP映射为公网TCP地址,才能实现异地开发。地址保留成功后,复制生成的公网地址,打开cpolar web ui管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到我们上面创建的TCP隧道,点击。然而,它的缺点是网址是随机生成,这个地址在24小时内会发生随机变化,更适合于临时使用。为了方便演示,我们在前述过程中使用了Cpolar生成的TCP地址隧道,其公网地址是随机生成的。

2026-04-01 19:06:10 392

原创 从零开始在Windows系统上搭建一个node.js后端服务项目

打开app.js(原默认是index.js,没有选择直接回车,而是在后面输入app.js后再回车,因此我的入口文件就改成了app.js),可以看到,文件内是没有配置端口,以及启动打印的数据的,在这里可以自行手动配置下(app.get()或app.set()需要在var app = express();package文件内容随之改变,由于程序主入口是index.js,所以要创建index.js文件,(文件后缀必须是js)编辑index.js文件内容,为了快速,我们直接找到express官网,打开里面的示例。

2026-04-01 05:01:07 399

原创 SQL按指定字符分割字符串

在SQL中分割字符串通常需要使用特定的函数,因为SQL本身并不像编程语言那样直接支持字符串分割。不同的数据库系统有不同的函数来处理字符串分割。

2026-04-01 01:55:25 215

原创 Spring Cloud Nacos配置管理

Nacos 作为配置中心,实现了配置的集中管理,当配置更新时,不需要重启应用立即生效,同时配置的修改具有版本管理功能,便于审计和回滚等操作。此外对于一些敏感信息放到配置中心,通过权限控制增加安全性。

2026-03-31 05:09:44 244

原创 linux 网卡配置

linux网卡可以通过命令和配置文件配置,如果是桌面环境还可以通过图形化界面配置.

2026-03-30 11:23:32 279

原创 JavaEE要想学得好,【Java spring】少不了,稳扎稳打学JavaEE

spring 的初识: 认识spring 是一种功能强大, 开发人员用起来很轻松, 开发效率高效的面向企业的应用程序框架。如何学好spring : 学好spring 的关键就在于: 如何使用Maven建立spring项目, 并且学会利用注解依赖注入数据调用等… 来操作spring的特定的框架来进行 web 开发。spring 项目的学习工具: 学习spring主要是围绕着http请求来的, 搭配postman能够方便的建立http请求的相关配置,达到更高效的开发。如果觉得小编写的还不错的咱可支持三连。

2026-03-30 10:36:40 292

原创 DeepSeek R1 简易指南:架构、本地部署和硬件要求

从DeepSeek-R1-Zero到DeepSeek-R1,代表了研究中的一个重要学习历程。DeepSeek-R1-Zero 证明了纯粹的强化学习是可行的,而 DeepSeek-R1 则展示了如何将监督学习与强化学习相结合,从而创建出能力更强、更实用的模型。“本文所述技术参数均来自公开研究文献,实际部署需遵守当地法律法规”最后:React Hook 深入浅出CSS技巧与案例详解vue2与vue3技巧合集VueUse源码解读。

2026-03-30 09:49:35 424

原创 Redis开启远程访问

此外,若是新版本(3.2之后)的还得修改一下redis的保护模式,同在redis.conf文件下。Redis默认只允许本地访问,若要redis可以远程访问,得先修改。在redis安装目录下找到redis.conf文件并打开。Warning是提醒在命令上输入密码是不安全的。(若是windows环境下,该配置文件名称为。

2026-03-30 07:03:47 21

原创 mysqld error while loading shared libraries libcrypto.so.3 cannot open shared object file No suc

安装或升级到 OpenSSL 3.0。确保文件在系统中正确存在,并且 MySQL 能够找到它。如果问题持续存在,可以尝试重新安装 MySQL 或 MariaDB,确保依赖的库被正确配置。

2026-03-30 03:31:18 241

原创 Vue项目中 安装及使用Sass(scss)

为什么会有这个安装方法,是因为我在使用常规安装方法时,会出现版本不兼容问题,导致安装失败,所以 尝试了一个新的方法,如下。的版本,因为它会根据 npm 依赖项自动安装合适的版本。项目就可以正常使用sass啦~:nodejs环境中将sass转css。2.在这个配置中,你不需要指定。:把 sass编译成css。

2026-03-28 11:41:35 208

原创 Spring Cloud gateway 路由规则

匹配 /api/user/ 下的所有子路径,包括多级子路径,例如 /api/user/profile 和 /api/user/orders/123。作用:定义一组断言,用于决定请求是否匹配该路由。作用:定义一组过滤器,用于在请求转发前后对请求或响应进行修改。匹配 /api/user/ 后跟一个或多个数字的路径,例如 /api/user/123。匹配 /api/user/ 下的一级子路径,例如 /api/user/profile。匹配请求路径为 /api/user 的请求。

2026-03-28 00:35:38 434

原创 MySQL版本选择与安装

如果您的应用程序已经在一个较旧的版本上运行良好,并且没有迫切的升级需求,可以继续使用该版本,但应计划在未来进行升级。全面的性能改进:8.0版本引入了更多的性能优化和新特性,如默认的InnoDB存储引擎和更好的并行复制。对于大多数用户,建议使用最新的稳定版本,如MySQL 8.0,因为它提供了最佳的性能、安全性和新特性。如果您正在开发新的应用程序,建议直接使用最新的MySQL版本,以充分利用其提供的所有优势。改进的安全性:提供了更多的安全特性,如默认的加密连接和新的用户账户管理。

2026-03-27 12:32:01 255

空空如也

空空如也

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

TA关注的人

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