diff --git a/src/main/java/next/model/User.java b/src/main/java/next/model/User.java index c3413b42a..d5f5bb81a 100644 --- a/src/main/java/next/model/User.java +++ b/src/main/java/next/model/User.java @@ -1,5 +1,7 @@ package next.model; +import javax.servlet.http.HttpServletRequest; + public class User { private String userId; private String password; @@ -13,6 +15,19 @@ public User(String userId, String password, String name, String email) { this.email = email; } + public User(HttpServletRequest req) { + this.userId = req.getParameter("userId"); + this.password = req.getParameter("password"); + this.name = req.getParameter("name"); + this.email = req.getParameter("email"); + } + + public void modifyInfo(HttpServletRequest req) { + this.password = req.getParameter("password"); + this.name = req.getParameter("name"); + this.email = req.getParameter("email"); + } + public String getUserId() { return userId; } @@ -66,4 +81,13 @@ 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..864f6ed9a 100644 --- a/src/main/java/next/web/CreateUserServlet.java +++ b/src/main/java/next/web/CreateUserServlet.java @@ -22,10 +22,9 @@ public class CreateUserServlet extends HttpServlet { @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")); + User user = new User(req); log.debug("user : {}", user); DataBase.addUser(user); - resp.sendRedirect("/user/list"); + resp.sendRedirect("/"); } } diff --git a/src/main/java/next/web/UpdateUserFormServlet.java b/src/main/java/next/web/UpdateUserFormServlet.java new file mode 100644 index 000000000..d116a6dec --- /dev/null +++ b/src/main/java/next/web/UpdateUserFormServlet.java @@ -0,0 +1,31 @@ +package next.web; + +import core.db.DataBase; +import next.model.User; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +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 java.io.IOException; + +@WebServlet("/user/update/*") +public class UpdateUserFormServlet extends HttpServlet { + private static final long serialVersionUID = 1L; + private static final Logger log = LoggerFactory.getLogger(UpdateUserFormServlet.class); + + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + final String userId = req.getPathInfo().substring(1); + log.info("User ID : {}", userId); + final User user = DataBase.findUserById(userId); + log.info("User : {}", user.toString()); + req.setAttribute("user", user); + final RequestDispatcher requestDispatcher = req.getRequestDispatcher("/user/update.jsp"); + requestDispatcher.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..6ef6ceea8 --- /dev/null +++ b/src/main/java/next/web/UpdateUserServlet.java @@ -0,0 +1,36 @@ +package next.web; + +import core.db.DataBase; +import next.model.User; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +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 java.io.IOException; +import java.util.Objects; + +@WebServlet("/user/update") +public class UpdateUserServlet extends HttpServlet { + private static final long serialVersionUID = 1L; + private static final Logger log = LoggerFactory.getLogger(UpdateUserServlet.class); + + @Override + protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + final String userId = req.getParameter("userId"); + final User user = DataBase.findUserById(userId); + + resp.sendRedirect("/user/list"); + + if (Objects.isNull(user)) { + log.info("Can't find user By userId"); + return; + } + + user.modifyInfo(req); + } +} diff --git a/src/main/java/next/web/UserLoginServlet.java b/src/main/java/next/web/UserLoginServlet.java new file mode 100644 index 000000000..4200eb224 --- /dev/null +++ b/src/main/java/next/web/UserLoginServlet.java @@ -0,0 +1,37 @@ +package next.web; + +import core.db.DataBase; +import next.model.User; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +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 java.io.IOException; +import java.util.Objects; + +@WebServlet("/user/login") +public class UserLoginServlet extends HttpServlet { + private static final long serialVersionUID = 1L; + private static final Logger log = LoggerFactory.getLogger(UserLoginServlet.class); + + @Override + protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + final String userId = req.getParameter("userId"); + final String password = req.getParameter("password"); + + final User user = DataBase.findUserById(userId); + + if (user != null && user.getPassword().equals(password)) { + HttpSession session = req.getSession(); + session. setAttribute("user", user); + } + + resp.sendRedirect("/"); + } +} diff --git a/src/main/java/next/web/UserLogoutServlet.java b/src/main/java/next/web/UserLogoutServlet.java new file mode 100644 index 000000000..164a2815e --- /dev/null +++ b/src/main/java/next/web/UserLogoutServlet.java @@ -0,0 +1,28 @@ +package next.web; + +import core.db.DataBase; +import next.model.User; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +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 java.io.IOException; + +@WebServlet("/user/logout") +public class UserLogoutServlet extends HttpServlet { + private static final long serialVersionUID = 1L; + private static final Logger log = LoggerFactory.getLogger(UserLogoutServlet.class); + + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + final HttpSession session = req.getSession(); + session.removeAttribute("user"); + resp.sendRedirect("/"); + } +} diff --git a/webapp/index.html b/webapp/index.jsp similarity index 63% rename from webapp/index.html rename to webapp/index.jsp index b81541763..eae99e71c 100644 --- a/webapp/index.html +++ b/webapp/index.jsp @@ -1,3 +1,6 @@ +<%@ page contentType="text/html;charset=UTF-8" language="java" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> + @@ -12,63 +15,7 @@ - - + <%@ include file="./nav/nav.jsp" %>
@@ -78,12 +25,12 @@
- 국내에서 Ruby on Rails와 Play가 활성화되기 힘든 이유는 뭘까? + 국내에서 Ruby on Rails와 Play가 활성화되기 힘든 이유는 뭘까?
2016-01-15 18:47 - 자바지기 + 자바지기
@@ -96,12 +43,12 @@ diff --git a/webapp/nav/nav.jsp b/webapp/nav/nav.jsp new file mode 100644 index 000000000..9ce634e43 --- /dev/null +++ b/webapp/nav/nav.jsp @@ -0,0 +1,64 @@ +<%@ page contentType="text/html;charset=UTF-8" language="java" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> + + + + + diff --git a/webapp/qna/form.html b/webapp/qna/form.html deleted file mode 100644 index a273be263..000000000 --- a/webapp/qna/form.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - SLiPP Java Web Programming - - - - - - - - - -
-
-
-
-
- - -
-
- - -
-
- - -
- -
- -
-
-
- - - - - - - \ No newline at end of file diff --git a/webapp/qna/form.jsp b/webapp/qna/form.jsp new file mode 100644 index 000000000..607e4448a --- /dev/null +++ b/webapp/qna/form.jsp @@ -0,0 +1,48 @@ +<%@ page contentType="text/html;charset=UTF-8" language="java" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> + + + + + + + SLiPP Java Web Programming + + + + + + +<%@ include file="../nav/nav.jsp" %> + +
+
+
+
+
+ + +
+
+ + +
+
+ + +
+ +
+ +
+
+
+ + + + + + + \ No newline at end of file diff --git a/webapp/qna/show.html b/webapp/qna/show.jsp similarity index 73% rename from webapp/qna/show.html rename to webapp/qna/show.jsp index bfa5a7b64..ea36402b1 100644 --- a/webapp/qna/show.html +++ b/webapp/qna/show.jsp @@ -1,3 +1,6 @@ +<%@ page contentType="text/html;charset=UTF-8" language="java" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> + @@ -12,59 +15,7 @@ - - +<%@ include file="../nav/nav.jsp" %>
@@ -102,7 +53,7 @@

InitializingBean implements afterPropertiesSet() 호출되
  • - 목록 + 목록
  • diff --git a/webapp/user/form.html b/webapp/user/form.html deleted file mode 100644 index a6ab3817a..000000000 --- a/webapp/user/form.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - SLiPP Java Web Programming - - - - - - - - - -
    -
    -
    -
    -
    - - -
    -
    - - -
    -
    - - -
    -
    - - -
    - -
    - -
    -
    -
    - - - - - - - \ No newline at end of file diff --git a/webapp/user/form.jsp b/webapp/user/form.jsp new file mode 100644 index 000000000..76a590474 --- /dev/null +++ b/webapp/user/form.jsp @@ -0,0 +1,52 @@ +<%@ page contentType="text/html;charset=UTF-8" language="java" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> + + + + + + + SLiPP Java Web Programming + + + + + + +<%@ include file="../nav/nav.jsp" %> + +
    +
    +
    +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + +
    + +
    + +
    +
    +
    + + + + + + + \ No newline at end of file diff --git a/webapp/user/list.jsp b/webapp/user/list.jsp index 74f79ded0..ab794a09f 100644 --- a/webapp/user/list.jsp +++ b/webapp/user/list.jsp @@ -15,59 +15,7 @@ - - +<%@ include file="../nav/nav.jsp" %>
    @@ -85,7 +33,7 @@ ${user.userId} ${user.name} ${user.email} - 수정 + 수정 diff --git a/webapp/user/login.html b/webapp/user/login.html deleted file mode 100644 index f2aa34d26..000000000 --- a/webapp/user/login.html +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - SLiPP Java Web Programming - - - - - - - - - -
    -
    -
    -
    -
    - - -
    -
    - - -
    - -
    - -
    -
    -
    - - - - - - - \ No newline at end of file diff --git a/webapp/user/login.jsp b/webapp/user/login.jsp new file mode 100644 index 000000000..17daac7c0 --- /dev/null +++ b/webapp/user/login.jsp @@ -0,0 +1,44 @@ +<%@ page contentType="text/html;charset=UTF-8" language="java" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> + + + + + + + SLiPP Java Web Programming + + + + + + +<%@ include file="../nav/nav.jsp" %> + +
    +
    +
    +
    +
    + + +
    +
    + + +
    + +
    + +
    +
    +
    + + + + + + + \ No newline at end of file diff --git a/webapp/user/login_failed.html b/webapp/user/login_failed.html deleted file mode 100644 index 4aff6d9f2..000000000 --- a/webapp/user/login_failed.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - SLiPP Java Web Programming - - - - - - - - - -
    -
    -
    - -
    -
    - - -
    -
    - - -
    - -
    - -
    -
    -
    - - - - - - - \ No newline at end of file diff --git a/webapp/user/login_failed.jsp b/webapp/user/login_failed.jsp new file mode 100644 index 000000000..387ec911d --- /dev/null +++ b/webapp/user/login_failed.jsp @@ -0,0 +1,45 @@ +<%@ page contentType="text/html;charset=UTF-8" language="java" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> + + + + + + + SLiPP Java Web Programming + + + + + + +<%@ include file="../nav/nav.jsp" %> + +
    +
    +
    + +
    +
    + + +
    +
    + + +
    + +
    + +
    +
    +
    + + + + + + + \ No newline at end of file diff --git a/webapp/user/profile.html b/webapp/user/profile.html deleted file mode 100644 index e0361aeb4..000000000 --- a/webapp/user/profile.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - SLiPP Java Web Programming - - - - - - - - - -
    -
    -
    -

    Profiles

    -
    -
    -
    - - - -
    -

    자바지기

    -

    -  javajigi@slipp.net -

    -
    -
    -
    -
    -
    -
    -
    - - - - - - - \ No newline at end of file diff --git a/webapp/user/profile.jsp b/webapp/user/profile.jsp new file mode 100644 index 000000000..159fcc3d6 --- /dev/null +++ b/webapp/user/profile.jsp @@ -0,0 +1,48 @@ +<%@ page contentType="text/html;charset=UTF-8" language="java" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> + + + + + + + SLiPP Java Web Programming + + + + + + +<%@ include file="../nav/nav.jsp" %> + +
    +
    +
    +

    Profiles

    +
    +
    +
    + + + +
    +

    자바지기

    +

    +  javajigi@slipp.net +

    +
    +
    +
    +
    +
    +
    +
    + + + + + + + \ No newline at end of file diff --git a/webapp/user/update.jsp b/webapp/user/update.jsp new file mode 100644 index 000000000..195b8632c --- /dev/null +++ b/webapp/user/update.jsp @@ -0,0 +1,49 @@ +<%@ page contentType="text/html;charset=UTF-8" language="java" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> + + + + + + + SLiPP Java Web Programming + + + + + + +<%@ include file="../nav/nav.jsp" %> + +
    +
    +
    +
    + +
    + + +
    +
    + + +
    +
    + + +
    + +
    + +
    +
    +
    + + + + + + + \ No newline at end of file