使用google.kaptcha来生成图片验证码的实现方法

 更新时间:2018年09月12日 11:13:55   作者:就是安生呀  
这篇文章主要介绍了使用google.kaptcha来生成图片验证码的实现方法,非常不错具有一定的参考借鉴价值,需要的朋友可以参考下

1.导入依赖

  <dependency>
   <groupId>com.google.code</groupId>
   <artifactId>kaptcha</artifactId>
   <version>2.3.2</version>
  </dependency>

图片展示如下,具体jar包自己下载

jar包下载完可以使用就很完美,如果导入之后报错不能使用,则手动添加jar,进入jar所在的位置,然后执行下面命令

mvn install:install-file -DgroupId=com.google.code -DartifactId=kaptcha -Dversion=0.0.9 -Dfile=kaptcha-0.0.9.jar -Dpackaging=jar -DgeneratePom=true

然后开始写代码:

需要一个类,可以定义到entity中,看你心情吧,你开心就好,图片如下

代码如下:

@Configuration
public class KaptchaConfig {
 @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;
 }
}

然后是controll代码,也很简单,直接上代码,如下:

 //图片验证码
 @RequestMapping("/captcha.jpg")
 public void captcha(HttpServletResponse response)throws IOException {
  response.setHeader("Cache-Control", "no-store, no-cache");
  response.setContentType("image/jpeg");
  //生成文字验证码
  String text = producer.createText();
  producer.createText();
  //生成图片验证码
  BufferedImage image = producer.createImage(text);
  ServletOutputStream out = response.getOutputStream();
  ImageIO.write(image, "jpg", out);
 }

最后完成之后验证码是数字字母的组合,效果图如下所示:


总结

以上所述是小编给大家介绍的使用google.kaptcha来生成图片验证码的实现方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • SpringMvc框架的简介与执行流程详解

    SpringMvc框架的简介与执行流程详解

    MVC是一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个组件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑,MVC分层有助于管理和架构复杂的应用程序
    2021-06-06
  • 详解SpringBoot中@ConditionalOnClass注解的使用

    详解SpringBoot中@ConditionalOnClass注解的使用

    这篇文章主要和大家详细介绍一下springboot中@ConditionalOnClass注解的用法,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
    2022-08-08
  • MyBatisPlus+SpringBoot实现乐观锁功能详细流程

    MyBatisPlus+SpringBoot实现乐观锁功能详细流程

    乐观锁是针对一些特定问题的解决方案,主要解决丢失更新问题,下面这篇文章主要给大家介绍了关于MyBatisPlus+SpringBoot实现乐观锁功能的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-03-03
  • Mybatis使用Collection属性的示例代码

    Mybatis使用Collection属性的示例代码

    本文主要介绍了Mybatis使用Collection属性的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • 一次Jvm old过高的排查过程实战记录

    一次Jvm old过高的排查过程实战记录

    这篇文章主要给大家介绍了一次Jvm old过高的排查过程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-11-11
  • springboot3.2整合mybatis-plus详细代码示例

    springboot3.2整合mybatis-plus详细代码示例

    这篇文章主要给大家介绍了关于springboot3.2整合mybatis-plus的相关资料,Spring Boot是一个非常流行的Java Web框架,可以快速地搭建Web应用程序,需要的朋友可以参考下
    2023-12-12
  • 解决Maven多模块编译慢的问题

    解决Maven多模块编译慢的问题

    这篇文章主要介绍了Maven多模块编译慢的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • jfreechart画折线图的方法

    jfreechart画折线图的方法

    这篇文章主要为大家详细介绍了jfreechart画折线图的方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-06-06
  • java并发请求下数据插入重复问题的解决方法

    java并发请求下数据插入重复问题的解决方法

    现在遇到一个项目,移动设备存储数据,然后一起上传,那就出现了许多重复数据,这篇文章主要给大家介绍了关于java并发请求下数据插入重复问题的解决方法,需要的朋友可以参考下
    2021-11-11
  • SpringCloud Gateway鉴权和跨域解决方案

    SpringCloud Gateway鉴权和跨域解决方案

    网关是介于客户端和服务器端之间的中间层,所有的外部请求都会先经过 网关这一层,也就是说,API 的实现方面更多的考虑业务逻辑,而安全、性能、监控可以交由 网关来做,这样既提高业务灵活性又不缺安全性,本文给大家介绍SpringCloud Gateway鉴权和跨域解决方案,一起看看吧
    2023-11-11

最新评论