Update MemberLoginServlet.java

pull/1/head
pght2c95q 8 months ago
parent 295632fbed
commit 6caeae8c12

@ -29,83 +29,85 @@ import cn.hutool.crypto.SecureUtil;
public class MemberLoginServlet extends HttpServlet { public class MemberLoginServlet extends HttpServlet {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/**
* POST
* POSTServlet
* @param request HttpServletRequest
* @param response HttpServletResponse
* @throws ServletException Servlet
* @throws IOException IO
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { throws ServletException, IOException {
// 从请求中获取用户名和密码参数
String userName = request.getParameter("userName"); String userName = request.getParameter("userName");
String passWord = request.getParameter("passWord"); String passWord = request.getParameter("passWord");
// md5加密
//String passWord = SecureUtil.md5(passwd);
// 创建AdminService对象用于查询管理员信息
AdminService adminService = new AdminServiceImpl(); AdminService adminService = new AdminServiceImpl();
// 根据用户名查询管理员
Admin admin = adminService.getAdminByName(userName); Admin admin = adminService.getAdminByName(userName);
// 创建Session存储登录的用户对象 // 创建Session对象用于存储登录的用户信息
HttpSession session = request.getSession(); HttpSession session = request.getSession();
// 设置Session的超时时间为30分钟30*60秒
session.setMaxInactiveInterval(30 * 60); session.setMaxInactiveInterval(30 * 60);
// 获取PrintWriter对象用于向客户端发送响应
PrintWriter out = response.getWriter(); PrintWriter out = response.getWriter();
// 判断是否是管理员账号 // 判断查询到的用户是否为管理员
if (admin != null) { if (admin != null) {
// 如果密码匹配
if (admin.getPassword().equals(passWord)) { if (admin.getPassword().equals(passWord)) {
// 更新管理员的登录状态和登录时间
// 更新登录状态和登录时间
admin.setIsUse(1); admin.setIsUse(1);
admin.setLoginTime(DateUtil.now()); admin.setLoginTime(DateUtil.now());
adminService.updateAdmin(admin); adminService.updateAdmin(admin);
// 将登录对象存入session // 将管理员对象存入Session
session.setAttribute("admin", admin); session.setAttribute("admin", admin);
// 跳转到管理界面 // 使用JavaScript弹出登录成功提示跳转到管理界面
out.write("<script>alert('登录成功!欢迎你," + admin.getUserName() + "');" out.write("<script>alert('登录成功!欢迎你," + admin.getUserName() + "');"
+ "window.location.href='pages/admin/adminMain.jsp'</script>"); + "window.location.href='pages/admin/adminMain.jsp'</script>");
} else { } else {
// 如果密码不匹配,弹出密码错误的提示,并跳转到登录页面
out.write( out.write("<script>alert('密码错误,请重新输入!');"
"<script>alert('密码错误,请重新输入!');" + "window.location.href='pages/user/memberLogin.jsp'</script>"); + "window.location.href='pages/user/memberLogin.jsp'</script>");
} }
} else { } else {
// 判断是否是会员账号 // 如果查询到的用户不是管理员,再查询是否为会员
MemberService memberService = new MemberServiceImpl(); MemberService memberService = new MemberServiceImpl();
Member member = memberService.getMemberByName(userName); Member member = memberService.getMemberByName(userName);
if (member != null) { if (member != null) {
// 密码正确,转到首页 // 如果密码匹配
if (passWord.equals(member.getPassword())) { if (passWord.equals(member.getPassword())) {
// 更新会员的登录状态和登录时间
// 先修改数据库登录状态和登录时间
member.setIfUse(1); member.setIfUse(1);
member.setLogintimes(DateUtil.now()); member.setLogintimes(DateUtil.now());
memberService.updateMember(member); memberService.updateMember(member);
// 将登录信息存入session // 将会员对象存入Session
/*
* HttpSession session = request.getSession();
* session.setMaxInactiveInterval(30 * 60);
*/
session.setAttribute("member", member); session.setAttribute("member", member);
// 跳转到首页 // 使用JavaScript弹出登录成功提示并跳转到首页
out.write("<script>alert('登录成功!欢迎你," + member.getUserName() + "');" out.write("<script>alert('登录成功!欢迎你," + member.getUserName() + "');"
+ "window.location.href='pages/user/home.jsp'</script>"); + "window.location.href='pages/user/home.jsp'</script>");
} else { } else {
// 如果密码不匹配,弹出密码错误的提示,并跳转到登录页面
out.write("<script>alert('密码错误,请重新输入!');" out.write("<script>alert('密码错误,请重新输入!');"
+ "window.location.href='pages/user/memberLogin.jsp'</script>"); + "window.location.href='pages/user/memberLogin.jsp'</script>");
} }
} else { } else {
out.write("<script>alert('该用户不存在!');" + "window.location.href='pages/user/memberLogin.jsp'</script>"); // 如果用户既不是管理员也不是会员,弹出用户不存在的提示,并跳转到登录页面
out.write("<script>alert('该用户不存在!');"
+ "window.location.href='pages/user/memberLogin.jsp'</script>");
} }
} }
// 关闭PrintWriter对象
out.close(); out.close();
} }
} }
Loading…
Cancel
Save