美文网首页Java工具
【Java工具类】使用Kaptcha生成验证码写回页面中

【Java工具类】使用Kaptcha生成验证码写回页面中

作者: itlu | 来源:发表于2021-03-12 10:08 被阅读0次

1. 导入依赖

  1. 导入kaptcha依赖:
        <!-- 验证码生成 -->
        <!-- https://mvnrepository.com/artifact/com.github.penggle/kaptcha -->
        <dependency>
            <groupId>com.github.penggle</groupId>
            <artifactId>kaptcha</artifactId>
            <version>2.3.2</version>
        </dependency>

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工具类】使用Kaptcha生成验证码写回页面中

    1. 导入依赖 导入kaptcha依赖: 2. 编写配置类: 3. 编写 Controller 将验证码存入 se...

  • springboot + shiro 验证码与记住登录

    源码项目地址 验证码实现 关于kaptcha kaptcha 是一个很有用的验证码生成工具。有了它,你能够生成各种...

  • kaptcha的使用

    1、添加kaptcha依赖 2、新建KaptchaConfig配置类 3、编写一个请求来生成验证码 4、页面显示

  • Kaptcha生成验证码

    Kaptcha 简介 Kaptcha 是一个可高度配置的实用验证码生成工具,可自由配置的选项如:验证码的字体验证码...

  • Kaptcha-验证码

    Kaptcha 简介 Kaptcha 是一个可高度配置的实用验证码生成工具,可自由配置的选项如: 验证码的字体 验...

  • 使用kaptcha完成验证码

    #前言 在任何一个系统中验证码都是很重要的一个环节,kaptcha是一个验证码生成工具,丰富的个性化设置。下面使用...

  • spring整合kaptcha验证码

    kaptcha简介: kaptcha 是一个很有用的验证码生成工具,由于它有许多可配置项,所以用它可以简单快捷的生...

  • 验证服务

    图片验证码 1、编写工具类 2、编写Controller 图片验证码第三方组件:jcaptcha、kaptcha ...

  • Kaptcha验证码介绍

    介绍 kaptcha 是一个很有用的验证码生成工具。有了它,你能够生成各种样式的验证码,由于它是可配置的。 kap...

  • Spring Boot快速集成kaptcha生成验证码

    Kaptcha是一个非常实用的验证码生成工具,可以通过配置生成多样化的验证码,以图片的形式显示,从而无法进行复制粘...

网友评论

    本文标题:【Java工具类】使用Kaptcha生成验证码写回页面中

    本文链接:https://www.haomeiwen.com/subject/hmnaqltx.html