Java实现EasyCaptcha图形验证码的具体使用

 更新时间:2021年08月20日 09:16:09   作者:鼠色猫  
Java图形验证码,支持gif、中文、算术等类型,可用于Java Web、JavaSE等项目,下面就跟随小编一起来了解一下

EasyCaptcha

github地址: https://github.com/whvcse/EasyCaptcha

简介

Java图形验证码,支持gif、中文、算术等类型,可用于Java Web、JavaSE等项目。

效果展示(部分验证码闪动,截图无法展示)

在这里插入图片描述

导入方式

1、 maven

<dependencies>
 <dependency>
 	<groupId>com.github.whvcse</groupId>
 	<artifactId>easy-captcha</artifactId>
 	<version>1.6.2</version>
 </dependency>
 </dependencies>

2、 gradle

dependencies {
 compile 'com.github.whvcse:easy-captcha:1.6.2'
 }

jar包

下载地址 EasyCaptcha.jar

在SpringMVC中使用

@Controller
public class CaptchaController {
@RequestMapping("/captcha")  
public void captcha(HttpServletRequest request, HttpServletResponse response) throws Exception {  
    CaptchaUtil.out(request, response);  
}  
}

前端HTML

<img src="/captcha" width="130px" height="48px" />

如果使用了安全框架之类的拦截功能,要把/captcha路径排除登录拦截。

有些同学可能需要在Servlet中使用如下

web.xml中配置servlet:

<web-app>
 <!-- 图形验证码servlet -->
 <servlet>
 	<servlet-name>CaptchaServlet</servlet-name>
 	<servlet-class>com.wf.captcha.servlet.CaptchaServlet</servlet-class>
 </servlet>
 <servlet-mapping>
 	<servlet-name>CaptchaServlet</servlet-name>
 	<url-pattern>/captcha</url-pattern>
 </servlet-mapping>
 </web-app>

前端html代码:

<img src="/captcha" width="130px" height="48px" />

比较验证码

@Controller  
public class LoginController {  
	@PostMapping("/login")  
	public JsonResult login(String username,String password,String verCode){  
    	if (!CaptchaUtil.ver(verCode, request)) {  
        	CaptchaUtil.clear(request);  // 清除session中的验证码  
        	return JsonResult.error("验证码不正确");  
    }  
}   

设置宽高和位数

@Controller
public class CaptchaController {
    @RequestMapping("/captcha")  
    public void captcha(HttpServletRequest request, HttpServletResponse response) throws Exception {  
        // 设置位数  
        CaptchaUtil.out(5, request, response);  
        // 设置宽、高、位数  
        CaptchaUtil.out(130, 48, 5, request, response);  

        // 使用gif验证码  
        GifCaptcha gifCaptcha = new GifCaptcha(130,48,4);  
        CaptchaUtil.out(gifCaptcha, request, response);  
    }  
}

还有更多参数,可到作者github查看

到此这篇关于Java实现EasyCaptcha图形验证码的具体使用的文章就介绍到这了,更多相关Java EasyCaptcha图形验证码内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SpringMVC中的常用注解源码及解析

    SpringMVC中的常用注解源码及解析

    这篇文章主要介绍了SpringMVC中的常用注解源码及解析,SpringMVC是一种基于Java的Web框架,它使用了许多注解来简化开发过程,本文列举了一些常用的注解,需要的朋友可以参考下
    2023-10-10
  • java 语句块的使用详解及实例

    java 语句块的使用详解及实例

    这篇文章主要介绍了java 用语句块的正确方法实例详解的相关资料,需要的朋友可以参考下
    2017-01-01
  • Java日期毫秒值和常见日期时间格式相互转换方法

    Java日期毫秒值和常见日期时间格式相互转换方法

    这篇文章主要给大家介绍了关于Java日期毫秒值和常见日期时间格式相互转换的相关资料,在Java的日常开发中,会随时遇到需要对时间处理的情况,文中给出了详细的示例代码,需要的朋友可以参考下
    2023-07-07
  • Java中Arrays.asList()方法详解及实例

    Java中Arrays.asList()方法详解及实例

    这篇文章主要介绍了Java中Arrays.asList()方法将数组作为列表时的一些差异的相关资料,需要的朋友可以参考下
    2017-06-06
  • Kotlin 语言中调用 JavaScript 方法实例详解

    Kotlin 语言中调用 JavaScript 方法实例详解

    这篇文章主要介绍了Kotlin 语言中调用 JavaScript 方法实例详解的相关资料,需要的朋友可以参考下
    2017-06-06
  • java中对HashMap的put过程解读

    java中对HashMap的put过程解读

    这篇文章主要介绍了java中对HashMap的put过程解读,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • 基于Java利用static实现单例模式

    基于Java利用static实现单例模式

    这篇文章主要介绍了基于Java利用static实现单例模式,当在多个线程同时触发类的初始化过程的时候static不会被多次执行,下面我们一起进入文章看看具体要的原因
    2022-01-01
  • JAVA中五个重定向的方式盘点

    JAVA中五个重定向的方式盘点

    页面重定向即页面从当前请求的页面,有条件或者定时跳转到其他页面,下面这篇文章主要给大家介绍了关于JAVA中五个重定向的方式,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-12-12
  • SpringBoot读取自定义配置文件方式(properties,yaml)

    SpringBoot读取自定义配置文件方式(properties,yaml)

    这篇文章主要介绍了SpringBoot读取自定义配置文件方式(properties,yaml),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • Spring中@Transactional注解关键属性和用法小结

    Spring中@Transactional注解关键属性和用法小结

    在Spring框架中,@Transactional 是一个注解,用于声明事务性的方法,它提供了一种声明式的事务管理方式,避免了在代码中直接编写事务管理相关的代码,本文给大家介绍@Transactional 注解的一些关键属性和用法,感兴趣的朋友一起看看吧
    2023-12-12

最新评论