第二节课,后端登录代码 校验

news2025/1/16 7:54:55

一、注册逻辑

二、代码写的位置

   I UserService.java 写业务逻辑的

2.1 代码1

2.1.1 注释生成

先按
/**
再按
回车

2.1.2 多补充一点

2.2 代码2 

Implement method 'userRegister'  

 # 在这里实现用户注册的逻辑,例如将用户名和密码存储到数据库中

2.2.1 自动进入userserive 实现类里面【此处是业务逻辑,写代码的地方】

2.2.2 补充完整

2.3 代码3

2.3.1 代码校验麻烦,添加插件

每个字段判断是否为空 & 是否等于 null

在SQL中,空(空字符串)不是NULL。

1)NULL表示一个字段没有值,是一种未知或不适用的状态,在SQL中,NULL不等同于0或空字符串,而是表示缺失值。

2)空(空字符串)表示一个字段的值为空,即有值但是没有内容,在SQL中,空字符串是一个有效的字符串,但不等同于NULL。

2.3.2 添加插件:

中央仓库

网址:

Maven Repository: apache common utils (mvnrepository.com)

本人

<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.12.0</version>
</dependency>

2.3.3 插件代码,放入 pom 里面的位置 【放再 start 后,因为,这是项目全过程都需要用到的依赖】

2.3.4 依赖安装完后,需刷新,即下载

2.4 代码 3 修改代码,重新写

【刚下载的依赖就是 lang3】

本人解释:

网址:

org.apache.commons.lang3下 StringUtils 工具类_org/apache/commons/lang3/stringutils-CSDN博客

2.5 代码 4

2.6 代码5 账户不能重复 【看网址理解】

网址:

QueryWrapper的详细使用方法_querywrapper 分页-CSDN博客

2.7 代码6 账户不能包含特殊字符 【第二节课,鱼皮接近尾声,发现错误】

copy 网址: 正则表达式

Java过滤特殊字符的正则表达式 - 精神领袖 - 博客园 (cnblogs.com)

 String regEx="[`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?]";  

本人理解

   // 账户不能包含特殊字符
        // m.find();//返回true
        String validPattern = "[`~!@#$%^&*()+=|{}':;',\\\\[\\\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?]";
        Matcher matcher = Pattern.compile(validPattern).matcher(userAccount);
        if (matcher.find())
        {
            return -1;
        }


解释:
 Matcher matcher = Pattern.compile(validPattern).matcher(userAccount);


这段代码是使用Java的正则表达式库(Pattern和Matcher类)来匹配用户账户(userAccount)是否符合给定的正则表达式模式(validPattern)。

1、首先,通过调用Pattern类的compile方法,将validPattern编译成一个Pattern对象。
2、然后,使用Pattern对象的matcher方法,传入userAccount字符串,生成一个Matcher对象。
3、Matcher对象可以用来对userAccount进行各种正则表达式操作,例如查找、替换等。


解释:
 if (matcher.find())
//if  m.find();//返回true
// 说明有特殊字符,结果失败了,需重新输入

2.8 代码7  密码和校验密码相同

三、代码优化

3.1 解决性能浪费,【查询数据库 ,代码5 ,账户不能重复】

 移至最后

四、对密码进行加密(密码千万不要直接以明文存储到数据库中)

4.1 加密算法,类库

4.1.1 先写测试

网址:

java 密码加密_Java如何实现密码加密-CSDN博客

//2对密码进行盐值加密(加密算法MD5-特点:不可逆,相同内容加密结果也相同)

//2.1加密方式1(借助spring框架工具类DigestUtils)

//String newPassword=DigestUtils.md5DigestAsHex((salt+entity.getPassword()).getBytes());

加密成 16进制 【代码需更改为如下】

此处只做测试,看下这个代码的功能是我们想要的不,成功了,再放到下图去写

4.2 效果

五、向数据库插入用户数据

5.1 插入代码

六、补注入 :mapper

6.1 补

6.2 因为注入mapper,而改写代码

七、【不要使用这里的测试数据,部分有误】开始测试代码

7.1 开始测试代码

7.1.1 位置解释,为上一处

7.2 测试代码造数据

7.2.1 报错,debug

7.2.2 打断点调试

前面单击一下?

7.2.3 执行

7.2.4 按 F7 进入函数,即方法

7.2.5 按 F9 执行到下一个 断点

7.2.6 按F8 下一步,下一步

7.3 测试  userAccount

7.4 上门测试成功后,又换了

未换

【?】小乌龟,啥意思

这里表格还能刷新

换了

所有测试代码均以实现

7.5 理解下测试代码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1617896.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

企业上了财务系统,有必要再上费控系统吗?

相信很多财务人员甚至是老板肯定有这样的疑惑&#xff1a;企业已经有了财务系统&#xff0c;为什么还要上费控软件呢&#xff1f;为什么越大的企业越倾向使用专业费控平台来管理企业费用&#xff1f; 当我们在讨论这个问题的时候&#xff0c;首先要搞清楚&#xff0c;这里所说的…

OS国产化改造中LVM卷迁移指导

一、前言 因OS改造涉及LVM卷&#xff0c;且vg卷包含磁盘数量较多&#xff0c;lv中数据较大&#xff08;100T左右&#xff09;&#xff0c;因此要在OS改造中确保LVM卷信息完整不丢失&#xff0c;保证其上数据安全尤为重要。本文旨在探讨lvm信息存储及迁移&#xff0c;以指导完成…

使用R语言生成频数分布表

概要 使用R语言生成频数分布表 在R语言中&#xff0c;可以使用freq()函数来生成频数分布表。首先&#xff0c;将需要分组的数据存储在一个向量中。然后&#xff0c;使用freq()函数将这个向量作为参数输入&#xff0c;即可生成频数分布表。以下是一个示例&#xff1a; 示例 …

ctfshow web入门 SQl注入 web185--web190

web185 这道题还有另外一个脚本就是用concat的拼接达到有数字的目的 concat(truetrue) 2 concat(true) 1 concat(true, true) 11 然后上脚本&#xff08;Y4tacker这个师傅的&#xff09; # Author:Y4tacker import requestsurl "http://341e93e1-a1e7-446a-b7fc-75beb…

123.Mit6.S081-实验1-Xv6 and Unix utilities

今天我们来进行Mit6.S081实验一的内容。 实验任务 一、启动xv6(难度&#xff1a;Easy) 获取实验室的xv6源代码并切换到util分支。 $ git clone git://g.csail.mit.edu/xv6-labs-2020 Cloning into xv6-labs-2020... ... $ cd xv6-labs-2020 $ git checkout util Branch util …

Qt - 窗口

目录 1. 前言 2. 菜单栏(QMenuBar) 2.1. 创建菜单栏 2.1.1. 方式一 2.1.2. 方式二 2.2. 在菜单栏中添加菜单和创建菜单项 2.3. 在菜单项之间添加分割线 2.4. 综合示例 3. 工具栏(QToolBar) 3.1. 创建工具栏 3.2. 设置停靠位置 3.2.1. 方式一 3.2.2. 方式二 3.3. 设…

C#开发的全套成熟的LIS系统源码JavaScript+SQLserver 2012区域云LIS系统源码

C#开发的全套成熟的LIS系统源码JavaScriptSQLserver 2012区域云LIS系统源码 医院云LIS系统是一套成熟的实验室信息管理系统&#xff0c;目前已在多家三级级医院应用&#xff0c;并不断更新。云LIS系统是为病人为中心、以业务处理为基础、以提高检验科室管理水平和工作效率为目标…

2024-4-22 群讨论:微服务启动预热相关

以下来自本人拉的一个关于 Java 技术的讨论群。关注公众号&#xff1a;hashcon&#xff0c;私信进群拉你 Hotspot JVM 进程启动后&#xff0c;流量到来的时候 JIT 吃掉很多 CPU&#xff0c;如何观察到&#xff1f; 很多途径都能观察到&#xff1a; top -Hp&#xff1a;这个需…

前端开发攻略---封装日历calendar组件(纯手搓),可以根据您的需求任意改变,可玩性强

1、演示 2、代码 <template><div class"box" v-if"startMonth.year"><div class"left"><div class"top"><span class"iconfont" click"changeMonth(-1)">左</span><span&…

JTAG访问xilinx FPGA的IDCODE

之前调试过xilinx的XVC&#xff08;Xilinx virtual cable&#xff09;&#xff0c;突然看到有人搞wifi-JTAG&#xff08;感兴趣可以参考https://github.com/kholia/xvc-esp8266&#xff09;&#xff0c;也挺有趣的。就突然想了解一下JTAG是如何运作的&#xff0c;例如器件识别&…

关于开设RT-DETR专栏及更新内容的一些说明

​ 专栏介绍&#xff1a;YOLOv9改进系列 | 包含深度学习最新创新&#xff0c;助力高效涨点&#xff01;&#xff01;&#xff01; 专栏介绍 YOLOv9作为最新的YOLO系列模型&#xff0c;对于做目标检测的同学是必不可少的。本专栏将针对2024年最新推出的YOLOv9检测模型&#xff0…

jsp实验10 JavaBean

二、实验项目内容&#xff08;实验题目&#xff09; 编写代码&#xff0c;掌握javabean的用法。【参考课本 上机实验 5.5.1 】 三、源代码以及执行结果截图&#xff1a; 源代码&#xff1a; Fraction.java package sea.water; public class Fraction { public double numbe…

【北京迅为】《iTOP-3588开发板系统编程手册》-第19章 V4L2摄像头应用编程

RK3588是一款低功耗、高性能的处理器&#xff0c;适用于基于arm的PC和Edge计算设备、个人移动互联网设备等数字多媒体应用&#xff0c;RK3588支持8K视频编解码&#xff0c;内置GPU可以完全兼容OpenGLES 1.1、2.0和3.2。RK3588引入了新一代完全基于硬件的最大4800万像素ISP&…

Skill Check: Build an LLM Application using OCI Generative AI Service

Skill Check: Build an LLM Application using OCI Generative AI Service

数据清洗:异常值检测方法

异常值检测方法总结 一、基于分布1、3σ原则2、Z_score方法3、boxplot一、基于分布 1、3σ原则 3σ原则又称为拉依达法则。该法则就是先假设一组检测数据只含有随机误差,对原始数据进行计算处理得到标准差,然后按一定的概率确定一个区间,认为误差超过这个区间的就属于异常…

贪心算法练习day.1

理论基础 贪心算法是一种常见的解决优化问题的方法&#xff0c;其基本思想就是在问题的每个决策阶段&#xff0c;都选择当前看起来最优的选择&#xff0c;即贪心地做出局部的最优决策&#xff0c;以此得到全局的最优解&#xff0c;例如在十张面额不同的钞票&#xff0c;让我们…

ctfshow 每周大挑战RCE极限挑战

讨厌SQl看到这个了想来玩玩 rce1 <?phperror_reporting(0); highlight_file(__FILE__);$code $_POST[code];$code str_replace("(","括号",$code);$code str_replace(".","点",$code);eval($code);?>括号过滤点过滤&…

查找算法之分块查找

目录 前言一、查找算法预备知识二、分块查找三、总结3.1 查找性能3.2 适用场景3.3 优缺点 前言 查找算法是一种用于在数据集合中查找特定元素的算法。在计算机科学中&#xff0c;查找算法通常被用于在数组、链表、树等数据结构中查找目标元素的位置或者判断目标元素是否存在。…

【Java--数据结构】模拟实现ArrayList

欢迎关注个人主页&#xff1a;逸狼 创造不易&#xff0c;可以点点赞吗~ 如有错误&#xff0c;欢迎指出~ 目录 LIst 顺序表ArrayList 顺序表优点 IList接口 ArrayList中定义要操作的数组 在MyArrayList中 重写接口方法 新增元素 在指定位置插入元素 pos不合法异常 判断和查找元素…

家用洗地机哪款好用?盘点618值得买的洗地机品牌

对于工作忙碌或家里养了宠物的很多朋友来说&#xff0c;洗地机它集合吸尘清扫湿拖的功能&#xff0c;很大程度上解放了家庭清洁劳动的繁琐&#xff0c;让人们腾出更多的时间休息&#xff0c;那么&#xff0c;市场上有很多牌子的洗地机&#xff0c;价格也各不相同&#xff0c;那…