쌍용교육(JAVA)/MVC
쌍용교육 -JSP수업 54일차 MVC
구 승
2024. 5. 7. 17:41
web.xml 파일에 주소를 명시한다.
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" id="WebApp_ID" version="4.0">
<display-name>ch03_JSP</display-name>
<!-- 응답 상태 코드별 에러 페이지 지정 -->
<error-page>
<error-code>404</error-code>
<location>/ch06_errorPage/error/error404.jsp</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/ch06_errorPage/error/error500.jsp</location>
</error-page>
<!-- 에러 타입별 에러 페이지 지정 -->
<error-page>
<exception-type>java.lang.NullPointerException</exception-type>
<location>/ch06_errorPage/error/errorNullPointer.jsp</location>
</error-page>
<!-- 세션 유지 시간 지정(분단위로 지정) -->
<session-config>
<session-timeout>50</session-timeout>
</session-config>
<!-- DispatcherServlet 설정 -->
<servlet>
<servlet-name>DispatcherServlet</servlet-name>
<servlet-class>kr.web.mvc.DispatcherServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DispatcherServlet</servlet-name>
<url-pattern>/dispatcher</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.jsp</welcome-file>
<welcome-file>default.htm</welcome-file>
</welcome-file-list>
</web-app>
Views폴더 =>
messageView.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>MVC패턴 연습</title>
</head>
<body>
MVC패턴 연습~~
</body>
</html>
kr.web.mvc =>
DispatcherServlet.java(서블릿)
package kr.web.mvc;
import java.io.IOException;
import java.io.PrintWriter;
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 DispatcherServlet extends HttpServlet{
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException,IOException{
requestPro(request,response);
}
@Override
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException{
requestPro(request,response);
}
public void requestPro(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException{
//forward 방식으로 view(jsp) 호출
RequestDispatcher dispatcher = request.getRequestDispatcher("/views/messageView.jsp");
dispatcher.forward(request,response);
}
}
내용 추가
Views폴더 =>
messageView.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>MVC패턴 연습</title>
</head>
<body>
결과 : <%=request.getAttribute("result") %><br>
결과 : ${result}
</body>
</html>
kr.web.mvc =>
DispatcherServlet.java(서블릿)
package kr.web.mvc;
import java.io.IOException;
import java.io.PrintWriter;
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 DispatcherServlet extends HttpServlet{
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException,IOException{
requestPro(request,response);
}
@Override
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException{
requestPro(request,response);
}
public void requestPro(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException{
String message = request.getParameter("message");
String result = null;
if(message == null || message.equals("")) {
result = "메시지가 없음!!";
}else if(message.equals("name")) {
result="홍길동";
}else if(message.equals("base")) {
result="기본 호출";
}else {
result = "잘못된 호출";
}
//속성명 속성값
request.setAttribute("result", result);
//forward 방식으로 view(jsp) 호출
RequestDispatcher dispatcher = request.getRequestDispatcher("/views/messageView.jsp");
dispatcher.forward(request,response);
}
}