HappyCaptcha工具
Happy Captcha是一款易于使用的Java验证码软件包,旨在花最短的时间,最少的代码量,实现Web站点的验证码功能
点击进入官网
常规网站验证码实现
进入教程
具体使用
1,导入maven依赖包
<dependency>
<groupId>com.ramostear</groupId>
<artifactId>Happy-Captcha</artifactId>
<version>1.0.1</version>
</dependency>
2,生成验证码图片
HappyCaptcha.require(request,response).build().finish();
3,HappyCaptcha内置了对用户输入的验证码校验功能
boolean flag = HappyCaptcha.verification(request,code,true);
if(flag){
//Other operations...
}
如果在校验过程中需要忽略字母大小写,第三个参数设置为true,如果需要强校验,则设置为false。
实例
HTML
<img src="/OneForAll/image" title="看不清点击刷新" id="checkCode"/>
ImageServlet
@WebServlet("/image")
public class ImageServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
HappyCaptcha.require(req,resp).build().finish();
}
}
UserServlet校验用户输入的验证码
private void doLogin(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
User user = new User();
user.setUsername(req.getParameter("username"));
user.setPassword(req.getParameter("password"));
String code = req.getParameter("code");
UserService service = new UserServiceImpl();
Boolean result = service.login(user);
//验证码校验
boolean flag = HappyCaptcha.verification(req, code, true);
if (result&&flag){
HttpSession session = req.getSession();
session.setAttribute("loginSuccess",user.getUsername()+"用户登录成功");
resp.sendRedirect("/OneForAll/home.jsp");
}else {
//删除session中的验证码
HappyCaptcha.remove(req);
req.setAttribute("loginError","登陆失败");
req.getRequestDispatcher("/index.jsp").forward(req,resp);
}
}