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

内容摘要
知识补充:toString() 方法用于返回以一个字符串表示的 Number 对象值。equalsIgnoreCase() 方法用于将字符串与指定的对象比较,不考虑大小写。验证方法:首先需要先获取用户输入
文章正文

知识补充:

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开发入门

代码注释
[!--zhushi--]

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!