1 ajax
//监听提交
form.on('submit(login)', function (data) {
$.post(
"UserLoginServlet",
{
email: $("#email").val(),
password: $("#password").val()
}, function (result) {
if (result == 1) {
layer.msg("登陆成功", function () {
location.href = 'CarServlet'
});
} else if (result == 0) {
layer.msg("用户不存在", function () {
location.href = 'userLogin.html'
});
} else if (result == -2) {
layer.msg("你被管理员拉黑", function () {
location.href = 'userLogin.html'
});
} else {
layer.msg("密码错误", function () {
location.href = 'userLogin.html'
});
}
}
);
2 servlet
/**
* @Program: exam
* @ClassName: UserLoginServlet
* @Description: 用户登陆
* @Author: li
* @Create: 2019-07-24 10:47
*/
@WebServlet("/UserLoginServlet")
public class UserLoginServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String email = request.getParameter("email");
String pwd = request.getParameter("password");
IUserServices services = new UserServicesImpl();
int i = services.userLogin(new User(email,pwd));
//1:登陆成功
if(i == 1){
request.getSession().setAttribute("email",email);
}
response.getWriter().print(i);
}
}
3 services
@Override
public int userLogin(User user) {
if(!dao.checkEmail(user.getEmail())){
if(dao.queryUser(user)){
if(dao.queryStatus(user.getEmail())){
//登陆成功
return 1;
}else{
//你被管理员拉黑
return -2;
}
}else {
//密码错误
return -1;
}
}else{
//帐号不存在
return 0;
}
}
4 dao
//检查帐号是否可用
@Override
public boolean checkEmail(String email) {
String sql = "select count(1) from user where email like ?";
Integer query = jt.queryForObject(sql, Integer.class, email);
return query == 1 ? false : true;
}
//查询账号和密码
@Override
public boolean queryUser(User user) {
String sql = "select count(1) from user where email like ? and pwd like ?";
int total = jt.queryForObject(sql,Integer.class,user.getEmail(),user.getPwd());
return total == 1 ? true : false;
}
//查看是否被管理员拉黑
@Override
public boolean queryStatus(String email) {
String sql = "select status from user where email like ?";
List<User> query = jt.query(sql, new BeanPropertyRowMapper<User>(User.class), email);
return query.get(0).getStatus() == 1 ? true : false;
}