# springboot-captcha **Repository Path**: chen-zhangyi666/springboot-captcha ## Basic Information - **Project Name**: springboot-captcha - **Description**: 大家好!今天我要和大家分享一个非常实用的功能:Spring Boot图片验证码。这个功能可以防止恶意攻击,比如暴力破解、刷票等。我们实现的是一个带有加减法运算的图片验证码,用户需要正确计算结果才能通过验证。 适合人群:Java初学者、Spring Boot新手、想要学习验证码实现的朋友 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-10-14 - **Last Updated**: 2026-04-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Springboot 验证码示例项目 这是一个基于 Spring Boot 的验证码生成与验证示例项目,适用于需要在 Web 应用中集成验证码功能的开发者。 ## 功能特性 - 生成数学表达式验证码 - 支持验证码图片生成与验证 - 提供内存存储验证码的实现 - 包含 RESTful API 示例与页面模板 - 支持跨域请求配置(CORS) ## 技术栈 - Spring Boot - Java - Thymeleaf(HTML 模板) - Maven(依赖管理) ## 快速开始 ### 启动项目 1. 确保已安装 JDK 1.8 或更高版本。 2. 使用 Maven 构建项目: ```bash mvn clean install ``` 3. 启动 Spring Boot 应用: ```bash mvn spring-boot:run ``` ### 访问接口 - **获取验证码图片(基于 Session)** `GET http://localhost:8080/captcha` - **验证用户输入的验证码(基于 Session)** `POST http://localhost:8080/validate?answer=xxx` - **获取验证码图片(基于内存存储)** `GET http://localhost:8080/memory-captcha` - **验证用户输入的验证码(基于内存存储)** `POST http://localhost:8080/memory-validate?captchaId=xxx&answer=xxx` - **访问首页** `GET http://localhost:8080/` ## 项目结构说明 - `CaptchaController`:处理验证码生成与验证的控制器。 - `CaptchaService`:验证码服务接口及实现类。 - `CaptchaUtil`:验证码生成工具类,包含数学表达式与图片生成逻辑。 - `MemoryCaptchaService`:基于内存的验证码存储与验证实现。 - `CorsConfig`:跨域请求配置,便于前后端分离开发。 - `templates/index.html`:前端页面模板,展示验证码功能。 ## 测试 - `CaptchaUtilTest`:包含验证码生成与图片生成的单元测试。 ## 贡献指南 欢迎提交 Issue 与 Pull Request,帮助完善项目功能与文档。 ## 许可证 本项目采用 MIT 许可证。详情请查看 LICENSE 文件。