[Logic]
Member_info.java
package Logic;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import mycontroller.Command_Abstract;
public class Member_info implements Command_Abstract{
@Override
public String process(HttpServletRequest req, HttpServletResponse resp) {
//회원정보조회 업무처리
//결과
req.setAttribute("update", "회원정보수정");
//페이지
return "m2_member_infoUpdate.jsp";
}
}
Member_join.java
package Logic;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import mycontroller.Command_Abstract;
public class Member_join implements Command_Abstract {
@Override
public String process(HttpServletRequest req, HttpServletResponse resp) {
//회원가입관련 업무처리(로직처리)
req.setAttribute("join","회원가입");
return "m2_member_join.jsp";
}
}
Member_login.java
package Logic;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import mycontroller.Command_Abstract;
public class Member_login implements Command_Abstract{
@Override
public String process(HttpServletRequest req, HttpServletResponse resp) {
//로그인 관련 업무처리
//결과
req.setAttribute("login", "회원로그인");
//페이지
return "m2_member_login.jsp";
}
}
Member_null.java
package Logic;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import mycontroller.Command_Abstract;
public class Member_null implements Command_Abstract{
@Override
public String process(HttpServletRequest req, HttpServletResponse resp) {
//null로 방문한 비즈니스 로직처리
req.setAttribute("null", "로직처리할 내용이 없습니다. 단순방문으로 필요하면 회원가입창으로 이동합니다.");
return "m2_member_view_null.jsp";
}
}
Member_update.java
package Logic;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import mycontroller.Command_Abstract;
public class Member_update implements Command_Abstract{
@Override
public String process(HttpServletRequest req, HttpServletResponse resp) {
//회원정보수정업무처리
//결과
req.setAttribute("update", "회원정보수정");
//페이지
return "m2_member_infoUpdate.jsp";
}
}
[mycontroller]
Command_abstract.java
package mycontroller;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public interface Command_Abstract {
public String process(HttpServletRequest req, HttpServletResponse resp);
}
M1_Servlet.java
package mycontroller;
public class M1_Servlet {
}
M2_Servlet_cmd.java
package mycontroller;
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/*
컨트롤러(서블릿)의 주요역할
. 클라이언트로부터 요청 접수
. 요청을 분석하여 적절한 비즈니스 모델을 선택
. 로직을 실행
. 결과를 뷰로 전송한다.*/
public class M2_Servlet_cmd extends HttpServlet{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
req.setCharacterEncoding("utf-8");
String cmd =req.getParameter("cmd");
Object obj = null;
String view = null;
if(cmd==null) {
view = "m2_member_view_null.jsp";
}
else if(cmd.contentEquals("member_join")) {
view="m2_member_join.jsp";
}
else if (cmd.contentEquals("member_info")) {
view="m2_member_info.jsp";
}
else if(cmd.equals("member_infoUpdate")) {
view = "m2_member_infoUpdate.jsp";
}
else if(cmd.equals("member_login")) {
view = "m2_member_login.jsp";
}
req.setAttribute("result", obj);
RequestDispatcher dispatcher = req.getRequestDispatcher(view);
dispatcher.forward(req, resp);
}
}
M2_Servlet_Processor.java
package mycontroller;
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;
//컨트롤러
@WebServlet("/CommandProcessor")
public class M2_Servlet_Processor extends HttpServlet{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setCharacterEncoding("utf-8");
String cmd = req.getParameter("cmd");
Command_Abstract processor = null; //부모
String view = null;
if(cmd == null) {
processor = new Logic.Member_null(); //업캐스팅
}
else if(cmd.equals("member_join")) {
processor = new Logic.Member_join();
}
else if(cmd.equals("member_info")) {
processor = new Logic.Member_info();
}
else if(cmd.equals("member_login")) {
processor = new Logic.Member_login();
}
else if(cmd.equals("member_update")) {
processor = new Logic.Member_update();
}
view = processor.process(req, resp); //모델(비즈니스로직)의 return값
RequestDispatcher dispatcher = req.getRequestDispatcher(view);
dispatcher.forward(req, resp);
}
}
[WebContent]
index_member.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body align="center">
<h1>홈페이지에 오신 것을 환영합니당ㅇㅅㅇ</h1>
<br>
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTGttL37rh3x5t8B9EiYh9Y7j9ObUtFMYBRVAoAurfxjnFCOzUpT2Jemh0sVHLy5HwhyZU&usqp=CAU">
<br><br>
<h3><a href="http://Localhost:8080/Ch13/CommandProcessor?cmd=member_login">로그인</a></h3>
<h3><a href="http://Localhost:8080/Ch13/CommandProcessor?cmd=member_join">회원가입</a></h3>
<h3><a href="http://Localhost:8080/Ch13/CommandProcessor?cmd=member_update">회원수정</a></h3>
<h3><a href="http://Localhost:8080/Ch13/CommandProcessor?cmd=member_info">회원정보</a></h3>
</body>
</html>
m2_member_info.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h2>회원정보를 보여주는 페이지입니당</h2>
<%--
<%
request.setCharacterEncoding("utf-8");
String code = (String) request.getAttribute("");
String name = (String) request.getAttribute("");
%>
--%>
<table border="1">
<tr><td>회원번호</td><td>회원이름</td></tr>
<tr><td><%="10001" %></td><td><%="서대길" %></td></tr>
</table>
</body>
</html>
m2_member_infoUpdate.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h2>여기는 회원정보를 수정하는 페이지입니당</h2>
<form action="">
회원번호 : <input type="text" name="code" size="10"><p>
회원이름 : <input type="text" name="name"><p>
<input type="submit" value="수정">
<input type="reset" value="취소"><p>
<a href = "">수정확인</a>
</form>
</body>
</html>
m2_member_join.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h2>여기는 회원가입 </h2>
<form action="#">
회원번호 : <input type="text" name="code" size="10"><p>
회원이름 : <input type="text" name="name"><p><br>
<input type="submit" value="등록">
<input type="reset" value="취소"><p>
<a href="">등록확인</a>
</form>
</body>
</html>
m2_member_login.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h2>로그인</h2>
<form action="">
아이디 : <input type="text" name="id"><p>
비밀번호 : <input type="password" name="pw"><p>
<input type="submit" value="로그인">
</form>
</body>
</html>
m2_member_view_null.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h2>환영합니당</h2>
<h2>여기는 null값으로 입력된 결과를 보여주는 페이지입니당</h2>
</body>
</html>
'IT 공부 > JSP' 카테고리의 다른 글
Database 연동2 (0) | 2022.08.04 |
---|---|
Database 연동1 (0) | 2022.08.03 |
Taglib (0) | 2022.08.03 |
EL (표현언어) (0) | 2022.08.02 |
Session (0) | 2022.08.02 |