실습: MVC 패턴

JSP 2016. 3. 9. 16:54

1. Controller 생성


1) 서블릿 생성 (BoardFrontController.java)

이클립스에서 Dynamic Web Project를 생성 후, New를 선택, 

프로젝트 명은 net.board.action, 서블릿 클래스명은 BoardFrontController.java로 생성한다. 


자동으로 생성된 서블릿 클래스에서 주석들을 삭제하면 다음과 같다.


package net.board.action;


import java.io.IOException;

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("/BoardFrontController")

public class BoardFrontController extends HttpServlet {

private static final long serialVersionUID = 1L;

       

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

}

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

}

}


2) web.xml 편집

WEB-INF 디렉토리 아래에서 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_3_1.xsd" id="WebApp_ID" version="3.1">

  <display-name>Model2_Board</display-name>

  <welcome-file-list>

    <welcome-file>index.html</welcome-file>

    <welcome-file>index.htm</welcome-file>

    <welcome-file>index.jsp</welcome-file>

    <welcome-file>default.html</welcome-file>

    <welcome-file>default.htm</welcome-file>

    <welcome-file>default.jsp</welcome-file>

  </welcome-file-list>


<servlet>

  <servlet-name>BoardFrontController</servlet-name>  

  <servlet-class>net.board.action.BoardFrontController</servlet-class>

  </servlet>  


  <servlet-mapping>

  <servlet-name>BoardFrontController</servlet-name>

  <url-pattern>*.bo</url-pattern>  

<!--- 요청을 할 때 아무 이름 뒤에 .bo만 붙이면 위 클래스의 전송 방식을 따르도록 url 패턴 설정.  -->

  </servlet-mapping>  


</web-app>  




3) 테스트 페이지를 만들어보자. test.jsp


<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>테스트</title>

</head>

<body>

테스트 페이지입니다.

</body>

</html>



4) 서블릿(BoardFrontController.java)을 이용해 작동 테스트

package net.board.action;


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("/BoardFrontController")

public class BoardFrontController extends HttpServlet {

private static final long serialVersionUID = 1L;

       

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

RequestDispatcher dispatcher = request.getRequestDispatcher("test.jsp");

dispatcher.forward(request, response);

}


protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

System.out.println("doPost() 메서드 호출");

}

}



5) 위의 서블릿을 실행시키면 브라우저가 자동 실행되며 http://localhost:8095/Model2_Board/*.bo 를 띄워준다.
내용은 테스트 페이지의 내용.

테스트 페이지입니다.




package net.board.action;




'JSP' 카테고리의 다른 글

이클립스와 데이터베이스 연동  (0) 2016.03.10
오라클 설치 후 Tomcat에 연동하기  (0) 2016.03.10
MVC 패턴 구현  (0) 2016.03.09
실습: 세션을 사용한 로그인 유지  (0) 2016.03.09
세션(session)  (0) 2016.03.09
Posted by netyhobby
,