导入依赖

<!-- kaptcha 验证码开源组件 -->
<dependency><groupId>com.github.penggle</groupId><artifactId>kaptcha</artifactId><version>2.3.2</version>
</dependency>

kaptcha.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-3.1.xsd"><!-- Kaptcha组件配置 --><bean id="kaptchaProducer" class="com.google.code.kaptcha.impl.DefaultKaptcha"><property name="config"><bean class="com.google.code.kaptcha.util.Config"><constructor-arg><props><!-- 验证码宽度 --><prop key="kaptcha.image.width">120</prop><!-- 验证码高度 --><prop key="kaptcha.image.height">50</prop><!-- 生成验证码内容范围 --><prop key="kaptcha.textproducer.char.string">0123456789AKWUEHPMRX</prop><!-- 验证码个数 --><prop key="kaptcha.textproducer.char.length">4</prop><!-- 是否有边框 --><prop key="kaptcha.border">no</prop><!-- 边框颜色 --><prop key="kaptcha.border.color">105,179,90</prop><!-- 边框厚度 --><prop key="kaptcha.border.thickness">1</prop><!-- 验证码字体颜色 --><prop key="kaptcha.textproducer.font.color">yellow</prop><!-- 验证码字体大小 --><prop key="kaptcha.textproducer.font.size">30</prop><!-- 验证码所属字体样式 --><prop key="kaptcha.textproducer.font.names">楷体</prop><!-- 干扰线颜色 --><prop key="kaptcha.noise.color">black</prop><!-- 验证码文本字符间距 --><prop key="kaptcha.textproducer.char.space">8</prop><!-- 图片样式 :阴影--><prop key="kaptcha.obscurificator.impl">com.google.code.kaptcha.impl.ShadowGimpy</prop></props></constructor-arg></bean></property></bean>
</beans>

KaptchaController

package com.xycf.springboot01.controller;import com.google.code.kaptcha.Producer;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.servlet.ModelAndView;import javax.imageio.ImageIO;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.awt.image.BufferedImage;
import java.io.IOException;/*** 验证码* @author: ztc* @date: 2022/5/26*/
@Controller
public class KaptchaController {private Producer kaptchaProducer=null;@Autowiredpublic void setKaptchaProducer(Producer kaptchaProducer) {this.kaptchaProducer = kaptchaProducer;}@GetMapping(value = "/getVerifyCode")public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response){response.setDateHeader("Expires",0);response.setHeader("Cache-Control", "no-store, no-cache, must-revalidate");response.addHeader("Cache-Control", "post-check=0, pre-check=0");response.setHeader("Pragma", "no-cache");response.setContentType("image/jpeg");String capText = kaptchaProducer.createText();//将验证码保存到session中request.getSession().setAttribute("verifyCode", capText);BufferedImage bi = kaptchaProducer.createImage(capText);ServletOutputStream out = null;try {out = response.getOutputStream();ImageIO.write(bi, "jpg", out);} catch (IOException e) {e.printStackTrace();}try {out.flush();} catch (IOException e) {e.printStackTrace();} finally {try {out.close();} catch (IOException e) {e.printStackTrace();}}return null;}
}

html页面

<body><img id="kaptchaImage" style="width: 120px;height: 50px" src="/getVerifyCode" onclick="change()">
</body>
<script>function change() {$('#kaptchaImage').click(function () {$(this).attr('src', '/getVerifyCode?' + Math.floor(Math.random() * 100));})}
</script>

效果图

