黑馬旅遊網學習記錄(三)
驗證碼的驗證
驗證碼是已經給出的,每次産生的驗證碼都放到了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);
}
}