1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | !!! Test5Controller !!! package study2.mapping; 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; @SuppressWarnings("serial") @WebServlet("*.do5") public class Test5Controller extends HttpServlet { @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Test5Interface command = null; String viewPage = "/WEB-INF/study2/mapping/"; String uri = request.getRequestURI(); String com = uri.substring(uri.lastIndexOf("/")+1, uri.lastIndexOf(".")); String mid = request.getParameter("mid"); request.setAttribute("mid", mid); if(com.equals("test5")) { viewPage += "test5.jsp"; } else if(com.equals("join")) viewPage += "t5_join.jsp"; else if(com.equals("joinOk")) { command = new Test5JoinOkCommand(); command.execute(request, response); viewPage = "/WEB-INF/common/message.jsp"; } else if(com.equals("edit")) viewPage += "t5_edit.jsp"; else if(com.equals("editOk")) { command = new Test5EditOkCommand(); command.execute(request, response); viewPage = "/WEB-INF/common/message.jsp"; } else if(com.equals("delete")) viewPage += "t5_delete.jsp"; else if(com.equals("deleteOk")) { command = new Test5DeleteOkCommand(); command.execute(request, response); viewPage = "/WEB-INF/common/message.jsp"; } else if(com.equals("search")) viewPage += "t5_search.jsp"; else if(com.equals("searchOk")) viewPage += "t5_searchOk.jsp"; // dao에 접근 시 인터페이스 객체 생성해야 하지만 지금은 db와 연결하지 않았으므로 그냥 jsp에 else if(com.equals("list")) viewPage += "t5_list.jsp"; RequestDispatcher dispatcher = request.getRequestDispatcher(viewPage); dispatcher.forward(request, response); } } | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 | !!! Test5Interface !!! ---------------------------- package study2.mapping; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public interface Test5Interface { public void execute(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException; } ---------------------------- !!! Test5JoinOkCommand !!! ---------------------------- package study2.mapping; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class Test5JoinOkCommand implements Test5Interface { @Override public void execute(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String message = "회원가입 완료!"; request.setAttribute("message", message); request.setAttribute("url", "test5.do5"); } } ---------------------------- !!! Test5DeleteOkCommand !!! ---------------------------- package study2.mapping; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class Test5DeleteOkCommand implements Test5Interface { @Override public void execute(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String mid = (String)request.getAttribute("mid"); String message = mid+"님의 회원정보를 삭제했습니다."; request.setAttribute("message", message); request.setAttribute("url", "test5.do5"); } } ---------------------------- !!! Test5EditOkCommand !!! ---------------------------- package study2.mapping; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class Test5EditOkCommand implements Test5Interface { @Override public void execute(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String mid = (String)request.getAttribute("mid"); String message = mid+"님의 정보가 수정되었습니다."; request.setAttribute("message", message); request.setAttribute("url", "test5.do5"); } } | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 | !!! message.jsp !!! ---------------------------- <title>message.jsp</title> <script> 'use strict'; if('${message}' != "NO") alert("${message}"); location.href = "${url}"; </script> ---------------------------- !!! t5_join.jsp !!! ---------------------------- <h2>회원가입</h2> <hr/> <form name="myform" method="post" action="joinOk.do5"> <div> <input type="text" name="mid" placeholder="아이디를 입력하세요" class="form-control mb-3" autofocus required /> <input type="password" name="pwd" placeholder="비밀번호를 입력하세요" class="form-control mb-3" required /> <input type="text" name="name" placeholder="성명을 입력하세요" class="form-control mb-3" required /> <input type="number" name="age" placeholder="나이을 입력하세요" class="form-control mb-3" required /> <input type="text" name="address" placeholder="주소를 입력하세요" class="form-control mb-3" required /> <input type="submit" value="가입하기" class="btn btn-success" /> </div> </form> ---------------------------- !!! t5_edit.jsp !!! ---------------------------- <h2>회원 정보 수정</h2> <hr/> <form name="myform" method="post" action="editOk.do5"> <div> <input type="text" name="mid" placeholder="수정할 아이디를 입력하세요" class="form-control mb-3" autofocus required /> <input type="text" placeholder="수정할 내용을 입력하세요" class="form-control mb-3" autofocus required /> <input type="submit" value="수정" class="btn btn-success" /> </div> </form> ---------------------------- !!! t5_delete.jsp !!! ---------------------------- <h2>회원 정보 삭제</h2> <hr/> <form name="myform" method="post" action="deleteOk.do5"> <div> <input type="text" name="mid" placeholder="삭제할 아이디를 입력하세요" class="form-control mb-3" autofocus required /> <input type="submit" value="삭제" class="btn btn-success" /> </div> </form> ---------------------------- !!! t5_search.jsp !!! ---------------------------- <h2>회원 정보 찾기</h2> <hr/> <form name="myform" method="post" action="searchOk.do5"> <div> <input type="text" name="mid" placeholder="검색할 아이디를 입력하세요" class="form-control mb-3" autofocus required /> <input type="submit" value="검색" class="btn btn-success" /> </div> </form> ---------------------------- !!! t5_searchOk.jsp !!! ---------------------------- <h2>${mid}님의 회원 정보</h2> <p>정보들...</p> <p>정보들...</p> <p>정보들...</p> <a href="test5.do5" class="btn btn-warning">돌아가기</a> ---------------------------- !!! t5_list.jsp !!! ---------------------------- <h2>회원 리스트</h2> <pre> 회원... 리스트... ... ... ... </pre> <a href="test5.do5" class="btn btn-warning">돌아가기</a> | cs |
첫댓글 프론트컨트롤러 활용도~ 아주 좋아요.. 동영상 화질이 너무 안좋은듯... 해상도를 높여보세요.. 수고하셨습니다.