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