2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 验证码生成java_JAVA-验证码生成

验证码生成java_JAVA-验证码生成

时间:2020-09-14 18:55:15

相关推荐

验证码生成java_JAVA-验证码生成

pom文件引入

com.github.axet

kaptcha

0.0.9

废话不多,上代码

package com.example.basedemo.controller;

import com.google.code.kaptcha.Producer;

import com.google.code.kaptcha.impl.DefaultKaptcha;

import com.google.code.kaptcha.util.Config;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.context.annotation.Bean;

import org.springframework.web.bind.annotation.GetMapping;

import org.springframework.web.bind.annotation.RestController;

import javax.imageio.ImageIO;

import javax.servlet.ServletException;

import javax.servlet.ServletOutputStream;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import java.awt.image.BufferedImage;

import java.io.Closeable;

import java.io.IOException;

import java.util.Properties;

/**

* @Author: lmy

* @Date: /2/18 16:48

* @Description:

*/

@RestController

public class CreateCaptcha {

@Autowired

private Producer producer;

@Bean

public DefaultKaptcha producer() {

Properties properties = new Properties();

properties.put("kaptcha.border", "no");

properties.put("kaptcha.textproducer.font.color", "black");

properties.put("kaptcha.textproducer.char.space", "5");

Config config = new Config(properties);

DefaultKaptcha defaultKaptcha = new DefaultKaptcha();

defaultKaptcha.setConfig(config);

return defaultKaptcha;

}

@GetMapping("captcha.jpg")

public void captcha(HttpServletResponse response, HttpServletRequest request) throws ServletException, IOException {

response.setHeader("Cache-Control", "no-store, no-cache");

response.setContentType("image/jpeg");

// 生成文字验证码

String text = producer.createText();

// 生成图片验证码

BufferedImage image = producer.createImage(text);

// 保存到验证码到 session

request.getSession().setAttribute(com.google.code.kaptcha.Constants.KAPTCHA_SESSION_KEY, text);

ServletOutputStream out = response.getOutputStream();

ImageIO.write(image, "jpg", out);

closeQuietly(out);

}

/**

* 关闭对象,连接

* @param closeable

*/

public static void closeQuietly(final Closeable closeable) {

try {

if (closeable != null) {

closeable.close();

}

} catch (final IOException ioe) {

// ignore

}

}

}

最终效果

显示效果.png

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。