From 8593e90970e1d09f5ee94e7d37fff1078e9aab1a Mon Sep 17 00:00:00 2001 From: HG_MyData_ILM_invoker_custom Date: Fri, 15 Mar 2024 09:01:24 +0900 Subject: [PATCH 1/4] 6.1.2 user list update complete --- src/main/java/next/model/User.java | 5 +++++ src/main/java/next/web/CreateUserServlet.java | 3 +-- webapp/user/list.jsp | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) 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/webapp/user/list.jsp b/webapp/user/list.jsp index 74f79ded0..a042a180c 100644 --- a/webapp/user/list.jsp +++ b/webapp/user/list.jsp @@ -85,7 +85,7 @@ ${user.userId} ${user.name} ${user.email} - 수정 + 수정 From 02fdc37482c0fd55c601cc2ffc2296557c41f52a Mon Sep 17 00:00:00 2001 From: HG_MyData_ILM_invoker_custom Date: Fri, 15 Mar 2024 09:15:34 +0900 Subject: [PATCH 2/4] 6.1.2 add code --- src/main/java/next/web/LoginUserServlet.java | 37 ++++++ .../java/next/web/UpdateUserFormServlet.java | 28 +++++ src/main/java/next/web/UpdateUserServlet.java | 29 +++++ webapp/user/update.jsp | 105 ++++++++++++++++++ 4 files changed, 199 insertions(+) create mode 100644 src/main/java/next/web/LoginUserServlet.java create mode 100644 src/main/java/next/web/UpdateUserFormServlet.java create mode 100644 src/main/java/next/web/UpdateUserServlet.java create mode 100644 webapp/user/update.jsp diff --git a/src/main/java/next/web/LoginUserServlet.java b/src/main/java/next/web/LoginUserServlet.java new file mode 100644 index 000000000..7dfd608c2 --- /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 { + User user = DataBase.findUserById(req.getParameter("userId")); + if(user.getUserId()==req.getParameter("userId") & user.getPassword()==req.getParameter("password")) { + HttpSession session = req.getSession(); + session.setAttribute("user", user); + req.setAttribute("name", user.getName()); + RequestDispatcher rd = req.getRequestDispatcher("/user/index.html"); + rd.forward(req, resp); + } 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/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/user/update.jsp b/webapp/user/update.jsp new file mode 100644 index 000000000..cc33a3c52 --- /dev/null +++ b/webapp/user/update.jsp @@ -0,0 +1,105 @@ +<%@ page contentType="text/html;charset=UTF-8" language="java" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> + + + + + + + SLiPP Java Web Programming + + + + + + + + + +
+
+
+
+
+ + +
+
+ + +
+
+ + + +
+
+ + +
+ +
+ +
+
+
+ + + + + + + From 2c6760ac2c8776c9e0bcc6dc42afb6a7c7050f9a Mon Sep 17 00:00:00 2001 From: HG_MyData_ILM_invoker_custom Date: Mon, 25 Mar 2024 17:57:12 +0900 Subject: [PATCH 3/4] step0 complete --- src/main/java/next/web/ListUserServlet.java | 10 +++++++++- src/main/java/next/web/LoginUserServlet.java | 8 ++++---- webapp/{index.html => NewFile.jsp} | 0 webapp/qna/form.html | 4 ++-- webapp/qna/show.html | 6 +++--- webapp/user/form.html | 6 ++---- webapp/user/list.jsp | 8 ++++---- webapp/user/login.html | 6 ++---- webapp/user/login_failed.html | 6 ++---- webapp/user/profile.html | 4 ++-- webapp/user/update.jsp | 10 ++++------ 11 files changed, 34 insertions(+), 34 deletions(-) rename webapp/{index.html => NewFile.jsp} (100%) 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 index 7dfd608c2..73945483a 100644 --- a/src/main/java/next/web/LoginUserServlet.java +++ b/src/main/java/next/web/LoginUserServlet.java @@ -20,13 +20,13 @@ public class LoginUserServlet extends HttpServlet { @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")); - if(user.getUserId()==req.getParameter("userId") & user.getPassword()==req.getParameter("password")) { + 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); - req.setAttribute("name", user.getName()); - RequestDispatcher rd = req.getRequestDispatcher("/user/index.html"); - rd.forward(req, resp); + resp.sendRedirect("/index.jsp"); } else { System.out.println("no match"); RequestDispatcher rd = req.getRequestDispatcher("/user/login_failed.html"); diff --git a/webapp/index.html b/webapp/NewFile.jsp similarity index 100% rename from webapp/index.html rename to webapp/NewFile.jsp diff --git a/webapp/qna/form.html b/webapp/qna/form.html index a273be263..729d89a63 100644 --- a/webapp/qna/form.html +++ b/webapp/qna/form.html @@ -16,7 +16,7 @@