综合练习:验证码案例(1)总体设计

综合练习:验证码案例(1)总体设计

文章目录

观前提醒:

这篇博客的代码,从我的 gitee 上可以下载:
https://gitee.com/mrbgvhbhjv/java-ee-course/tree/master/后端代码/review_captcha_20251031

1.验证码介绍:

验证码:随机字符 + 干扰信息。

随机字符:

  1. 数字 0~9
  2. 字母 a~z A~Z
  3. 汉字

随机字符,可以放在数组里,如果要用,随机拿出来四个,五个,就可以了。

生成验证码的代码,在 github 上,有很多开源的,gitee上也有,直接去搜索就行。

2. Hutool工具介绍

Hutool 核心资源汇总:

Hutool 官网:https://hutool.cn/

Hutool 参考文档:https://hutool.cn/docs/#/

Hutool 源码:https://github.com/dromara/hutool

引入 hutool包 工具,我们使用 maven ,添加依赖:

依赖代码:

java 复制代码
        <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-captcha</artifactId>
            <version>5.8.36</version>
        </dependency>

使用 hutool工具,随机生成验证码代码:

这是个示例,验证码还需要进行校验才行。

3. 验证码代码编写:

学会如何使用 hutool 工具之后,开始代码的编写。

3.1 预期效果 & 准备工作:

预期效果:

准备工作:

将我设计好的前端代码(static包),下载下来,放到 Springboot项目 中的 resource文件下。

3.2 定义接口(接口文档描述):

通过分析,我们需要设计两个接口:

  1. 生成验证码图片,返回验证码图片给前端
  2. 校验验证码是否正确

接口文档描述:

第一个接口:生成验证码:

第二个接口:检验验证码是否正确:

3.3 后端代码:

由于这块内容,需要讲解的东西,比较多,放到另一篇博客中:
综合练习:验证码案例(2)后端代码

3.4 测试接口:

第一个接口:生成验证码:

第二个接口:检验验证码是否正确:

输入 check方法 的参数。

4. 前端代码

前端代码,后端开发不用关心怎么写的,能看懂就行。

所以,前端代码不做任何解释。

想知道前端代码的原理的,可以问 ai。

index.html 代码:

html 复制代码
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="utf-8">
    
    <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
    <meta http-equiv="Pragma" content="no-cache" />
    <meta http-equiv="Expires" content="0" />


    <title>验证码</title>
    <style>
        #inputCaptcha {
            height: 30px;
            vertical-align: middle;
        }
        
        #verificationCodeImg {
            vertical-align: middle;
        }
        
        #checkCaptcha {
            height: 40px;
            width: 100px;
        }
    </style>
</head>

<body>
    <h1>输入验证码</h1>
    <div id="confirm">
        <input type="text" name="inputCaptcha" id="inputCaptcha">
        <img id="verificationCodeImg" src="/captcha/getcaptcha" style="cursor: pointer;" title="看不清?换一张" />
        <input type="button" value="提交" id="checkCaptcha">
    </div>
    <script src="js/jquery-3.7.1.min.js"></script>
    <script>
        $("#verificationCodeImg").click(function() {
            $(this).hide().attr('src', '/captcha/getcaptcha?dt=' + new Date().getTime()).fadeIn();
        });

        $("#checkCaptcha").click(function() {
            $.ajax({
                url: "/captcha/check",
                type: "post",
                data: {
                    lineCaptcha: $("#inputCaptcha").val()
                },
                success: function(result) {
                    if (result) {
                        location.href = "success.html";
                    } else {
                        alert("验证码错误,请重新输入。");
                    }
                }
            });
        });
    </script>
</body>

</html>

5. 运行效果:


6. 前端图形工具:bootstrap

后端代码,需要详解了解原理,多写几遍,对我们编程有好处。

前端代码,我们需要能看懂,会修改就行(修改也可以问 ai),不需要掌握怎么设计一个完整的 html页面。

完整的 html页面,网上也是有模板的。网上,有很多可以下载 html模板 的工具,例如:boostrap框架。

这是前端非常流行的一个框架:https://www.bootcss.com/

中文文档:https://v4.bootcss.com/docs/getting-started/introduction/

首先需要先下载 CSS文件和 JS文件。

使用起来非常方便,中文文档中,你喜欢的样式,可以直接复制代码到你的项目中去。

注意:一定要严格按照版本号,bootstrap是 5.0.X的html项目,只能粘贴 5.0文档中的代码。

其中,也有免费的模板可以下载。

你也可以在浏览器之后搜索 "html模板",就会有很多网站,可以下载 html 模板的。

7. 总结:

最后,如果这篇博客能帮到你的,请你点点赞,有写错了,写的不好的,欢迎评论指出,谢谢!

下一篇博客:Mybatis(1)Mybatis 入门

相关推荐
雨中飘荡的记忆7 小时前
ElasticJob分布式调度从入门到实战
java·后端
考虑考虑16 小时前
JDK25模块导入声明
java·后端·java ee
_小马快跑_17 小时前
Java 的 8 大基本数据类型:为何是不可或缺的设计?
java
Re_zero19 小时前
线上日志被清空?这段仅10行的 IO 代码里竟然藏着3个毒瘤
java·后端
洋洋技术笔记20 小时前
Spring Boot条件注解详解
java·spring boot
程序员清风2 天前
程序员兼职必看:靠谱软件外包平台挑选指南与避坑清单!
java·后端·面试
皮皮林5512 天前
利用闲置 Mac 从零部署 OpenClaw 教程 !
java
NE_STOP2 天前
springMVC-HTTP消息转换器与文件上传、下载、异常处理
spring
华仔啊2 天前
挖到了 1 个 Java 小特性:var,用完就回不去了
java·后端
SimonKing2 天前
SpringBoot整合秘笈:让Mybatis用上Calcite,实现统一SQL查询
java·后端·程序员