今天完成了无刷新页面登录与注册
下面看一下效果图:
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 modelMap = new HashMap();
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 model = new HashMap();
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 modelMap = new HashMap();
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));
}
}



