今天完成了无刷新页面登录与注册
下面看一下效果图:
package cn.edu.jxnu.web.user; import cn.edu.jxnu.domain.UserDomain; import com.fasterxml.jackson.databind.ObjectMapper; import javax.servlet.*; import javax.servlet.http.*; import javax.servlet.annotation.*; import java.io.IOException; import java.io.PrintWriter; import java.util.HashMap; import java.util.Map; @WebServlet(name = "GetSessionUserServlet", value = "/user/getloginuser.do") public class GetSessionUserServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { HttpSession session=request.getSession(); UserDomain user=(UserDomain) session.getAttribute("user"); response.setContentType("text/html; charset=UTF-8"); PrintWriter out = response.getWriter(); Map<String, Object> modelMap = new HashMap<String, Object>(); if (user!=null) { user.setCustPwd(""); modelMap.put("success", true); modelMap.put("user", user); }else { modelMap.put("success", false); } out.println(new ObjectMapper().writeValueAsString(modelMap)); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } }
package cn.edu.jxnu.web.user; import cn.edu.jxnu.domain.UserDomain; import cn.edu.jxnu.service.UserService; import cn.edu.jxnu.service.impl.ImplUserService; import cn.edu.jxnu.util.CodeUtil; import com.fasterxml.jackson.databind.ObjectMapper; import javax.servlet.*; import javax.servlet.http.*; import javax.servlet.annotation.*; import java.io.IOException; import java.io.PrintWriter; import java.sql.SQLException; import java.util.Date; import java.util.HashMap; import java.util.Map; @WebServlet(name = "RegisterServlet", value = "/user/reg.do") public class RegisterServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String userName = request.getParameter("name"); String password = request.getParameter("pwd"); String email = request.getParameter("email"); Date date = new Date(); response.setContentType("application/json;charset=utf-8"); PrintWriter out = response.getWriter(); Map<String, Object> model = new HashMap<String, Object>(); ObjectMapper objectMapper = new ObjectMapper(); //验证码校验 if (!CodeUtil.checkVerifyCode(request)) { model.put("success", false); model.put("errMsg", "验证码错误"); out.println(objectMapper.writeValueAsString(model)); return; } if (userName == null || userName.trim().equals("") || email == null || email.trim().equals("") || password == null || password.trim().equals("")) { model.put("success", false); model.put("errMsg", "用户名,密码,邮箱不能为空"); out.println(objectMapper.writeValueAsString(model)); return; } //查找该用户名是否已经被注册 UserService userService = new ImplUserService(); try { UserDomain u = userService.findUser(userName); if (u != null) { model.put("success", false); model.put("errMsg", "该用户名已经被注册"); out.println(objectMapper.writeValueAsString(model)); return; } UserDomain user = new UserDomain(); user.setCustPwd(password); user.setLastLogin(date); user.setCustNo(userName); user.setEmail(email); int cnt = userService.insertUser(user); model.put("success", true); model.put("errMsg", "该用户注册成功"); out.println(objectMapper.writeValueAsString(model)); } catch (SQLException throwables) { throwables.printStackTrace(); } } }
package cn.edu.jxnu.web.user; import cn.edu.jxnu.domain.UserDomain; import cn.edu.jxnu.service.UserService; import cn.edu.jxnu.service.impl.ImplUserService; import cn.edu.jxnu.util.CodeUtil; import com.fasterxml.jackson.databind.ObjectMapper; import javax.servlet.*; import javax.servlet.http.*; import javax.servlet.annotation.*; import java.io.IOException; import java.io.PrintWriter; import java.util.HashMap; import java.util.Map; @WebServlet(name = "LoginServlet", value = "/user/login.do") public class LoginServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html; charset=UTF-8"); PrintWriter out = response.getWriter(); Map<String, Object> modelMap = new HashMap<String, Object>(); String username = request.getParameter("userName"); String pwd = request.getParameter("password"); //调用业务处理层 UserService userService = new ImplUserService(); UserDomain userDomain = null; //验证码校验 if (!CodeUtil.checkVerifyCode(request)) { modelMap.put("success", false); modelMap.put("errMsg", "验证码错误"); out.println(new ObjectMapper().writeValueAsString(modelMap)); return; } // 非空校验 if (username == null || username.trim().equals("") || pwd == null || pwd.trim().equals("")) { modelMap.put("success", false); modelMap.put("errMsg", "用户名和密码均不能为空"); out.println(new ObjectMapper().writeValueAsString(modelMap)); return; } try { userDomain = userService.findUser(username, pwd); //用户名密码正确 if (userDomain != null) { modelMap.put("success", true); request.getSession().setAttribute("user", userDomain); } else { modelMap.put("success", false); modelMap.put("errMsg", "用户名或密码错误"); } } catch (Exception e) { e.printStackTrace(); modelMap.put("success", false); modelMap.put("errMsg", "内部错误"); } out.println(new ObjectMapper().writeValueAsString(modelMap)); } }