다시 돌아온 스프링 MVC

Untitled

  1. DispatcherServlet

    스프링 MVC의 프론트 컨트롤러로 작동합니다. 모든 웹 요청을 처음 받아들이고, 요청을 적절한 핸들러(컨트롤러)에게 전달하기 위해 핸들러 매핑을 조회합니다. 그 후 응답이 반환될 때까지 요청의 생명주기를 관리합니다.

  2. Handler Mapping

    웹 요청(URL과 HTTP 메서드 등)을 처리할 수 있는 핸들러(컨트롤러)를 찾아내는 역할을 합니다. Dispatcher Servlet은 Handler Mapping에게 현재 요청을 처리할 수 있는 핸들러를 조회하도록 요청합니다.

  3. Handler Adapter

    Dispatcher Servlet이 선택한 핸들러(컨트롤러)를 실행할 수 있도록 중간에서 매개하는 역할을 합니다. Handler Adapter는 컨트롤러의 메서드를 호출하고, 컨트롤러가 반환하는 값을 Dispatcher Servlet이 이해할 수 있는 형태로 변환합니다. 다양한 타입의 컨트롤러를 지원하기 위해 존재합니다.

  4. Controller ( Handler )

    실제 웹 요청을 처리하는 컴포넌트입니다. 사용자의 요청에 따라 비즈니스 로직을 수행하고, 결과 데이터를 모델에 담아 뷰에 전달하거나, 다른 컨트롤러로 리다이렉트하는 등의 작업을 합니다.

  5. View Resolver

    컨트롤러가 반환하는 뷰 이름(String)을 실제 뷰 객체(예: JSP, Thymeleaf 템플릿)로 변환하는 역할을 합니다. 이를 통해 Dispatcher Servlet은 뷰 이름에 해당하는 실제 뷰를 찾아 클라이언트에게 응답을 전달할 수 있습니다.

  6. View

    최종적으로 사용자에게 보여질 UI를 생성합니다. 모델 데이터를 사용하여 렌더링 과정을 거치고, 결과적으로 클라이언트에게 HTML, JSON, XML 등의 형태로 응답을 제공한다.

Model

Controller

View