KIC 백엔드 수업
5월 4일 (목) - [ MVC - Model2 URL 방식 예제, 게시판 ]
Crecok
2023. 5. 4. 16:37
반응형
◆ URL 방식
1. URLEx01/view1.do
2. URLEx01/view2.do
- 가상 디렉토리 board 추가
3. URLEx01/board/view3.do
4. URLEx01/board/view4.do
▶ URL 방식 예제
1. 다이나믹 프로젝트 생성 : URLEx01
2. 패키지 생성 : src/main/java - controller
3. 패키지 안에 서블릿 생성 : ControllerEx01
- 생성시 URL Mappings를 아래처럼 지정한다. ( 생성자 체크해제, doGet / doPost 체크 )
4. 폴더 생성 : WEB_INF - views
5. 폴더 안에 jsp 파일 생성 : views - view1.jsp / view2.jsp / view3.jsp / view4.jsp
▶ view1~4.jsp ( jsp 파일 4개 생성 후, 안의 내용만 Hello view1~4 로 수정한다. )
<%@ 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>
Hello view1.jsp
</body>
</html>
▶ ControllerEx01
package controller;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
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("*.do")
public class ControllerEx01 extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doProcess(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doProcess(request, response);
}
protected void doProcess(HttpServletRequest request, HttpServletResponse response) {
try {
request.setCharacterEncoding( "utf-8" );
// System.out.println( request.getRequestURI() );
// System.out.println( request.getContextPath() );
String path = request.getRequestURI().replaceAll( request.getContextPath(), "" );
// System.out.println( path );
String url = "/WEB-INF/views/error.jsp";
if( path.equals("/") || path.equals( "/*.do") || path.equals( "/view1.do") ) {
url = "/WEB-INF/views/view1.jsp";
} else if( path.equals( "/view2.do") ) {
url = "/WEB-INF/views/view2.jsp";
// 가상 디렉토리 - board
} else if( path.equals( "/board/view3.do") ) {
url = "/WEB-INF/views/view3.jsp";
} else if( path.equals( "/board/view4.do") ) {
url = "/WEB-INF/views/view4.jsp";
}
RequestDispatcher dispatcher = request.getRequestDispatcher( url );
dispatcher.forward( request, response );
} catch (UnsupportedEncodingException e) {
System.out.println( "[에러] " + e.getMessage() );
} catch (ServletException e) {
System.out.println( "[에러] " + e.getMessage() );
} catch (IOException e) {
System.out.println( "[에러] " + e.getMessage() );
}
}
}
▶ 실행 결과
◆ 우편번호 검색기 만들기 ( MVC - Model2 : URL 방식 )
* 완성자료 : F / 수업자료 / 우편번호 검색기 / (MVC) Model2 - URL 방식
◆ 게시판 만들기 ( MVC - Model2 : URL 방식 )
* 완성자료 : F / 수업자료 / 게시판 / simple 게시판 - Model2 URL
반응형