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;
}
}
登录注册到这里就结束了,可能有点乱,仔细看一下步骤是能看懂的,有问题可以私信给我,
我会第一时间回答问题的哦!
效果图