- 博客(37)
- 资源 (6)
- 收藏
- 关注
原创 企业白名单实现【使用拦截器】
本文介绍了Java实现企业IP白名单功能的三种方式。第一种方式详细展示了完整的实现方案,包括:1)创建IP白名单工具类,提供获取客户端真实IP、检查CIDR范围和验证白名单的功能;2)配置类从yml获取参数,包括是否启用白名单、IP列表和排除路径;3)实现过滤器组件,对不符合白名单规则的请求进行拦截。该方案支持精确IP匹配和CIDR范围匹配,考虑了反向代理场景,并允许配置排除路径,提供了完整的IP访问控制解决方案。
2025-09-04 21:38:53
214
原创 【企业标准开发框架 01】全局异常处理+自定义异常类
企业标准开发框架中的全局异常处理方案 本文介绍了企业级开发中常用的异常处理机制,主要包括四个核心组件: 全局异常处理器:通过@RestControllerAdvice+@ExceptionHandler统一拦截Controller异常,实现标准化响应 自定义异常类(BusinessException):封装业务异常,包含错误码和错误信息 错误码枚举(CodeEnum):定义系统各类错误码及对应描述 统一响应体(AjaxResponse):规范API响应格式,继承HashMap保持扩展性 该方案具有三大优势:
2025-08-24 23:23:06
878
原创 常见的国密加密算法(M1/M2/M3/M4)
国密加密算法主要包括SM2、SM3和SM4。SM2是非对称加密算法,基于椭圆曲线密码,用于数字签名、密钥交换等场景,安全强度高且运算速度快。SM3是哈希算法,生成数据的256位指纹,保证数据完整性。SM3-HMAC在SM3基础上加入密钥,提供数据和身份认证。SM4是对称加密算法,分组长度128位,适用于移动通讯、物联网等领域,包含ECB和CBC两种模式。这些算法广泛应用于金融支付、电子政务等场景,保障数据安全和通信隐私。
2025-05-29 11:51:49
1404
原创 进程和线程
程序: 被存储在磁盘或者其他数据存储设备中,含有指令和数据的文件进程:线程是分配资源的最小单位,系统运行一个程序,就会创建一个进程线程:线程是调度执行的基本单位🗡一个进程中包含多个线程,但是一定会有一个主线程。
2024-09-18 11:38:57
537
原创 java | 反射
方式一: 通过类名.class进行获取方式二: 通过Class的foeName()方法进行获取方式三: 通过对象调用getClass()方法。
2024-09-10 10:03:20
446
原创 数据库 | 子查询 | sql执行顺序 | mysql是否运行
1.系统(客户端)访问 MySQL 服务器前,做 的第一件事就是建立 TCP 连接。
2024-09-04 18:59:15
589
原创 【数据库】|子查询
👀:定义:exist 子查询 子句有结果,父句执行,子句没有结果,父句不执行。1、使用子查询,因为子查询会先执行子句,在执行父句,效率非常低。定义:什么叫子查询,也就是先执行子查询,后执行父查询。✅面试题目:请查询没有学习过张三老师的课的学生?✅面试题目:给你一个页面让你写另一个页面。❓✅面试题:如何实现替换,执行顺序?查询id最大的一个学生(子查询)查询每个班级下面id最大的学生?查询大于5 人的班级的名称和人数。查询学生的所有成绩进行排名输出。查询张三老师教了哪些学生?如何实现到这个步骤?
2024-09-04 18:55:52
1612
原创 手搓Spring启动器
starter是 SpringBoot中的非常重要的机制,他可以将繁杂的配置同意集成到starter中,使用者只需要将引入依赖包,SpringBoot就可以自动加载默认配置啦~命名规范首先自定义启动器是有规范的哦,模仿Spring官方的starter就是,那么我们为了与第三方和我们手搓启动器则有另一套规范,,例如我们使用的的redis等等模块规范Spring官方建议我们自己定义时候,创建两个Model和 ModelStartstartstarter模块和模块和记得删除starter模块模块。
2024-08-19 09:29:23
1097
原创 数据库DQL| 查 操作 |数据操作语句
⭐️入职时间,日期的比较,逻辑都是倒着的!找出比1998-4-9年龄大于她的人?having是针对使用聚合函数的,而where是针对使用单个数据的。所有的查询都会得到一张虚拟的表 ❗,查过的表再也不会改变 ❗。limit分页,从0 开始 (页码-1)*步长,步长,应用层解决。例子:成绩及格的总分数排名第二的学生的sid和总成绩。❓所有查询出来的数据,是不是一张表?先写先排,有相同的以此类推进行排序。6️⃣null的查询。max():求最大值。min():求最小值。avg():求平均值。
2024-08-08 15:31:25
311
原创 MySQL1 | 的安装定义分类
长期存放在计算机内,有组织、可共享的大量数据的集合,是一个数据"仓库"。作用是存放、管理数据。特点:开源免费、操作方便、可在windows和linux系统上运行。启动mysql服务:net start mysql关闭mysql服务:net stop mysql 解释:定义和管理数据对象,如数据库等、数据表等 命令:CARETE、DROP、ALTER。
2024-07-20 17:19:17
456
原创 linux 4 |shell命令的使用
/bin/bashs=0echo $sread -p "请输⼊第⼀个数" NUM1read -p "请输⼊第⼆个数" NUM2read -p "请输入第一个数" number1read -p "请输入第二个数" number2echo "$number1 加 $number2 的和是: $[$number1+$number2]"func1。
2024-07-17 18:43:54
1040
1
原创 linux命令2进程权限
占用cpu,消耗资源如何处理?一号进程随时扫描僵尸进程1.将僵尸进程把那称自己的儿子2.然后将他弄死父进程挂了,导致子进程一直在运行,又称为僵尸进程🌊!
2024-07-17 14:46:44
1331
原创 java面向对象编程
1.在一个方法中,有相同的方法名,但是参数列表不同(类型不同,数量不同)字符串的subString()和Arrays.sort()
2024-07-14 22:29:41
333
原创 java如何使用Socket(套接字)实现网络编程?
大家肯定对微信是特别的了解了,那么你知道他是如何我之后你就可以,他是如何实现的吗?这里简单的给大家讲述一下微信信息的收发原理,A发送消息之后,消息首先传输到微信的服务器,之后再以极快的速度传输到B的手机。然而今天,我们带大家学习的是实现微信的类似功能,可以也可以,怎么样?听起来是不是很有意思,让我们一步一步实现这个功能~那么具体如何实现呢?首先我们得知道对方是谁?作为服务端。也就是接收端,我们得知道是谁发送的消息,发送消息的人的信息是什么?
2024-07-13 08:08:41
1228
原创 《使用io流如何对大学生作业查重~》
如何判断呢?看看老师是如何发现你的作业的“含金量”,让我们一步一步带你实现~首先我们收到的是一个被打包的.zip或者.rar压缩文件夹,其次我们需要做的是解压文件之后再进行对比,看小王的作业是否真的和小刘的“一模一样”!
2024-07-11 23:35:33
665
原创 全网最使用MySQL, JSP, Bean, JDBC(连接数据库) ,制作有权限(老师,学生,辅导员) 用户登录demo,表单查看demo
全网最使用MySQL, JSP, Bean, JDBC(连接数据库) ,制作有权限(老师,学生,辅导员) 用户登录demo,表单查看demo
2022-05-13 21:02:45
430
原创 (androis studio)app连连看demo练习
.xml 文件<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="center" androi
2022-04-22 20:13:40
5233
3
原创 servlet中request和response的介绍与区别
servlet中request和response的介绍与区别### 1.1 request 和 response的区别request : 获取请求数据response :设置请求参数1.1.2 request获取请求数据(请求行,请求头,请求体)请求行String getMethod ( ) :获取请求方式:GETString getContextPath():获取数据项目 (项目访问路径)/requestdemoString Buffer getRequestU
2022-04-13 14:55:54
310
原创 02.javaEE全网最全学习路线(Servlet,junit,spring,JDBC,myBatis,JSP)【如何使用过滤器】
00.通过demo进行学习(编写登录验证页面进行学习filter)1.编写一级过滤器,实现编码的统一package demo.filter;import java.io.IOException;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.serv
2022-04-13 14:54:35
203
原创 mybatis的使用
1.如何使用mybatis创建user表,添加数据创建模块,导入坐标编写My Batis核心配置文件编写sql映射文件编码定义pojo类加载核心配置文件,获取SqlSessionFactory对象获取SqlSession对象,执行SQL语句释放资源1.创建user表,添加数据测试代码:create database mybatis;use mybatis;drop table if exists tb_user;create table tb_user(
2022-04-07 18:22:00
1353
原创 01javaEE全网最全学习路线(Servlet,junit,spring,JDBC,myBatis,JSP)
练习任务:01.编写HTML表单,模拟用户输入,并获取用户输入的数据02.使用response和request对象.模拟用户登录(1.使用html表单读取用户登录界面】 2 . 登录跳转->使用重定向】 3 . 处理中文乱码】)03 比较HttpServletRequest、HttpSession、ServletContet这三个作用域对象01.编写HTML表单,模拟用户输入,并获取用户输入的数据1 . 创建html表单,提供输入界面**(注意action的地址为创建的servl
2022-04-05 15:42:39
803
原创 数据库设计(java后端知识)
数据库设计1.设计数据库表类型?那些字段? 字段的类型?数据库字段添加索引?表与表之间的关联?用户表:id(主键) bigintusername 昵称 varcharuserAccount 登录账号avatrUrl 头像 varchargender(性别) tinyintpassword 密码 varcharphone 电话 varcharemail 邮箱 varcharstatus 是否有效(比如被封号之类的) int 0正常 | 1createTime 创建时
2022-04-05 13:49:37
1604
原创 02.linux项目部署全面学习(熟悉各种命令,方便之后文项目的部署)
第二节课1.超级计算机 < 天河二号 >ls / (查看根目录下的子目录)2.绝对路径和相对路径主目录用户主目录 ~前一个工作目录 - 当前目录当前目录 .父目录 .. 绝对路径:从根目录开始,只有一种写法 (无法改变,一定是从根目录开始的) /home/wang/test/a相对路径:从当前目录
2022-04-05 13:02:31
1221
原创 01.linux项目部署全面学习(修改密码及文件结构知识)
linux1.修改root密码进入root权限修改密码输入:passwd,之后输入新密码强行修改root密码重新启动客户机->点击 E -> 找到Linux16 ->在UTF-8 init=/bin/sh_ +(ctrl+x)之后 ->mount -o remount,rw /2.主版本号 副版本号 修正号副版本为偶数稳定 奇数不稳定GUN的含义:是自由操作系统linux一般有四部分组成:内核,shell,文件系统,应用程序
2022-04-05 12:51:09
153
原创 00.javaEE全网最全学习路线(Servlet,junit,spring,JDBC,myBatis,JSP)
javaEE全网最全学习路线(Servlet,junit,spring,JDBC,myBatis,JSP)
2022-03-23 14:36:58
632
Python爬虫开发 从入门到实战.zip
2021-10-07
Python入门网络爬虫之精华版.zip
2021-10-07
java-Crawler-master.zip
2021-10-07
Spring 手撸专栏.zip
2021-10-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