七叶笔记 » java编程 » JAVA中如何验证图片验证码是否正确

JAVA中如何验证图片验证码是否正确

知识补充:

toString() 方法用于返回以一个字符串表示的 Number 对象值。

equalsIgnoreCase() 方法用于将字符串与指定的对象比较,不考虑大小写。

验证方法:

首先需要先获取用户输入的验证码对象,然后先判断验证码是否为空,若不为空则通过“toString()”方法获得验证码表示的“Number”对象值,最后将验证码对象值与指定对象比较判断是否正确即可。

示例代码:

/** * Author: SamGroves * * Description: 获得前端输入验证码的验证 * * Date: 2017/8/26 */@Controller@RequestMapping("/api")public class VerifyController extends BaseController{    /**     * @param checkCode 前端用户输入返回的验证码     * 参数若需要,自行添加     */    @RequestMapping(value = "/verify")    @ResponseBody    public String checkcode(HttpServletRequest request,                            HttpSession session,                            String checkCode) throws Exception {        // 获得验证码对象        Object cko = session.getAttribute("simpleCaptcha");         if (cko == null) {            request.setAttribute("errorMsg", "请输入验证码!");            return "请输入验证码!";        }        String captcha = cko.toString();        // 判断验证码输入是否正确        if (StringUtils.isEmpty(checkCode) || captcha == null || !(checkCode.equalsIgnoreCase(captcha))) {            request.setAttribute("errorMsg", "验证码错误!");            return "验证码错误,请重新输入!";          // 验证码有效时长为1分钟        Date now = new Date();        Long codeTime = Long.valueOf(session.getAttribute("codeTime") + "");        } else if ((now.getTime() - codeTime) / 1000 / 60 > 1) {            request.setAttribute("errorMsg", "验证码已失效,请重新输入!");            return "验证码已失效,请重新输入!";        } else {           // 在这里可以处理自己需要的事务,比如验证登陆等            return "验证通过!";        }    }}

推荐教程:java开发入门

相关文章