🔎Handler Mapping

핸들러 매핑(Handler Mapping)은 Spring 프레임워크에서 클라이언트의 요청 URL을 처리할 컨트롤러를 결정하는 기능을 담당하는 것을 말합니다. 클라이언트가 특정 URL로 HTTP 요청을 보낼 때, 이 URL이 어떤 컨트롤러와 연관되어 있는지를 결정하는 역할을 합니다.

Spring MVC에서는 다양한 핸들러 매핑 전략을 제공하여 요청 URL을 적절한 컨트롤러에 매핑시킬 수 있습니다. 몇 가지 흔한 핸들러 매핑 전략은 다음과 같습니다

1. BeanNameUrlHandlerMapping

이 핸들러 매핑은 빈 이름과 URL을 직접 매핑시킵니다. 즉, 빈 이름이 URL로 사용되며, 특정 URL이 호출될 때 해당 이름을 가진 빈(컨트롤러)이 실행됩니다.

<bean id="/welcome" class="com.example.WelcomeController" />

2. DefaultAnnotationHandlerMapping

이 핸들러 매핑은 @RequestMapping 어노테이션을 사용하여 매핑을 지정한 컨트롤러에 요청을 매핑시킵니다. 주로 어노테이션 기반의 컨트롤러를 사용할 때 활용됩니다.

@Controller
public class WelcomeController {
    @RequestMapping("/welcome")
    public ModelAndView welcome() {
        // 처리 로직
    }
}

3. SimpleUrlHandlerMapping

이 핸들러 매핑은 URL 패턴과 컨트롤러의 매핑을 정의합니다. 패턴 기반으로 URL을 매핑할 때 사용됩니다.

<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
    <property name="mappings">
        <props>
            <prop key="/welcome.htm">welcomeController</prop>
        </props>
    </property>
</bean>

핸들러 매핑은 Spring MVC 설정 파일에서 정의되며, DispatcherServlet이 요청을 받으면 이러한 핸들러 매핑을 참조하여 적절한 컨트롤러를 찾아 요청을 전달합니다. 핸들러 매핑은 Spring 컨테이너에서 미리 정의되어야 하며, 클라이언트의 요청이 어떤 컨트롤러로 라우팅되어야 하는지를 결정합니다.

Last updated