乐愚社区Beta

 编程语言  >  一款超好用的开源的图形验证码:EasyCaptcha

一款超好用的开源的图形验证码:EasyCaptcha

旁观者  L21  • 2022-02-13 • 回复 2 • 只看楼主举报    

 

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查看

 

声明:本文系转载文章,仅供学习交流使用,侵权请联系删除


2条回帖
小龙人zz  L2  评论于
(0)  回复(0) 1#
刚好可以用到,这种组件在开发中挺常用的
小龙人zz  L2  评论于 • 最后编辑于2022-02-27 18:44
(0)  回复(0) 2#
地址换新了,项目名称没变
还没注册帐号?快来注册社区帐号,和我们一起嗨起来!
关于本社区

集各类兴趣爱好于一身的轻量化交流社区,在此您可以和他人一起分享交流您觉得有价值的内容,社区鼓励大家发表原创内容,为社区添砖加瓦!

发帖奖励 → 社区版规 → 招聘版主 →
推荐版块
扫描二维码下载社区APP
回到顶部