Happy Captcha是一款易于使用的 Java 验证码软件包,旨在花最短的时间,最少的代码量,实现Web站点的验证码功能。Happy Captcha完全遵循Apache 2.0开源许可协议,你可以自由使用该软件,如您在使用Happy Captcha时发现软件的任何缺陷,欢迎随时与我联系。
Happy Capthca的源代码已托管到 Github 和Gitee,你可以访问下面的链接获取更多信息:
- Github:
- Gitee:
如果你想快速体验Happy Captcha的功能,可通过下列方式获取Happy-Captcha依赖:
Maven
<dependency>
<groupId>com.ramostear</groupId>
<artifactId>Happy-Captcha</artifactId>
<version>1.0.1</version>
</dependency>
Gradle
implementation 'com.ramostear:Happy-Captcha:1.0.1'
一、展示
Happy Captcha提供了图片和动画两种展现形式,验证码内容包括中文(收录3500个常用汉字),阿拉伯数字(09),中文数字(零至九),中文大写数字(零至玖),数字与字母混合(09-az-AZ),数字与小写字母混合(09-az),数字与大写字母混合(09-AZ),纯小写字母,纯大写字母,大小写字母混合以及运算表达式(阿拉伯数字运算表达式和中文运算表达式)等12种类型。
CaptchaType IMAGE ANIMATION CHINESE


NUMBER


NUMBER_ZH_CN


NUMBER_ZH_HK


DEFAULT


WORD


WORD_LOWER


WORD_UPPER


WORD_NUMBER_LOWER


WORD_NUMBER_UPPER


ARITHMETIC


ARITHMETIC_ZH


二、安装
如果你的项目使用的是Maven进行依赖管理,你只需向 pom .xml文件添加下面的配置即可:
<dependency>
<groupId>com.ramostear</groupId>
<artifactId>Happy-Captcha</artifactId>
<version>1.0.1</version>
</dependency>
Gradle用户则可以通过引入如下的配置获取Happy Captcha:
implementation 'com.ramostear:Happy-Captcha:1.0.1'
三、使用
HappyCaptcha在设计时力求过程的简洁,在默认情况下,你只需要书写一行代码即可生成漂亮的验证码图片。下面是HappyCaptcha的使用示例:
@Controller
public class HappyCaptchaController{
@GetMapping("/captcha")
public void happyCaptcha(HttpServlet request reqeust,HttpServletResponse response){
HappyCaptcha.require(request,response). build ().finish();
}
}
对于HappyCaptcha而言,只有request和response是必须提供的参数,其余参数都可以使用缺省值。
四、校验
用户输入的验证码校验是一个必不可少的环节,HappyCaptcha内置了对用户输入的验证码校验功能。下面是验证码校验示例:
@Controller
public class CaptchaController{
@PostMapping("/verify")
public String verify(String code,HttpServletRequest request){
//Verification Captcha
boolean flag = HappyCaptcha.verification(request,code,true);
if(flag){
//Other operations...
}
}
}
如果在校验过程中需要忽略字母大小写,第三个参数设置为true,如果需要强校验,则设置为false。
五、清理
当验证码被使用后,你可以通过HappyCaptcha类种的remove()方法将Session中存放的验证码清理掉。下面是清理验证码的代码示例:
@Controller
public class HappyCaptchaController{
@GetMapping("/remove/captcha")
public void removeCaptcha(HttpServletRequest request){
HappyCaptcha.remove(request);
}
}
除HappyCaptcha提供的默认方法,你也可以在需要操作的地方,手动清理Session中存放的验证码,HappyCaptcha验证码的Key为“happy-captcha”。