본문으로 바로가기
💡 학습 목표
디스패처 서블릿에 대해서 알아 보자.
메시지 컨버터와 뷰 리졸버를 기억해 보자.

 

스프링 부트 그림으로 요약한 요청과 응답에 흐름 살펴 보기

 

  1. 클라이언트 측에서 /user로 GET 요청을 합니다. 이 요청은 톰캣을 거쳐 스프링 부트 애플리케이션으로 전달됩니다.
  2. 이때, 스프링 부트의 **디스패처 서블릿(DispatcherServlet)**이 요청을 받습니다. 디스패처 서블릿은 요청된 URL을 분석하고, 이를 처리할 수 있는 컨트롤러와 해당 메서드를 찾습니다.
  3. 컨트롤러에서 비즈니스 로직이 필요한 경우, 비즈니스 계층(Service) 및 퍼시스턴스 계층(Repository)을 통해 데이터를 처리합니다.
  4. 응답 과정에서 MIME 타입(예: JSON, HTML, XML 등)에 따라 다음과 같이 응답 방식이 달라집니다:
    • JSON, XML 등 데이터 포맷으로 응답해야 하는 경우, 메시지 컨버터가 작동합니다. 예를 들어, @ResponseBody가 붙은 메서드는 메시지 컨버터를 사용하여 자바 객체를 JSON 또는 XML로 변환합니다.
    • HTML 등의 뷰 템플릿이 필요한 경우, **뷰 리졸버(View Resolver)**가 작동하여, 템플릿 엔진(예: Thymeleaf, JSP)을 통해 HTML 문서를 생성하여 클라이언트에게 반환합니다.