Spring MVC에서 @RequestMapping이 동작하는 원리를 이해하려면 다음 사항들을 알아야 한다.
핸들러: 클라이언트로부터 들어온느 HTTP요청을 처리하는 컴포넌트를 의미한다. Spring MVC에서는 보통 Controller 클래스나 그 안의 메서드를 핸들러라고 부른다. @RequestMapping 어노테이션은 특정 URL패턴에 대한 요청이 들어왔을 때, 해당 요청을 처리할 핸들러(Controller 또는 메서드)를 지정한다.
핸들러 매핑: 클라이언트로부터 들어온 HTTP 요청 URL을 기반으로 적절한 핸들러를 찾아 주는 역할을 하는 컴포넌트다. Spring MVC에서 @RequestMapping 어노테이션은 Handler Mapping 역할도 수행하며 이 어노테이션이 붙은 메서드와 URL 패턴 간의 매핑 정보를 갖고 있다.
핸들러 어뎁터: 선택된 핸들러가 실제로 HTTP 요청을 처리할 수 있도록 도와주는 컴포넌트다. 즉 Handler Adapter는 Handler Mapping에 의해 선택된 특정 형태의 핸들러가 일관된 방식으로 요청을 처리하도록 변환해주는 역할을 수행한다.