常用工具类之使用hutool生成验证码

这篇具有很好参考价值的文章主要介绍了常用工具类之使用hutool生成验证码。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 Hutool参考文档

1.1 pom文件中导入hutool-captcha依赖
💬 新建springboot项目,并在其pom.xml中导入hutool-captcha依赖:

<dependency>
        <groupId>cn.hutool</groupId>
        <artifactId>hutool-all</artifactId>
        <version>5.8.1</version>
</dependency>

1.2 创建前端页面与跳转页面
前端页面index.html

<h2>Hutool-captcha验证码验证</h2>
    <form action="/loginc" method="post">
        <input type="text" name="verifyCode" placeholder="请输入验证码" required="true">
        <img alt="单击图片刷新!" class="pointer" src="/common/verify"
             onclick="this.src='/common/verify?d='+new Date()*1">
        </br>
        <button type="submit" value="submit">登陆</button>
    </form>

跳转页面success.html

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h2>success</h2>
</body>
</html>

1.3 实现后端代码
1.3.1 创建后端控制类生成验证码
💬 创建控制类CommonController类,一方面通过流的方式将随机生成的验证码图片信息发送到前端浏览器;另一方面将验证码中的验证信息写入session中,以方便后续的验证

@RestController
public class HutoolController {

    @GetMapping("/common/verify")
    public void Verify(HttpServletRequest request,HttpServletResponse response) throws IOException {
        //定义图形验证码的长、宽、验证码字符数、干扰线宽度
        ShearCaptcha captcha = CaptchaUtil.createShearCaptcha(150, 40, 5, 4);
        //图形验证码写出,可以写出到文件,也可以写出到流
        captcha.write(response.getOutputStream());
        //获取验证码中的文字内容
        String verifyCode = captcha.getCode();
        request.getSession().setAttribute("verifyCode",verifyCode);
    }


1.3.3 实现验证码的验证与页面跳转
💬 对前端输入的数据并发送到服务器的验证信息进行校验,当输入信息与验证码信息一致则跳转至success.html页面,否则跳转至false.html页面

@Controller
public class AdminController {
    @PostMapping("/loginc")
    public String loginByHutool(@RequestParam("verifyCode") String verifyCode,
                        HttpSession session){
        String captchaCode = session.getAttribute("verifyCode") + "";
        if(verifyCode.equals(captchaCode)){
            return "success";
        }
        return "false";
    }
}

Spring使用验证码:Kaptcha - 简书文章来源地址https://www.toymoban.com/news/detail-440943.html

到了这里,关于常用工具类之使用hutool生成验证码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • java hutool工具类处理json的常用方法

    Hutool 提供了丰富的 JSON 处理工具类,包括 JSON 字符串的解析、生成、对象与 JSON 字符串的转换等。以下是 Hutool 中关于 JSON 的常用方法: JSON 字符串的解析与生成: JSONUtil.parseObj(jsonStr) :将 JSON 字符串解析为 JSONObject 对象。 JSONUtil.parseArray(jsonStr) :将 JSON 字符串解析为 JSON

    2024年04月17日
    浏览(46)
  • 常用短链接生成工具推荐

    为大家汇总了几个最常用的短链接工具 每种短网址缩短工具各有所长,可以选择需要的使用 1. 短链接 https://dlj.cn/ 首先推荐我们团队开发的免费短网址生成工具,最大的特点就是简单好用、免费查看统计报表、自定义域名 从功能上看,综合几个短链接工具中功能最强大的,

    2024年02月13日
    浏览(46)
  • IDEA常用高效开发工具—screw一键生成数据库文档(仅需三步)

    引入screw核心... 在自己设置的保存位置打开即可:

    2024年02月15日
    浏览(53)
  • SpringBoot验证码之使用hutool-captcha方式实现验证码生成与验证

    生成验证码 : 提供一个接口, 这个接口里,我们将生成的验证码存入session,然后将验证码以图片格式或者base64编码串返回给调用端。 校验验证码 : 提供一个接口,这个接口里,我们收到调用端传过来的校验码,然后从session取出验证码,两个验证码都全部转小写,进行无

    2024年02月12日
    浏览(45)
  • 使用hutool工具生成树形结构

    假设要构建一个菜单,可以实现智慧库房,菜单的样子如下: 那这种结构如何保存在数据库中呢?一般是这样的: ​ 每条数据根据 parentId 相互关联并表示层级关系, parentId 在这里也叫外键 id parentId name 1 0 智慧库房 2 1 RFID 3 1 智慧大屏 4 1 智能密集架 5 1 环境管控 使用步骤:

    2024年02月14日
    浏览(57)
  • [ 常用工具篇 ] 渗透神器 whatweb 安装使用详解

    👨‍🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~ ✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋 🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋 🙏作者水平有

    2024年02月13日
    浏览(49)
  • 嵌入式软件开发常用的编辑代码工具、比较工具和测试工具的使用说明和操作步骤

    嵌入式软件开发常用的编辑代码工具有: Eclipse Eclipse是一款开源的集成开发环境,支持多种编程语言和插件,适用于多种嵌入式开发平台。以下是Eclipse的使用说明和操作步骤: 步骤1:创建新工程 单击“File”菜单,选择“New”→“Project”选项,选择工程类型和开发平台。

    2024年02月02日
    浏览(100)
  • 【Java】YAML读写常用工具包及使用示例

    YAML是一种常用的数据序列化格式,在Java应用程序中读写YAML数据是常见的任务。本文介绍了三个受欢迎的Java工具包:SnakeYAML、Jackson Dataformat YAML和YAMLBeans,它们都提供了读写YAML数据的功能。本文将逐一介绍这些工具包的特点、Maven依赖配置,并给出使用示例。最后,本文总结

    2024年02月04日
    浏览(54)
  • 【Windows 常用工具系列 5 -- Selenium IDE的使用方法 】

    Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。 Selenium家庭成员有三个,分别是Selenium WebDriver、Selenium IDE和Selenium Grid。 Selenium IDE 介绍 Selenium IDE(集成开发环境)是一个用于自动化网页应用程序的测试工具。以下是一

    2024年02月13日
    浏览(44)
  • 私藏工具分享 300+++ 编程使用工具,js、css、动画插件、可视化、文件操作、音视频、智能化、编辑器、2D3D、其他常用工具、跨平台框架、代码工具、图像工具、文件转换、vue3生态、后端常用插件

    目录 Javascript 工具 可视化 动画插件 文件操作 音视频 智能化 编辑器 2D 3D 其他常用js 跨平台 框架 Flutter Electron Uniapp CSS 动画 工具 UI 编程工具 代码工具 图像工具 文件转换 Vue3生态工具 1.Web UI库 2.移动UI库 3.相关工具 4.可视化 5.插件 6.相关生态 7.动画 8.音视频 全栈-后端 插件

    2024年02月21日
    浏览(80)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包