diff --git a/src/main/java/example/controller/LoginServlet.java b/src/main/java/example/controller/LoginServlet.java new file mode 100644 index 0000000..4062ecc --- /dev/null +++ b/src/main/java/example/controller/LoginServlet.java @@ -0,0 +1,42 @@ +package example.controller; + +import example.service.IUserService; +import example.service.impl.UserServiceImpl; + +import javax.servlet.ServletException; +import javax.servlet.annotation.WebServlet; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; + +@WebServlet("/login") +public class LoginServlet extends HttpServlet { + + IUserService userService = new UserServiceImpl(); + + @Override + protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + resp.setContentType("text/html;charset=utf-8"); + req.setCharacterEncoding("utf-8"); + String username = req.getParameter("username"); + String password = req.getParameter("password"); + try { + boolean login = userService.login(username, password); + if(login){ + req.getSession().setAttribute("username",username); + resp.sendRedirect("/index.jsp"); + }else{ + req.getSession().setAttribute("msg","用户名或密码错误"); + resp.sendRedirect("/msg.jsp"); + } + } catch (Exception e) { + throw new RuntimeException(e); + } + } + + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + resp.sendRedirect("/login.jsp"); + } +} diff --git a/src/main/java/example/dao/UserDao.java b/src/main/java/example/dao/UserDao.java index 11c7cfc..eeabbad 100644 --- a/src/main/java/example/dao/UserDao.java +++ b/src/main/java/example/dao/UserDao.java @@ -21,6 +21,11 @@ public class UserDao { return queryRunner.query(sql, new BeanHandler<>(User.class), id); } + public User getUserByUsername(String username) throws Exception { + String sql = "SELECT * FROM user WHERE username = ?"; + return queryRunner.query(sql, new BeanHandler<>(User.class), username); + } + public List getAllUser() throws Exception { String sql = "SELECT * FROM user"; return queryRunner.query(sql, new BeanListHandler<>(User.class)); @@ -40,4 +45,5 @@ public class UserDao { UserDao userDao = new UserDao(); System.out.println(userDao.getUserById(1).getUsername()); } + } diff --git a/src/main/java/example/service/IUserService.java b/src/main/java/example/service/IUserService.java new file mode 100644 index 0000000..f3f0ba9 --- /dev/null +++ b/src/main/java/example/service/IUserService.java @@ -0,0 +1,5 @@ +package example.service; + +public interface IUserService { + boolean login(String username, String password) throws Exception; +} diff --git a/src/main/java/example/service/impl/UserServiceImpl.java b/src/main/java/example/service/impl/UserServiceImpl.java new file mode 100644 index 0000000..3fa872c --- /dev/null +++ b/src/main/java/example/service/impl/UserServiceImpl.java @@ -0,0 +1,15 @@ +package example.service.impl; + +import example.dao.UserDao; +import example.model.User; +import example.service.IUserService; + +public class UserServiceImpl implements IUserService { + UserDao userDao=new UserDao(); + + @Override + public boolean login(String username, String password) throws Exception { + User user = userDao.getUserByUsername(username); + return user != null && user.getPassword().equals(password); + } +} diff --git a/src/main/webapp/login.jsp b/src/main/webapp/login.jsp new file mode 100644 index 0000000..d8b5511 --- /dev/null +++ b/src/main/webapp/login.jsp @@ -0,0 +1,21 @@ +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + + + + + + + + +

-电脑商城-用户登录

+
+ +

+ +

+ +
+
+ + + \ No newline at end of file diff --git a/src/main/webapp/msg.jsp b/src/main/webapp/msg.jsp new file mode 100644 index 0000000..ec75a9a --- /dev/null +++ b/src/main/webapp/msg.jsp @@ -0,0 +1,16 @@ +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + + + + + + + + +

提示:

+

${sessionScope.msg}

+ + + + + \ No newline at end of file