黑马旅游网学习记录(三)
验证码的验证
验证码是已经给出的,每次产生的验证码都放到了session这个里面,我们要做的就是拿到前端的check数据然后和后端session中的验证码进行对比,如果一样那么就是验证成功,如果不一样那就是验证失败。
//该段代码放到RegistUserServlet中,每次注册开始之前,首先进行验证码的判断,如果验证码不能通过,那就更不用说后面的操作了。
//验证校验,获取浏览器传过来的验证码
String check = request.getParameter("check");
//得到客户端后端生成的验证码
HttpSession session = request.getSession();
String checkcode_server = (String)session.getAttribute("CHECKCODE_SERVER");
session.removeAttribute("CHECKCODE_SERVER");//每次使用过验证码以后要删除
//判断
if(!check.equalsIgnoreCase(checkcode_server)){
//如果不相等,提示信息后,直接return
ResultInfo info = new ResultInfo();//domain中的返回结果对象。
info.setFlag(false);
info.setErrorMsg("验证码错误!");
ObjectMapper objectMapper = new ObjectMapper();
String json = objectMapper.writeValueAsString(info);
response.setContentType("application/json;charset=UTF-8");
response.getWriter().write(json);
return;//如果校验不一样直接返回
}
前台数据的反馈
前端收到数据后,根据后端反馈的数据做出相应的操作,该操作放在post方法之后。
$.post("registUserServlet",$(this).serialize(),function (data) {
if(data.flag){
//跳转成功界面
location.href = "register_ok.html";
}else{
//给出提示信息
$("#errorMsg").html(data.errorMsg);
}
}