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--]