登录注册页面连接数据库并完成注册(最终章)
1:下面是登录的
package servletDemo; import com.fasterxml.jackson.databind.ObjectMapper; import dao.impl.UserDaoImpl; import domain.ResultInfo; import domain.User; import org.apache.commons.beanutils.BeanUtils; import serviceDemo.impl.userServiceImpl; import serviceDemo.userService; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.*; import java.io.IOException; @WebServlet("/caseServlet") public class caseServlet extends HttpServlet { @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //处理乱码 response.setContentType("text/html;charset=utf-8"); request.setCharacterEncoding("utf-8"); //1:接收数据 //BeanUtils可以自动转换基础数据类型 User user = new User(); //封装User对象 try { //Thread.sleep(3000);//休眠时间 BeanUtils.populate(user,request.getParameterMap()); } catch (Exception e) { e.printStackTrace(); } //2:调用UserDao中的login方法 UserDaoImpl userDao = new UserDaoImpl(); User login = userDao.findByUserNamePassword(user.getUsername(), user.getPassword()); //3:判断user ResultInfo info = new ResultInfo(); if (login != null) { //存储数据 request.getSession().setAttribute("username",login); info.setFlag(true); // //登录成功 // //request.getRequestDispatcher("/span.jsp").forward(request,response); // response.sendRedirect("/JavaWebNew/header.jsp"); }else { //登录失败 //注册失败给提示信息添加数据 info.setFlag(false); info.setErrorMsg("登录失败,用户名或者密码不对!!"); // System.out.println("注册失败"); // request.setAttribute("msg","登录失败!用户名或者错误!"); } //将info对象序列化为json ObjectMapper mapper = new ObjectMapper(); String json = mapper.writeValueAsString(info); //设置content-type response.setContentType("application/json;charset=UTF-8"); //将json数据写回客户端 response.getWriter().write(json); } }
2:里面的
3:调用方法查询是否有用户名跟密码
4:在servlet层中判断
5:不知道怎么写就复制下来吧
里面如果返回josn对象需要创建两个类
package domain; import java.io.Serializable; import java.util.Objects; /** * 用于封装后端返回前端数据对象 */ public class ResultInfo implements Serializable { private boolean flag;//后端返回结果正常为true,发生异常返回false private Object data;//后端返回结果数据对象 private String errorMsg;//发生异常的错误消息 //无参构造方法 public ResultInfo() { } public ResultInfo(boolean flag) { this.flag = flag; } /** * 有参构造方法 * @param flag * @param errorMsg */ public ResultInfo(boolean flag, String errorMsg) { this.flag = flag; this.errorMsg = errorMsg; } /** * 有参构造方法 * @param flag * @param data * @param errorMsg */ public ResultInfo(boolean flag, Object data, String errorMsg) { this.flag = flag; this.data = data; this.errorMsg = errorMsg; } public boolean isFlag() { return flag; } public void setFlag(boolean flag) { this.flag = flag; } public Object getData() { return data; } public void setData(Object data) { this.data = data; } public String getErrorMsg() { return errorMsg; } public void setErrorMsg(String errorMsg) { this.errorMsg = errorMsg; } }
登录注册到这里就结束了,可能有点乱,仔细看一下步骤是能看懂的,有问题可以私信给我,
我会第一时间回答问题的哦!