首页
/ 【亲测免费】 EasyCaptcha 项目常见问题解决方案

【亲测免费】 EasyCaptcha 项目常见问题解决方案

2026-01-20 01:19:57作者:裘晴惠Vivianne

1. 项目基础介绍和主要编程语言

EasyCaptcha 是一个用于生成图形验证码的 Java 开源项目,支持 GIF、中文、算术等多种验证码类型。该项目适用于 Java Web 和 JavaSE 项目,提供了丰富的功能和灵活的配置选项。

2. 新手在使用 EasyCaptcha 项目时需要注意的 3 个问题及解决步骤

问题 1:如何正确引入 EasyCaptcha 依赖?

解决步骤:

  1. 使用 Maven 引入: 在项目的 pom.xml 文件中添加以下依赖:

    <dependency>
        <groupId>com.github.whvcse</groupId>
        <artifactId>easy-captcha</artifactId>
        <version>1.6.2</version>
    </dependency>
    
  2. 使用 Gradle 引入:build.gradle 文件中添加以下依赖:

    dependencies {
        compile 'com.github.whvcse:easy-captcha:1.6.2'
    }
    
  3. 手动下载 JAR 包: 下载 easy-captcha-1.6.2.jar 文件,并将其放置在项目的 libs 目录下。然后在 pom.xml 中添加以下配置:

    <dependency>
        <groupId>com.github.whvcse</groupId>
        <artifactId>easy-captcha</artifactId>
        <version>1.6.2</version>
        <systemPath>${basedir}/libs/easy-captcha-1.6.2.jar</systemPath>
    </dependency>
    

问题 2:如何在 Spring MVC 中使用 EasyCaptcha?

解决步骤:

  1. 创建控制器: 在 Spring MVC 项目中创建一个控制器类,用于生成验证码:

    @Controller
    public class CaptchaController {
        @RequestMapping("/captcha")
        public void captcha(HttpServletRequest request, HttpServletResponse response) throws Exception {
            CaptchaUtil.out(request, response);
        }
    }
    
  2. 前端页面配置: 在前端页面中添加以下 HTML 代码,用于显示验证码图片:

    <img src="/captcha" width="130px" height="48px" />
    
  3. 排除登录拦截: 确保 /captcha 路径不被登录拦截器拦截,例如在 Shiro 配置中排除该路径。

问题 3:如何判断用户输入的验证码是否正确?

解决步骤:

  1. 创建登录控制器: 在登录控制器中添加验证码校验逻辑:

    @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("验证码不正确");
            }
            // 其他登录逻辑
        }
    }
    
  2. 前端页面配置: 确保前端页面在提交表单时包含验证码字段:

    <form action="/login" method="post">
        <input type="text" name="username" />
        <input type="password" name="password" />
        <input type="text" name="verCode" />
        <img src="/captcha" width="130px" height="48px" />
        <button type="submit">登录</button>
    </form>
    

通过以上步骤,新手可以顺利地在项目中引入和使用 EasyCaptcha,并解决常见的验证码相关问题。

登录后查看全文
热门项目推荐
相关项目推荐