时间:2022-03-21 09:28:56 | 栏目:JAVA代码 | 点击:次
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
@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路径排除登录拦截。
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查看