本文是基于SpringBoot整合Kaptcha验证码实现

Kaptcha 是一个可高度配置的实用验证码生成工具,在项目开发中能够非常方便实现验证码

先来看一个由 Kaptcha 制作的验证码效果图

快速进入如何进行配置与实现的

第1步:配置 Kaptcha 的依赖库

        com.github.penggle            kaptcha            2.3.2

第2步:编写配置类

package com.dingsheng.configuration;import com.google.code.kaptcha.impl.DefaultKaptcha;import com.google.code.kaptcha.util.Config;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import java.util.Properties;/** * 验证码 - Kaptcha - 插件 */@Configurationpublic class KaptchaConfig {    @Bean    public DefaultKaptcha getDefaultKaptcha() {        DefaultKaptcha captchaProducer = new DefaultKaptcha();        Properties properties = new Properties();        properties.setProperty("kaptcha.border", "yes");        properties.setProperty("kaptcha.border.color", "105,179,90");        properties.setProperty("kaptcha.textproducer.font.color", "blue");        properties.setProperty("kaptcha.image.width", "100");        properties.setProperty("kaptcha.image.height", "38");        properties.setProperty("kaptcha.textproducer.font.size", "30");        properties.setProperty("kaptcha.session.key", "code");        properties.setProperty("kaptcha.textproducer.char.length", "4");        properties.setProperty("kaptcha.textproducer.font.names", "宋体,楷体,微软雅黑");        Config config = new Config(properties);        captchaProducer.setConfig(config);        return captchaProducer;    }}

第3步:编写KaptchaController

package com.dingsheng.controller;import com.google.code.kaptcha.Constants;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 javax.imageio.ImageIO;import javax.servlet.ServletOutputStream;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import java.awt.image.BufferedImage;import java.io.IOException;@Controllerpublic class KatchaController {    @Autowired    private Producer producer = null;    @GetMapping("/captcha")    public void getKaptchaImage(HttpServletRequest request, HttpServletResponse response) throws IOException {        HttpSession session = request.getSession();        response.setDateHeader("Expires", 0);        response.setHeader("Cache-Control", "no-store, no-cache, must-revalidate"); // 浏览器和任何中继的Web代理,都不会存储这次相应的数据        response.addHeader("Cache-Control", "post-check=0, pre-check=0");        response.setHeader("Pragma", "no-cache");        response.setContentType("image/jpeg");        // 生成验证码        String capText = producer.createText();        session.setAttribute(Constants.KAPTCHA_SESSION_KEY, capText);        // 输出验证码        BufferedImage bi = producer.createImage(capText);        ServletOutputStream out = response.getOutputStream();        ImageIO.write(bi, "jpg", out);        out.flush();        out.close();    }}

第4步:页面引入验证码的请求地址

通过上面的4个步骤,即可以实现由 Kaptcha 制作的验证码

java 验证码_Java - 验证码 - 由Kaptcha组件实现相关推荐

  1. java 生成校验验证码_java 验证码生成与校验

    java绘图相关类 验证码工具类 package dt2008.util; import javax.imageio.ImageIO; import javax.servlet.http.HttpSe ...

  2. java加减法验证码_Java,Springboot 实现算法验证码加减法图形验证码,Kaptcha 实现加减法验证码...

    最近在做一个加减法验证码,记录下实现的过程. 通常Java实现验证码的工具会用到 kaptcha 这个工具包,但实现的验证码都是图形验证码,没有看到加法验证码,查询了相关资料,实现了加减法验证码,效果 ...

  3. 谷歌了java集成开发_Spring整合Kaptcha谷歌验证码工具的开发步骤

    开发步骤: 1.加入依赖 com.google.code.kaptcha kaptcha 2.3 国内镜像无法下载该依赖,需要手动通过jar包在本地仓库安装一个依赖. 安装命令: mvn instal ...

  4. java登录的 验证码_java登录验证码

    一.创建web项目 二.生成验证码 创建VcodeObject.java,存储验证码与图片 package com.demo.vcode; import java.io.InputStream; pu ...

  5. java验证码画布类型,【Java工具类】使用Kaptcha生成验证码写回页面中

    1. 导入依赖 导入kaptcha依赖: com.github.penggle kaptcha 2.3.2 2. 编写配置类: @Configuration public class KaptchaC ...

  6. java邮箱验证码_Java实现邮箱验证码

    原标题:Java实现邮箱验证码 声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权:凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记. 邮箱验证码 一般能使用邮箱注 ...

  7. java 登录验证码_java实现登录验证码

    本文实例为大家分享了java实现登录验证码的具体代码,供大家参考,具体内容如下 1.ValidateCode.java import java.awt.Color; import java.awt.F ...

  8. java短信验证码失效时间_Java实现短信验证码--设置发送间隔时间,以及有效时间(Java+Redis)...

    Java实现短信验证码--设置发送间隔时间,以及有效时间(Java+Redis) 这篇文章,实现了Java发送手机短信验证码发送的间隔时间,以及手机验证码的有效时间和手机验证码格式的合法性验证,可以防 ...

  9. java 验证码_java实现简单的验证码功能

    最近要做一个网站,要求实现验证码程序,经过不断调试,终于成功实现功能. 一.验证码生成类 生成验证码的话需要用到java的Graphics类库,画出一个验证码 废话不多说,直接上代码 package ...

最新文章

  1. 挪动以太坊:比特币现金的新功能使其成为智能合约竞争者
  2. 十个 SCP 传输命令例子
  3. u盘安装linux18.04.3遇到的坑
  4. linux uname内核,Linux下confstr与uname函数_获取C库与内核信息
  5. VirtualBox下安装Ubuntu Server 16.04
  6. VRRP浮动路由(浮动路由原理,了解HSRP路由选举原理,实验过程与总结)
  7. java与java ee_RxJava + Java8 + Java EE 7 + Arquillian =幸福
  8. Java之IO操作总结
  9. windows下的终端工具和产品力
  10. C++开发环境如何设置呢?
  11. java中方法的_Java中的常用方法
  12. 图形推理1000题pdf_江苏省考倒计时4天!再看一遍判断推理各个模块重点!
  13. vue后台管理框架(iview + vue)
  14. 国内半导体发展现状——部分上市公司分类名单
  15. 张子阳:如何在30岁前年薪超过30万
  16. 爬取Google网站的图片
  17. 使用MFC绘制一些简单图形
  18. 高清免费壁纸网站推荐
  19. Android基础四大组件详解
  20. 74HC245芯片简析

热门文章

  1. Java网络编程从入门到精通(7):用getHostAddress方法获得IP地址
  2. 中职一年级计算机英语课件,中职生一年级英语.doc
  3. wxpython使用实例_wxPython中文教程入门实例
  4. Gargari and Permutations CodeForces - 463D(建图+记忆化搜索)
  5. little w and Segment Coverage(差分)
  6. android视频闪退,安卓 app 视频闪退问题
  7. 【计算机组成原理】乘法阵列器
  8. 【计算机组成原理】十进制数串
  9. python安装库后无法调用摄像头_银川监控摄像头安装,有人在代码里下毒!慎用 pip install 命令...
  10. 查看linux文件系统结构,如何查看Linux系统架构类型