Last Modified : 2009.09.19

모델 2

모델 1은 JSP 에서 자바빈즈를 사용하는 구조를 말합니다.
모델 2는 모델 1에 컨트롤러가 추가됩니다.
컨트롤러는 뷰(JSP)와 비즈니스 로직을 담당하는 모델(자바빈즈) 사이에서 다리 역할을 합니다.
모델 2 구조에서 클라이언트로부터의 모든 요청은 이 컨트롤러에 전달됩니다.
컨트롤러는 클라이언트의 요청을 분석해서 모델에 일을 시키고, 처리 결과를 응답을 할 뷰에 전달하게 됩니다.

1. 컨트롤러 작성

ControllerServlet.java

package net.java_school.model2;

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;

public class ControllerServlet extends HttpServlet {

  public void doGet(HttpServletRequest req, HttpServletResponse res ) 
    throws ServletException, IOException {
    doPost(req,res);
  }

  public void doPost(HttpServletRequest req, HttpServletResponse res ) 
    throws ServletException, IOException {
    
    String url = req.getServletPath();
    
    PrintWriter out = res.getWriter();
    out.println(url);
    out.close();
  }
	
}

2. web.xml 편집

web.xml

<!-- ===================================== -->
<!-- Controller Servlet -->
<!-- ===================================== -->
<servlet>
   <servlet-name>Controller</servlet-name>
   <servlet-class>net.java_school.model2.ControllerServlet</servlet-class>
   <load-on-startup>1</load-on-startup>
</servlet>

<!-- ===================================== -->
<!-- Controller Servlet Mapping-->
<!-- ===================================== -->	
<servlet-mapping>
   <servlet-name>Controller</servlet-name>
   <url-pattern>*.do</url-pattern>
</servlet-mapping>

<!-- ===================================== -->
<!-- welcome file -->
<!-- ===================================== -->	
<welcome-file-list>
   <welcome-file>index.jsp</welcome-file>
</welcome-file-list>

<!-- ===================================== -->
<!-- 404 error  -->
<!-- ===================================== -->	
<error-page>
   <error-code>404</error-code>
   <location>/common/error.jsp</location>
</error-page>

web.xml 편집 후, Tomcat 를 재시작한 다음 http://localhost/list.do 로 요청하여 테스트 합니다.