1. 회원 관리
Test5Controller.java
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 | 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(".")); if(com.equals("test5")) { viewPage += "test5.jsp"; } else if(com.equals("input")) { viewPage += "test5input.jsp"; } else if(com.equals("inputOk")) { command = new Test5InputCommand(); command.execute(request, response); viewPage = "/WEB-INF/common/message.jsp"; } else if(com.equals("update")) { command = new Test5UpdateCommand(); command.execute(request, response); viewPage += "test5update.jsp"; } else if(com.equals("updateOk")) { command = new Test5UpdateOkCommand(); command.execute(request, response); viewPage = "/WEB-INF/common/message.jsp"; } else if(com.equals("delete")) { command = new Test5DeleteCommand(); command.execute(request, response); viewPage += "test5delete.jsp"; } else if(com.equals("deleteOk")) { command = new Test5DeleteOkCommand(); command.execute(request, response); viewPage = "/WEB-INF/common/message.jsp"; } else if(com.equals("search")) { command = new Test5SearchCommand(); command.execute(request, response); viewPage += "test5search.jsp"; } else if(com.equals("searchOk")) { command = new Test5SearchOkCommand(); command.execute(request, response); viewPage = "/WEB-INF/common/message.jsp"; } else if(com.equals("list")) { command = new Test5ListCommand(); command.execute(request, response); viewPage += "test5list.jsp"; } else if(com.equals("listOk")) { command = new Test5ListOkCommand(); command.execute(request, response); viewPage = "/WEB-INF/common/message.jsp"; } RequestDispatcher dispatcher = request.getRequestDispatcher(viewPage); dispatcher.forward(request, response); } } | cs |
Test5Interface.java
1 2 3 4 5 6 7 8 9 10 11 12 | 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; } | cs |
Test5InputCommand.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | package study2.mapping; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class Test5InputCommand implements Test5Interface { @Override public void execute(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("이 곳은 Test5InputCommand 입니다."); System.out.println("이 곳은 회원 가입된 회원의 정보를 DB에 저장합니다."); String message = "회원가입이 완료되었습니다."; request.setAttribute("message", message); request.setAttribute("url", "test5.do5"); } } | cs |
Test5UpdateCommand.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | package study2.mapping; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class Test5UpdateCommand implements Test5Interface { @Override public void execute(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("이 곳은 Test5UpdateCommand 입니다."); } } | cs |
Test5UpdateOkCommand.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | package study2.mapping; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class Test5UpdateOkCommand implements Test5Interface { @Override public void execute(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("이 곳은 Test5UpdateOkCommand 입니다."); System.out.println("이 곳에서는 수정된 회원의 정보를 DB에 저장합니다."); String message = "회원 정보가 수정(update)되었습니다."; request.setAttribute("message", message); request.setAttribute("url", "test5.do5"); } } | cs |
Test5DeleteCommand.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | package study2.mapping; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class Test5DeleteCommand implements Test5Interface { @Override public void execute(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("이 곳은 Test5DeleteCommand 입니다."); } } | cs |
Test5DeleteOkCommand.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | 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 { System.out.println("이 곳은 Test5DeleteOkCommand 입니다."); System.out.println("이 곳에서는 삭제된 회원의 정보를 DB에 저장합니다."); String message = "회원 정보가 삭제(delete)되었습니다."; request.setAttribute("message", message); request.setAttribute("url", "test5.do5"); } } | cs |
Test5SearchCommand.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | package study2.mapping; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class Test5SearchCommand implements Test5Interface { @Override public void execute(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("이 곳은 Test5SearchCommand 입니다."); } } | cs |
Test5SearchOkCommand.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | package study2.mapping; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class Test5SearchOkCommand implements Test5Interface { @Override public void execute(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("이 곳은 Test5SearchOkCommand 입니다."); System.out.println("이 곳에서는 회원의 정보를 DB에서 검색합니다."); String message = "회원 정보가 검색(search)되었습니다."; request.setAttribute("message", message); request.setAttribute("url", "test5.do5"); } } | cs |
Test5ListCommand.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | package study2.mapping; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class Test5ListCommand implements Test5Interface { @Override public void execute(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("이 곳은 Test5ListCommand 입니다."); } } | cs |
Test5ListOkCommand.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | package study2.mapping; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class Test5ListOkCommand implements Test5Interface { @Override public void execute(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("이 곳은 Test5ListOkCommand 입니다."); System.out.println("이 곳에서는 전체 회원의 정보를 DB에서 조회합니다."); String message = "전체 회원 정보를 조회(list)하였습니다."; request.setAttribute("message", message); request.setAttribute("url", "test5.do5"); } } | cs |
test5.jsp
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 | <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@ include file="/include/certification.jsp"%> <c:set var="ctp" value="${pageContext.request.contextPath}"></c:set> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>test5.jsp</title> <script> 'use strict'; function userManagementOptixxxxonSelect() { let userManagement = document.getElementById("userManagement").value; location.href = userManagement + ".do5"; } </script> <%@ include file="/include/bs4.jsp"%> </head> <body> <jsp:include page="/include/header.jsp" /> <jsp:include page="/include/nav.jsp" /> <div class="container mt-5"> <h3>회원 관리 메뉴</h3> <label for="option">옵션</label> <select name="userManagement" id="userManagement" xxxxonchange="userManagementOptixxxxonSelect()"> <option value="select" selected disabled>선택</option> <option value="input">회원가입</option> <option value="update">회원정보수정</option> <option value="delete">회원삭제</option> <option value="search">회원검색</option> <option value="list">전체리스트</option> </select> </div> <jsp:include page="/include/footer.jsp" /> </body> </html> | cs |
test5input.jsp
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 | <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@ include file="/include/certification.jsp"%> <c:set var="ctp" value="${pageContext.request.contextPath}"></c:set> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>test5input.jsp</title> <%@ include file="/include/bs4.jsp"%> </head> <body> <jsp:include page="/include/header.jsp" /> <jsp:include page="/include/nav.jsp" /> <div class="container mt-5"> <h3>회원 가입 페이지</h3> <div> <input type="text" placeholder="아이디를 입력하세요." /> </div> <div> <input type="password" placeholder="비밀번호를 입력하세요." /> </div> <div> <a href="inputOk.do5" class="btn btn-success btn-sm">가입하기</a> <a href="test5.do5" class="btn btn-primary btn-sm">돌아가기</a> </div> </div> <jsp:include page="/include/footer.jsp" /> </body> </html> | cs |
test5update.jsp
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 | <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%@ include file = "/include/certification.jsp"%> <c:set var="ctp" value="${pageContext.request.contextPath}"></c:set> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>test5update.jsp</title> <%@ include file = "/include/bs4.jsp" %> </head> <body> <jsp:include page="/include/header.jsp" /> <jsp:include page="/include/nav.jsp" /> <div class="container mt-5"> <h3>회원 정보 수정 페이지</h3> <div> <input type="text" placeholder="수정할 아이디를 입력하세요." /> </div> <div> <a href="updateOk.do5" class="btn btn-success btn-sm">수정하기</a> <a href="test5.do5" class="btn btn-primary btn-sm">돌아가기</a> </div> </div> <jsp:include page="/include/footer.jsp" /> </body> </html> | cs |
test5delete.jsp
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 | <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%@ include file = "/include/certification.jsp"%> <c:set var="ctp" value="${pageContext.request.contextPath}"></c:set> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>test5delete.jsp</title> <%@ include file = "/include/bs4.jsp" %> </head> <body> <jsp:include page="/include/header.jsp" /> <jsp:include page="/include/nav.jsp" /> <div class="container mt-5"> <h3>회원 삭제 페이지</h3> <div> <input type="text" placeholder="삭제할 아이디를 입력하세요." /> </div> <div> <a href="deleteOk.do5" class="btn btn-success btn-sm">삭제하기</a> <a href="test5.do5" class="btn btn-primary btn-sm">돌아가기</a> </div> </div> <jsp:include page="/include/footer.jsp" /> </body> </html> | cs |
test5search.jsp
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 | <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%@ include file = "/include/certification.jsp"%> <c:set var="ctp" value="${pageContext.request.contextPath}"></c:set> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>test5search.jsp</title> <%@ include file = "/include/bs4.jsp" %> </head> <body> <jsp:include page="/include/header.jsp" /> <jsp:include page="/include/nav.jsp" /> <div class="container mt-5"> <h3>회원 검색 페이지</h3> <div> <input type="text" placeholder="검색할 아이디를 입력하세요." /> </div> <div> <a href="searchOk.do5" class="btn btn-success btn-sm">검색하기</a> <a href="test5.do5" class="btn btn-primary btn-sm">돌아가기</a> </div> </div> <jsp:include page="/include/footer.jsp" /> </body> </html> | cs |
test5list.jsp
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 | <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%@ include file = "/include/certification.jsp"%> <c:set var="ctp" value="${pageContext.request.contextPath}"></c:set> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>test5list.jsp</title> <%@ include file = "/include/bs4.jsp" %> </head> <body> <jsp:include page="/include/header.jsp" /> <jsp:include page="/include/nav.jsp" /> <div class="container mt-5"> <h3>회원 전체 리스트 페이지</h3> <div> <a href="listOk.do5" class="btn btn-success btn-sm">전체조회</a> <a href="test5.do5" class="btn btn-primary btn-sm">돌아가기</a> </div> </div> <jsp:include page="/include/footer.jsp" /> </body> </html> | cs |
console
2.
첫댓글 프론트컨트롤러 제대로 잘 사용하셨네요.
수고하셨습니다