kaptcha实现验证码功能

最近看到一个使用kaptcha实现验证码的案例,因此记录一下
1.创建一个Springboot项目,在pom.xml里面导入如下依赖

        <dependency><groupId>com.github.penggle</groupId><artifactId>kaptcha</artifactId><version>2.3.2</version></dependency>

2.新建一个Config包,在包下编写如下配置类

@Configuration
public class KaptchaConfig {@Beanpublic Producer kaptchaProducer(){Properties properties = new Properties();properties.setProperty("kaptcha.image.width","100");properties.setProperty("kaptcha.image.height","40");// 设置字体大小properties.setProperty("kaptcha.textproducer.font.size","32");// 设置字体颜色properties.setProperty("kaptcha.textproducer.font.color","black");properties.setProperty("kaptcha.textproducer.char.string","0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ");// 截取4个字符properties.setProperty("kaptcha.textproducer.char.length","4");// 设置图像干扰,防止机器人暴力破解properties.setProperty("kaptcha.noise.impl","com.google.code.kaptcha.impl.NoNoise");DefaultKaptcha kaptcha = new DefaultKaptcha();Config config = new Config(properties);kaptcha.setConfig(config);return kaptcha;}

3.编写一个Controller,使用如下代码实现在浏览器加载验证码

                         // 生成验证码@GetMapping("/kaptcha")public void getKaptcha(HttpServletResponse response, HttpSession session){// 生成验证码String text = kaptchaProduer.createText();// 生成图片BufferedImage image = kaptchaProduer.createImage(text);// 将验证码存入Sessionsession.setAttribute("kaptcha",text);//将图片输出给浏览器try {response.setContentType("image/png");OutputStream os = response.getOutputStream();ImageIO.write(image,"png",os);} catch (IOException e) {logger.error("响应验证码失败"+e.getMessage());}}

4.使用thymeleaf模板来加载验证码

