1. 导入依赖

导入kaptcha依赖:

com.github.penggle

kaptcha

2.3.2

2. 编写配置类:

@Configuration

public class KaptchaConfig {

@Bean

public 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","0,0,0");

properties.setProperty("kaptcha.textproducer.char.string","0123456789ABCDEFGHIJKLMOPQRSTUVWXYZ");

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 将验证码存入 session 并以图片的形式传回前端

/**

* 生成验证码并返回

*

* @param response

* @param session

*/

@GetMapping("/kaptcha")

public void getKaptchaImage(HttpServletResponse response, HttpSession session) {

String text = producer.createText();

BufferedImage image = producer.createImage(text);

// 将验证码存到session中

session.setAttribute("kaptcha", text);

// 将图片返回给浏览器

response.setContentType("image/png");

try {

OutputStream os = response.getOutputStream();

// 利用写出图片的工具类

ImageIO.write(image, "png", os);

} catch (IOException e) {

logger.error(e.getMessage());

}

}

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

  1. Java Web学习总结(22)——使用kaptcha生成验证码

    kaptcha是一个简单好用的验证码生成工具,通过配置,可以自己定义验证码大小.颜色.显示的字符等等.下面就来讲一下如何使用kaptcha生成验证码以及在服务器端取出验证码进行校验. 一.搭建测试环境 ...

  2. java inputtools_Java后台开发常用工具类

    本文涉及的工具类部分是自己编写,另一部分是在项目里收集的.工具类涉及数据库连接.格式转换.文件操作.发送邮件等等.提高开发效率,欢迎收藏与转载. 数据库连接工具类 数据库连接工具类--仅仅获得连接对象 ...

  3. java 兼容excel_Java解析Excel工具类(兼容xls和xlsx)

    依赖jar org.apache.poi poi-ooxml 4.0.1 ExcelUtils.java package javax.utils; import java.io.File; impor ...

  4. 【java笔记】Collections集合工具类

    java.utils.Collections是集合工具类,用来对集合进行操作 常用方法: public static<T>boolean addAll(Collection<T> ...

  5. (转)JAVA 十六个常用工具类

    (转)JAVA 十六个常用工具类 一. org.apache.commons.io.IOUtils closeQuietly 关闭一个IO流.socket.或者selector且不抛出异常.通常放在f ...

  6. java获取视频第一帧工具类

    java获取视频文件第一帧,为了防止黑画面,此例取第五帧,本例子采用maven形式,可以获取视频的文件大小. 1. pom.xml 添加引用jar包 jdk采用1.8,日志自行添加即可,这里使用的是l ...

  7. JAVA 文件上传下载工具类

    JAVA 文件上传下载工具类 import lombok.extern.slf4j.Slf4j; import org.apache.commons.io.FileUtils; import org. ...

  8. Java版CRC8和CRC16工具类

    搞物联应用,通信时常用CRC校验.下面是Java版的CRC算法工具类,可直接使用. CRC8工具类 public class CRC8Util {static byte[] crc8_tab = {( ...

  9. java企业微信消息发送工具类

    java企业微信消息发送工具类 用途 基于java实现调用企业微信发送消息,文件,图片. 实现效果 文件列表 文件名 用途 WechatUtil.java 企业微信工具类 WechatTest.jav ...

  10. JAVA实现 PDF转换 常用工具类(html转PDF、PDF添加页码、PDF文件下载、PDF添加印章或者水印)

    JAVA实现 PDF转换 常用工具类(html转PDF.PDF添加页码.PDF文件下载.PDF添加印章或者水印)可直接使用 package com.bestvike.util; import com. ...

最新文章

  1. Linux磁盘阵列技术详解(二)--raid 1创建
  2. fsb,fev文件格式转换,提取与打包
  3. python 实现点击右键用某个程序打开功能_工欲善其事,必先利其器(1)——Python开发环境安装与配置...
  4. php怎么去除内容,php怎么把html标签去除?
  5. n阶方阵的蛇形排列java_「P·R·N·D」的排列顺序为何成为行业标准,能不能改变呢?...
  6. linux jvm启动过程,Linux操作系统启动过程详解
  7. 原生 JavaScript 实现扫雷
  8. 也许你需要在 Antergos 与 Arch Linux 中查看印度语和梵文?
  9. 键盘 计算机代码,键盘钩子示例
  10. HAWQ取代传统数仓实践(一)——为什么选择HAWQ
  11. 【python】python语法糖
  12. python三重积分_(整理)三重积分及其计算和多重积分.
  13. workman+thinkPHP 即时通讯
  14. 常用的的身份证校验方法
  15. Jenkins+Newman+Postman生成接口自动化测试报告
  16. Excel如何打开两个独立窗口
  17. 千兆网卡和普通网卡有什么区别?如何判断?
  18. echarts地图自定义,上海市崇明区陆地地图
  19. unity3d布娃娃2
  20. VMP学习笔记之反汇编引擎学习(三)

热门文章

  1. 做嵌入式的必须学Android吗
  2. 【笔记】一些linux实用函数技巧【原创】
  3. 洛谷——P1546 最短网络 Agri-Net
  4. linux下cat命令详解
  5. UIControl-IOS开发
  6. 转:探索 AIX 6:在 AIX 6 上配置 iSCSI Target
  7. 《OEA - 实体扩展属性系统 - 设计方案说明书》
  8. 机器学习 缺陷检测_球检测-体育中的机器学习。
  9. 423. 从英文中重建数字
  10. leetcode面试题 16.19. 水域大小(深度优先搜索)