java 验证码_Java - 验证码 - 由Kaptcha组件实现
本文是基于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组件实现相关推荐
- java 生成校验验证码_java 验证码生成与校验
java绘图相关类 验证码工具类 package dt2008.util; import javax.imageio.ImageIO; import javax.servlet.http.HttpSe ...
- java加减法验证码_Java,Springboot 实现算法验证码加减法图形验证码,Kaptcha 实现加减法验证码...
最近在做一个加减法验证码,记录下实现的过程. 通常Java实现验证码的工具会用到 kaptcha 这个工具包,但实现的验证码都是图形验证码,没有看到加法验证码,查询了相关资料,实现了加减法验证码,效果 ...
- 谷歌了java集成开发_Spring整合Kaptcha谷歌验证码工具的开发步骤
开发步骤: 1.加入依赖 com.google.code.kaptcha kaptcha 2.3 国内镜像无法下载该依赖,需要手动通过jar包在本地仓库安装一个依赖. 安装命令: mvn instal ...
- java登录的 验证码_java登录验证码
一.创建web项目 二.生成验证码 创建VcodeObject.java,存储验证码与图片 package com.demo.vcode; import java.io.InputStream; pu ...
- java验证码画布类型,【Java工具类】使用Kaptcha生成验证码写回页面中
1. 导入依赖 导入kaptcha依赖: com.github.penggle kaptcha 2.3.2 2. 编写配置类: @Configuration public class KaptchaC ...
- java邮箱验证码_Java实现邮箱验证码
原标题:Java实现邮箱验证码 声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权:凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记. 邮箱验证码 一般能使用邮箱注 ...
- java 登录验证码_java实现登录验证码
本文实例为大家分享了java实现登录验证码的具体代码,供大家参考,具体内容如下 1.ValidateCode.java import java.awt.Color; import java.awt.F ...
- java短信验证码失效时间_Java实现短信验证码--设置发送间隔时间,以及有效时间(Java+Redis)...
Java实现短信验证码--设置发送间隔时间,以及有效时间(Java+Redis) 这篇文章,实现了Java发送手机短信验证码发送的间隔时间,以及手机验证码的有效时间和手机验证码格式的合法性验证,可以防 ...
- java 验证码_java实现简单的验证码功能
最近要做一个网站,要求实现验证码程序,经过不断调试,终于成功实现功能. 一.验证码生成类 生成验证码的话需要用到java的Graphics类库,画出一个验证码 废话不多说,直接上代码 package ...
最新文章
- 挪动以太坊:比特币现金的新功能使其成为智能合约竞争者
- 十个 SCP 传输命令例子
- u盘安装linux18.04.3遇到的坑
- linux uname内核,Linux下confstr与uname函数_获取C库与内核信息
- VirtualBox下安装Ubuntu Server 16.04
- VRRP浮动路由(浮动路由原理,了解HSRP路由选举原理,实验过程与总结)
- java与java ee_RxJava + Java8 + Java EE 7 + Arquillian =幸福
- Java之IO操作总结
- windows下的终端工具和产品力
- C++开发环境如何设置呢?
- java中方法的_Java中的常用方法
- 图形推理1000题pdf_江苏省考倒计时4天!再看一遍判断推理各个模块重点!
- vue后台管理框架(iview + vue)
- 国内半导体发展现状——部分上市公司分类名单
- 张子阳:如何在30岁前年薪超过30万
- 爬取Google网站的图片
- 使用MFC绘制一些简单图形
- 高清免费壁纸网站推荐
- Android基础四大组件详解
- 74HC245芯片简析
热门文章
- Java网络编程从入门到精通(7):用getHostAddress方法获得IP地址
- 中职一年级计算机英语课件,中职生一年级英语.doc
- wxpython使用实例_wxPython中文教程入门实例
- Gargari and Permutations CodeForces - 463D(建图+记忆化搜索)
- little w and Segment Coverage(差分)
- android视频闪退,安卓 app 视频闪退问题
- 【计算机组成原理】乘法阵列器
- 【计算机组成原理】十进制数串
- python安装库后无法调用摄像头_银川监控摄像头安装,有人在代码里下毒!慎用 pip install 命令...
- 查看linux文件系统结构,如何查看Linux系统架构类型