package com.yyh.controller;
import com.alibaba.fastjson.JSONObject;
import com.yyh.service.UserService;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.HashMap;
import java.util.Map;
@WebServlet(name = "LoginServlet",urlPatterns = "/LoginServlet")
public class LoginServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//要接收 登录传来的三个参数
// 1.修正编码
req.setCharacterEncoding("utf-8");
resp.setContentType("text/html;charset=UTF-8");
//2.接收前端过来的三个参数
String userName = req.getParameter("userName");
String userPwd = req.getParameter("userPwd");
String code = req.getParameter("code");
System.out.println("code = " + code);
//3.第一次登录的时候,首先要验证 验证码是否正确
//3.1获取后台的验证码
HttpSession session = req.getSession();
String codeFormSession = (String) session.getAttribute("code");
System.out.println("codeFormSession = " + codeFormSession);
if(!codeFormSession.equals(code)){
//验证错误,注意前面有!
//想前端输入一段json,告知前端验证码错误.
PrintWriter writer = resp.getWriter();
Map map = new HashMap();
map.put("code",400);
map.put("msg","验证码不正确");
//把map变为json
String jsonString = JSONObject.toJSONString(map);
writer.print(jsonString);
writer.close();
}else {
//验证码正确,继续判断账号和密码
System.out.println("验证码正确,该判断账号和密码");
//需要service/dao层判断,如果业务不是特别多,可以不用service层
UserService service = new UserService();
Map map = service.login(userName, userPwd, req);
String jsonString = JSONObject.toJSONString(map);
PrintWriter writer = resp.getWriter();
writer.print(jsonString);
writer.close();
}
}
}
判断验证码是否正确
最新推荐文章于 2023-11-28 08:38:16 发布