반응형

HandlerMapping 4

3편. HandlerMapping과 HandlerAdapter - Controller는 어떻게 선택되는가?

DispatcherServlet이 모든 HTTP 요청의 진입점이라는 사실을 이해했다면, 다음으로 궁금해지는 것은 Spring이 수많은 Controller 중에서 어떤 기준으로 하나를 선택하고, 어떤 방식으로 실행하는가이다.이 역할을 담당하는 핵심 구성 요소가 HandlerMapping과 HandlerAdapter다.이 글에서는 이 두 컴포넌트가 Spring Web MVC 요청 처리 과정에서 어떤 책임을 가지고 협력하는지 정리한다.1. 역할 분리가 필요한 이유HTTP 요청을 처리하기 위해서는 크게 두 단계가 필요하다.이 요청을 처리할 대상은 누구인가?그 대상을 어떤 방식으로 실행할 것인가?Spring Web MVC는 이 두 책임을 HandlerMapping과 HandlerAdapter로 명확하게 분리한다...

2편. DispatcherServlet - 요청은 어디서 시작되는가?

Spring Web MVC에서 모든 HTTP 요청은 DispatcherServlet을 통해 처리된다. Controller가 직접 요청을 받는 것처럼 보이지만, 실제로는 DispatcherServlet이 요청의 시작점이자 중심이다.이 글에서는 DispatcherServlet이 어떤 역할을 하는지, 그리고 HTTP 요청이 들어온 뒤 어떤 순서로 처리되는지를 Spring 공식 문서의 흐름에 따라 정리한다.1. DispatcherServlet의 정체DispatcherServlet은 Spring Web MVC의 핵심 구성 요소로, Front Controller 패턴을 구현한 서블릿이다.Front Controller 패턴이란, 모든 요청을 하나의 진입점에서 받아 공통 처리 로직을 거친 뒤 적절한 핸들러로 위임하는 ..

[Spring 공식문서 정리] 19. Spring MVC 요청 처리 흐름 한 장 요약

12편부터 18편까지 우리는 Spring MVC에서 하나의 웹 요청이어디서 시작되고어떤 단계를 거쳐어디서 실패하거나 성공하는지를 구성 요소별로 나누어 살펴봤습니다.이번 글에서는 그 내용을 “한 장의 흐름”으로 다시 묶어,지금 이 에러는 어느 단계에서 발생한 걸까?를 바로 떠올릴 수 있도록 정리해보겠습니다.1. Spring MVC 요청 처리의 큰 흐름Spring MVC의 요청 처리 흐름은 다음과 같이 요약할 수 있습니다.DispatcherServlet – 모든 요청의 진입점HandlerMapping – 누가 처리할지 결정HandlerAdapter – 어떻게 실행할지 결정ArgumentResolver – 파라미터 생성Validation – 입력값 검증컨트롤러 메서드 실행ReturnValueHandler – ..

[Spring 공식문서 정리] 13. HandlerMapping은 어떻게 컨트롤러를 찾을까?

12편에서는 Spring MVC의 시작점인 DispatcherServlet이 모든 웹 요청의 관문 역할을 한다는 점을 살펴봤습니다.DispatcherServlet이 요청을 받았다면, 다음 질문은 자연스럽게 이어집니다.이 요청을 어떤 컨트롤러가 처리해야 할까?이 결정을 담당하는 컴포넌트가 바로 HandlerMapping입니다.1. HandlerMapping의 역할HandlerMapping은 한 문장으로 정리할 수 있습니다.요청 정보를 기준으로 실행할 핸들러(컨트롤러)를 찾아주는 역할여기서 중요한 점은,HandlerMapping은 실행하지 않는다단지 “누가 처리할지”만 결정한다는 것입니다.실제 실행은 다음 단계인 HandlerAdapter가 담당합니다.2. Spring MVC에는 HandlerMapping이..

반응형