diff --git a/src/main/java/next/model/User.java b/src/main/java/next/model/User.java index c3413b42a..b01709d6a 100644 --- a/src/main/java/next/model/User.java +++ b/src/main/java/next/model/User.java @@ -66,4 +66,9 @@ public boolean equals(Object obj) { return true; } + @Override + public String toString() { + return "User [userId=" + userId + ", password=" + password + ", name=" + name + ", email=" + email + "]"; + } + } diff --git a/src/main/java/next/web/CreateUserServlet.java b/src/main/java/next/web/CreateUserServlet.java index 3260088da..7bc4e1e57 100644 --- a/src/main/java/next/web/CreateUserServlet.java +++ b/src/main/java/next/web/CreateUserServlet.java @@ -19,12 +19,11 @@ public class CreateUserServlet extends HttpServlet { private static final long serialVersionUID = 1L; private static final Logger log = LoggerFactory.getLogger(CreateUserServlet.class); - @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { User user = new User(req.getParameter("userId"), req.getParameter("password"), req.getParameter("name"), req.getParameter("email")); - log.debug("user : {}", user); + log.debug("user : {}", user.toString()); DataBase.addUser(user); resp.sendRedirect("/user/list"); } diff --git a/src/main/java/next/web/ListUserServlet.java b/src/main/java/next/web/ListUserServlet.java index 736ffd474..bfe69f5f2 100644 --- a/src/main/java/next/web/ListUserServlet.java +++ b/src/main/java/next/web/ListUserServlet.java @@ -8,8 +8,10 @@ import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; import core.db.DataBase; +import next.model.User; @WebServlet("/user/list") public class ListUserServlet extends HttpServlet { @@ -17,7 +19,13 @@ public class ListUserServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { - req.setAttribute("users", DataBase.findAll()); + HttpSession session = req.getSession(); + Object value = session.getAttribute("user"); + if(value !=null) { + User user = (User)value; + req.setAttribute("users", user); + } + RequestDispatcher rd = req.getRequestDispatcher("/user/list.jsp"); rd.forward(req, resp); } diff --git a/src/main/java/next/web/LoginUserServlet.java b/src/main/java/next/web/LoginUserServlet.java new file mode 100644 index 000000000..73945483a --- /dev/null +++ b/src/main/java/next/web/LoginUserServlet.java @@ -0,0 +1,37 @@ +package next.web; + +import java.io.IOException; + +import javax.servlet.RequestDispatcher; +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 javax.servlet.http.HttpSession; + +import core.db.DataBase; +import next.model.User; + +@WebServlet("/user/login") +public class LoginUserServlet extends HttpServlet { + + private static final long serialVersionUID = 1L; + + @Override + protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + System.out.println("/user/login req : "+req.getParameter("userId")+""+req.getParameter("password")); + User user = DataBase.findUserById(req.getParameter("userId")); + System.out.println("/user/login data : "+user.toString()); + if(user.getUserId().equals(req.getParameter("userId")) & user.getPassword().equals(req.getParameter("password"))) { + HttpSession session = req.getSession(); + session.setAttribute("user", user); + resp.sendRedirect("/index.jsp"); + } else { + System.out.println("no match"); + RequestDispatcher rd = req.getRequestDispatcher("/user/login_failed.html"); + rd.forward(req, resp); + } + + } +} diff --git a/src/main/java/next/web/LogoutUserServlet.java b/src/main/java/next/web/LogoutUserServlet.java new file mode 100644 index 000000000..a0ee2c7fc --- /dev/null +++ b/src/main/java/next/web/LogoutUserServlet.java @@ -0,0 +1,24 @@ +package next.web; + +import java.io.IOException; + +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 javax.servlet.http.HttpSession; + + +@WebServlet("/user/logout") +public class LogoutUserServlet extends HttpServlet { + + private static final long serialVersionUID = 1L; + + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + HttpSession session = req.getSession(); + session.invalidate(); + resp.sendRedirect("/index.jsp"); + } +} diff --git a/src/main/java/next/web/UpdateUserFormServlet.java b/src/main/java/next/web/UpdateUserFormServlet.java new file mode 100644 index 000000000..b34d781b6 --- /dev/null +++ b/src/main/java/next/web/UpdateUserFormServlet.java @@ -0,0 +1,28 @@ +package next.web; + +import java.io.IOException; + +import javax.servlet.RequestDispatcher; +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 core.db.DataBase; +import next.model.User; + +@WebServlet("/user/updateform") +public class UpdateUserFormServlet extends HttpServlet { + + private static final long serialVersionUID = 1L; + + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + User user = DataBase.findUserById(req.getParameter("userId")); + System.out.println("UpdateUserFormServlet user : "+user); + req.setAttribute("users", user); + RequestDispatcher rd = req.getRequestDispatcher("/user/update.jsp"); + rd.forward(req, resp); + } +} diff --git a/src/main/java/next/web/UpdateUserServlet.java b/src/main/java/next/web/UpdateUserServlet.java new file mode 100644 index 000000000..68a9339d5 --- /dev/null +++ b/src/main/java/next/web/UpdateUserServlet.java @@ -0,0 +1,29 @@ +package next.web; + +import java.io.IOException; + +import javax.servlet.RequestDispatcher; +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 core.db.DataBase; +import next.model.User; + +@WebServlet("/user/update") +public class UpdateUserServlet extends HttpServlet { + + private static final long serialVersionUID = 1L; + + protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + User user = new User(req.getParameter("userId"), req.getParameter("password"), req.getParameter("name"), + req.getParameter("email")); + System.out.println(user.toString()); + DataBase.addUser(user); + req.setAttribute("users", DataBase.findAll()); + RequestDispatcher rd = req.getRequestDispatcher("/user/list.jsp"); + rd.forward(req, resp); + } +} diff --git a/webapp/WEB-INF/lib/jstl-1.2.jar b/webapp/WEB-INF/lib/jstl-1.2.jar new file mode 100644 index 000000000..0fd275e94 Binary files /dev/null and b/webapp/WEB-INF/lib/jstl-1.2.jar differ diff --git a/webapp/include/head.jspf b/webapp/include/head.jspf new file mode 100644 index 000000000..02692b0c2 --- /dev/null +++ b/webapp/include/head.jspf @@ -0,0 +1,9 @@ + + +