               <div class="form-group row mt-4"><label for="verifycode" class="col-sm-2 col-form-label text-right">验证码:</label><div class="col-sm-6"><input type="text" th:class="|form-control ${codeMsg!=null?'is-invalid':''}|" name="code" id="verifycode" placeholder="请输入验证码!"><div class="invalid-feedback" th:text="${codeMsg}">验证码不正确!</div></div><div class="col-sm-4"><img th:src="@{/kaptcha}" id="kaptcha" style="width:100px;height:40px;" class="mr-2"/><a href="javascript:refresh_kaptcha();" class="font-size-12 align-bottom">刷新验证码</a></div></div><script th:src="@{/js/jquery-3.3.1.min.js}" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" crossorigin="anonymous"></script><script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" crossorigin="anonymous"></script><script th:src="@{/js/global.js}"></script><script>function refresh_kaptcha() {let path = "/kaptcha?p="+ Math.random();$("#kaptcha").attr("src",path);}</script>

效果如下
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

抖音店群玩法之后端维护

大家好&#xff0c;我是北鱼会大鹏&#xff0c;来自河南郑州&#xff0c;5年电商老兵&#xff0c;这是我第110篇原创文章。 抖音店群无货源玩法&#xff0c;是经过10年前的某宝无货源演变而来&#xff0c;任何项目开始初期既是红利期&#xff0c;许多店群老手因为自身有丰富的经…

抖音账号|短视频矩阵分发系统 | 多账号管理发布 |MVC架构

短视频矩阵分发系统是一种可以帮助企业、机构和个人高效分发短视频的工具。随着社交媒体的不断普及&#xff0c;短视频的使用越来越广泛&#xff0c;因此如何快速而准确地将短视频传播到不同的平台和账号上已经成为了一个重要的问题。短视频矩阵分发系统应运而生&#xff0c;它…

创弘星鹏电商:设计抖音小店主图的方法和技巧

主图是我们看到商品的一点眼&#xff0c;对商品的点击影响是很大的&#xff0c;有经验的商家都知道&#xff0c;点击不好首先就会去看看是不是主图的原因&#xff0c;尤其是上传的第一张主图尤为重要&#xff0c;小编给大家分享抖音小店制作主图的一些基本要求以及涉及方法. 抖…

从零开始搭建仿抖音短视频APP-后端开发消息业务模块(1)

项目持续更新中&#xff1a; 仿抖音短视频APP专栏 目录 保存系统消息到MongoDB 系统消息入库保存-关注 系统消息入库保存-点赞短视频 系统消息入库保存-评论与回复 保存系统消息到MongoDB 我们把mongoDB整合到Springboot之后&#xff0c;我们需要把映射层面做好。 首先在…

抖音矩阵号运营是什么?如何开发及布局

1.什么是抖音矩阵号运营&#xff1f;如何通过抖音SEO实现关键词侵占及排名优化&#xff1f;企业如何通过抖音SEO运营收货百亿流量&#xff1f; 抖音搜索你可以把它理解成更细分、更垂直的短视频搜索引擎。就像豆丁网一样&#xff0c;它就是垂直定位于中文文档的搜索引擎&#x…

短视频抖音运营策划营销推广方案2022

原文档网盘地址下载https://pan.baidu.com/s/1zJ5NNX8PbmN5MaE7_Zp9Fw?pwdfdk2 每一个流程上&#xff0c;你比别人多付出的努力是50%。那么六个流程加起来&#xff0c;你多付出了多少的努力呢&#xff1f;注意还是50%&#xff1f;有些同学可能本能反应了一下&#xff0c;觉得…

青少年CTF-取证合集

日志分析1 题目描述 解压得到一个.log文件 由于黑客是上传所以我们通过命令 得到所有post请求的数据并写入到1.txt strings access.log | grep POST >> 1.txt 我一直以为是flag{IP}搞半天一直是错误&#xff0c;后面有重新看了一下题目才知道&#xff0c;133.1.16.173…

FastJson快速上手【Json解析工具】

目录 一、spring boot工程中引入FastJson依赖 二、调用JSON类的静态方法直接进行json序列化和反序列化 2.1 序列化 2.2 反序列化 三、快速演示&#xff1a; 四、思考 五、web案例demo演示 针对JSON序列化和反序列化&#xff0c;为了方便快捷&#xff0c;我们一般使用jso…

图解《狂飙》人物关系

《狂飙》作为今年的开年大戏&#xff0c;一经播出就受到了大家的广泛关注&#xff0c;成为了全民热议的现象级剧集。作为一部扫黑剧&#xff0c;剧中的黑白两派的人物关系可谓错综复杂&#xff0c;不少小伙伴初看时经常搞不清楚出场人物的关系&#xff0c;看得一头雾水。那本期…

[小森数据结构]看电影-顺序表技术精讲

故事前研(言) 小森去看电影<<流浪地球2>>的时候买电影票的场景. 突然一个叫高启强的人买电影票 拉了两个Hei友,来看电影 <<流浪地球2>> 当场就害怕极了&#xff0c;我也知道他想干什么&#xff0c;于是乎就让他到我这里&#xff0c;“高启强”:你小…

【分享贴】项目中为啥总是项目经理一人干着急?

看完了《狂飙》才发现&#xff0c;高启强才是咱项目经理的模范。前段时间身边同事都疯狂安利这部电视剧&#xff0c;但我哪有空余时间刷剧&#xff0c;直到最近才断断续续的追完。这才发现“高启强”这个人物身上有很多闪光点&#xff0c;值得学习借鉴。 他能从一个鱼贩逆袭成…

手捏Java知识点

今天开始面向对象了 面向对象基础 类&#xff1a;由属性和行为组成属性&#xff1a;在类中通过成员变量来体现行为&#xff1a;在类中通过成员方法来体现public class 类名{//成员变量变量1的数据类型 变量1;变量2的数据类型 变量2;...//成员方法方法1;方法2;...}有几个重要的概…

如何优雅地修改同事的代码

前言 互联网开发多以团队协同的方式为主&#xff0c;在实际的开发过程中&#xff0c;我们经常会面对在同事的代码的基础上重新开发的需求。然而由于人员的迭代、需求的变更、文档的缺失等原因&#xff0c;我们贸然修改同事的代码往往需要承担一些额外的开发风险&#xff0c;比如…

Java8 map.getOrDefault()你真的了解吗

大家好&#xff0c;我是三叔&#xff0c;很高兴这期又和大家见面了&#xff0c;一个奋斗在互联网的打工人。 map.getOrDefault()方法 在Java编程中&#xff0c;Map是一种非常常用的数据结构。Map通常用于存储键值对&#xff0c;其中每个键映射到一个值。当我们尝试访问一个不…

同是打工人,学Python搞副业的朋友跟高启强一样实现逆袭了?

年过完了&#xff0c;现在已经回归工作岗位&#xff0c;接着拧自己的螺丝钉&#xff0c;不过&#xff0c;假期也不算寂寞&#xff0c;追了大热的电视剧《狂飙》。卖鱼小贩高启强的逆袭让我这种打工人太羡慕了&#xff0c;当他坐在白金瀚的办公室里美滋滋的喝着红酒的时候&#…

张杰清唱高启强专属BGM简直就是天作之合,千万别点进来看

张杰清唱高启强专属BGM简直就是天作之合&#xff0c;千万别点进来看&#xff0c;#张杰#BGM#音乐 张杰演唱的《听》狂飙高启强自从出现在抖音上更是火得不可思议&#xff0c;它成为了不少年轻人喜爱的BGM&#xff0c;尤其是用它作为专属BGM的抖音视频更是受到网友的一致好评。 …

老默我想吃鱼了(抽象艺术)

目录 指针地位 代码示例 人物关系 代码分析 总结 指针地位 在C语言中 指针的地位可以说是王中王 代码示例 如下 #define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>int main() {int a 15;printf("老默出手前鱼的值:%d\n", a);int* pa &a;*pa 30;p…

冯雷老师:为什么大嫂陈书婷让高启强终生难忘?

高启强对大嫂陈书婷的感情非常深&#xff0c;大嫂死后高启强终生未娶&#xff0c;那为什么大嫂陈书婷让高启强终生难忘呢&#xff1f; 第一、既能助力男人&#xff0c;又识大体懂分寸。在帮助高启强拜泰叔当干爹后&#xff0c;就回归家庭当一个贤妻良母。从不插手老公的生意。…

学术汇报(academic presentation)/PPT应该怎么做?

已经上了研究生两年了&#xff0c;但是一直没有规范过PPT应该怎么做&#xff1f;都是瞎做的&#xff0c;也没有注意过排版什么的&#xff0c;前一段时间被老师批评后&#xff0c;才开始想怎么做好学术汇报&#xff0c;下面将我整理的一些规范和步骤记录下来 一些琐碎的事情&…

阿里、腾讯御用PPT设计师:让你在年终汇报中做最靓的仔!

你知道现在年轻人靠什么赚钱吗&#xff1f; 前几天&#xff0c;知乎上一篇关于“副业”的回答吓我一跳&#xff0c;一个大三学生&#xff0c;只靠副业赚够14W。 14万什么概念&#xff0c;是一个普通白领不吃不喝至少2年的工资。 干什么能一下赚这么多&#xff1f; 他一没抢钱二…