简单验证码HappyCaptcha的使用方法
在一些项目中可能会用到验证码来验证登录,自己写验证码复杂且麻烦,使用HappyCaptcha插件可以快速实现验证码效果
使用方法如下:
首先在pom.xml文件下安装插件,代码如下:
<dependency>
<groupId>com.ramostear</groupId>
<artifactId>Happy-Captcha</artifactId>
<version>1.0.1</version>
</dependency>
生成验证码:
@Controller
@RequestMapping("/CaptchaController")
public class CaptchaController {
//验证码
@RequestMapping("/captcha")
public void happyCaptcha(HttpServletRequest request, HttpServletResponse response) {
//生成验证码 优雅的链式操作
HappyCaptcha.require(request, response).build().finish();
}
}
将生成的验证码导入jsp页面:
<div class="form-group">
<label for="code" class="col-sm-3 control-label">验证码:</label>
<div class="col-sm-5">
<input type="text" class="form-control" id="code" name="code" placeholder="请输入验证码">
</div>
<div class="col-sm-4" style="padding: 0;">
<img id="showCode" width="120px"
src="${pageContext.request.contextPath}/CaptchaController/captcha" />
</div>
</div>
在控制器中验证输入验证码的正确性:
//Verification Captcha
//验证用户验证码是否输入正确
//调用验证码API进行验证 第三个参数 true 代表忽略大小写 false代表强制大小写一致
boolean flag = HappyCaptcha.verification(request,code,true);
if(!flag){
//将验证信息放入model
model.addAttribute("msg", "请输入正确的验证码!!!");
//回显登录页面
return "login";
}
这里要注意,示例代码中的布尔类型的flag在验证码输入正确时返回的是true,因此不要把if判断里的判断意思写错了,这里是if验证码输入错误时的情况!!!