springboot集成kaptcha验证码相关推荐

  1. Springboot整合kaptcha验证码

    Springboot整合kaptcha验证码 01.通过配置类来配置kaptcha 01-01.添加kaptcha的依赖: <!-- kaptcha验证码 --> <dependen ...

  2. springboot集成kaptcha 2.3.2

    首先百度下载个 kaptcha-2.3.2.jar 的jar包,下载后我直接放到桌面 打开cmd窗口 cd C:\Users\Administrator\Desktop mvn install:ins ...

  3. spring boot集成kaptcha图形验证码

    文章目录 环境变化引发的思考 web.xml设置kaptcha图形验证码 config设置kaptcha图形验证码 kaptcha图形验证码完整教程 kaptcha图形验证码属性表 Linux环境下k ...

  4. SpringBoot 实现登录验证码(附集成SpringSecurity)

    SpringBoot 实现登录验证码 1. 生成验证码的工具类 2. 验证码测试接口 3. 验证码过滤器 4. Spring Security配置类引入验证码过滤器 5. 效果图 1. 生成验证码的工 ...

  5. Springboot 集成 AJ-Captcha 行为验证码实战 -- 验证码

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 @[TOC](文章目录) Springboot 集成 AJ-Captcha 行为验证码实战 前言 一.引入依赖 二.yml ...

  6. springboot使用kaptcha设置图形验证码

    kaptcha参数说明: Constant 描述 默认值 kaptcha.border  图片边框,合法值:yes , no yes  kaptcha.border.color  边框颜色,合法值: ...

  7. Springboot整合kaptcha实现验证码

    验证码的作用 防止恶意破解密码.刷票.论坛灌水.刷页. 有效防止某个黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登录尝试,实际上使用验证码是现在很多网站通行的方式(比如招商银行的网上个人银 ...

  8. 【Spring Boot组件集成实战】集成Kaptcha谷歌验证码

    更多精彩内容,请访问 Spring Boot组件集成实战专栏 ! 推荐项目:一套基于Spring Boot+Layui的内容管理系统/快速开发脚手架(含完整的开发文档.演示网址等) 文章目录 1. 验 ...

  9. (SSM 和 SpringBoot ) Kaptcha 实现登录验证码

    一.导入 jar 包 第一种:maven <!-- 验证码 --> <!-- https://mvnrepository.com/artifact/com.github.penggl ...

最新文章

  1. ZeroMQ接口函数之 :zmq_msg_init - 初始化一个空的ZMQ消息结构
  2. XShell配置Socket5代理
  3. 解决引入 lombok 注解不生效
  4. hdu 3006 位运算
  5. 从零开始实现ASP.NET Core MVC的插件式开发(一) - 使用ApplicationPart动态加载控制器和视图
  6. 渲染层网络层错误_网络层IP报文详解和IP的类别?
  7. Novel-Ai本地部署教程
  8. Android APK反编译教程
  9. 批量删除多个 PPT 空白页
  10. 微信公众号过程中都有哪些技巧,提升公众号活跃度
  11. 拿webshell的一些姿势
  12. OceanBase分区表使用
  13. mt管理器怎么运行HTML文件,MT管理器怎么修改游戏数据 MT管理器修改内购教程
  14. 易语言安卓模拟器adb模块制作查看模拟器设备adb devices
  15. 第三方接口该如何调用
  16. Java邮箱验证错误收集
  17. 一加6可以刷的rom_一加手机怎么刷MIUI系统
  18. Kali Linux 折腾笔记
  19. ubuntu20.04 server 无图形命令行安装
  20. python爬取大量百度图片

热门文章

  1. 3.1 MySQL数据
  2. 【自动驾驶轨迹规划之路径规划总结】
  3. PMP项目管理证书的含金量高吗?
  4. Android Material Design 之 Activity 跳转水波纹扩散动画
  5. 【JavaScript】关于eval#40;(+result+#41;)的认识
  6. 盛世昊通打造一站式B2B2C消费商城,助力实体零售数智化转型
  7. Confluent6.0平台搭建
  8. 最新最全内隐神经表征论文合集
  9. c语言阶码的位数,【判断题】浮点数的取值范围由阶码的位数决定,而精度由尾数的位数决定。 (1.0分)...
  10. Json问题:万国码转成汉字