ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Spring] 01-2. Spring MVC를 이용한 WEB 요청 처리
    프로그래밍/Spring 2015. 9. 9. 23:03
    반응형



    Spring MVC를 이용한 WEB 요청 처리


    Spring 프레임워크는 DI나 AOP와 같은 기능뿐만 아니라 웹개발을 위한 MVC 프레임워크도 함께 제공한다.


    Spring MVC의 주요 구성 요소 및 처리 흐름


    다른 MVC 기반의 Framework와 마찬가지로 SPRING MVC도 컨트롤러를 사용하여 클라이언트의 요청을 처리하게 된다.

    SPRING에서 DispatcherServlet이 MVC에서 C(Controller) 부분을 처리하는데, DispacherServlet을 비롯한 MVC의 주요 구성 요소는 다음과 같다.


    DispacherServlet : 클라이언트의 요청을 전달 받는다. 컨트롤러에게 클라이언트의 요청을 전달하고, 컨트롤러가 리턴한 결과 값을 View에 전달하여 알맞은 응답을 생성하도록 한다.




    HandlerMapping : 클라이언트의 요청 URL을 어떤 컨트롤러가 처리할 지를 결정한다. 


    Controller : 클라이언트의 요청을 처리한 뒤, 그 결과를 DispatcherServlet에 알려 준다. Struts의 Action과 동일한 역할을 수행한다. 


    ModelAndView : 컨트롤러가 처리한 결과 정보 및 뷰 선택에 필요한 정보를 담는다.


    ViewResolver : 컨트롤러의 처리 결과를 생성할 뷰를 결정한다.


    View : 컨트롤러의 처리 결과 화면을 생성한다. JSP나 Velocity 템플릿 파일 등을 뷰로 사용한다.


    각 구성 요소의 메세지 흐름 : 클라이언트 → DispacherServlet(처리요청) → Controller (요청URL과 Mapping되는 Controller검색) → ModelAndView 리턴 → Controller의 실행 결과를 보여줄 View 검색 (View) → 응답 출력 요청(ViewResolver)


    Spring MVC의 클라이언트 요청 처리 과정


     - 클라이언트의 요청이 DispacherServlet에 전달된다.

    - DispatcherServlet은HandlerMapping을 사용하여 클라이언트의 요청을 처리할 컨트롤러 객체를 구한다.

    - DispatcherServlet은 컨트롤러 객체를 이용해서 클라이언트의 요청을 처리한다.

    - 컨트롤러는 클라이언트의 요청 처리 결과 정보를 담은 ModelAndView 객체를 리턴한다.

    - DispatcherServlet은 ViewResolver로부터 응답 결과를 생성할 뷰 객체를 구한다.

    - 뷰는 클라이언트에 전송할 응답을 생성한다.

     

        

     이 과정에서 개발자가 직접해야 개발해야 할 부분은 클라이언트의 요청을 처리할 컨트롤러와 클라이언트에 응답 결과 화면을 전송할 JSP나 Velocity 템플릿 등의 뷰 Code이다. 나머지, DispatcherServlet이나 HandlerMapping, ViewResolver 등은 SPRING이 기본적으로 제공하는 구현 Class를 사용하게 된다.


    Spring MVC를 사용하기 전에 가장 먼저 해야할 작업

    - web.xml파일에 두가지 정보를 추가

    - 클라이언트의 요청을 전달받을 DispatcherServlet 설정

    - 공통으로 사용할 어플리케이션 컨텍스트 설정



    반응형

    댓글

Designed by Tistory.