ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Spring Web MVC의 구성요소
    Spring 2021. 5. 3. 18:22

    Spring MVC는 Model2 Architecture와 Front-Controller 패턴을 프레임워크 차원에서 제공하고 있다.

    이는 기존 JSP/Servlet의 MVC 패턴에서 Model - View - Controller로 분할되었던 역할을 더 나누어 기존의 패턴과 약간의 차이가 있다.

    스프링 프레임워크의 구성 요소들이 어떤 역할을 하는 지에 대해 알아보려고 한다.

    Spring MVC의 역할은 위의 그림과 같이 나눠지고, Spring Framework에 의해 추가되는 요소들은 Dispatcher Servlet(Front Servlet), HandlerMapping, ViewResolver이다.

    Controller와 View의 역할 자체는 이전과 같으나 이전에 Controller가 URI를 처리하고 보여줄 View를 선택했던 부분을 세분화한 것이 Spring MVC이다.

    각각의 요소에 대한 설명은 Spring MVC의 실행 순서를 설명하는 것으로 대신한다.

     

    1️⃣ Client가 Dispatcher Servlet에게 Request를 전달한다

    2️⃣ Dispatcher Servlet은 어떤 Controller에게 해당 Request의 처리를 맡길지 Handler Mapping에게 URI 처리를 문의한다

    3️⃣ Handler Mapping은 해당 URI를 처리할 수 있는 Controller를 반환한다

    4️⃣ Dispatcher Servlet은 Request를 Controller에게 전달한다

    5️⃣ 해당 Controller는 Request를 처리할 수 있는 메소드를 이용해 처리한 뒤 수행 결과를 담은 ModelAndView 객체를 반환한다

    • Model: Business Logic 수행 후 얻어낸 DTO
    • View: Response할 View Name

    6️⃣ Dispatcher Servlet은 View Name을 ViewResolver에게 전달한다

    7️⃣ ViewResolver는 해당 View를 처리할 수 있는 실제 path 및 확장자 정보를 담아 Response한다

    8️⃣ Dispatcher Servlet은 View에게 Client에게 Response하도록 실제 View Path와 함께 Request를 전달한다

    9️⃣ View는 실행 결과를 Client에게 Response하며 화면을 표현한다

Designed by Tistory.