본문 바로가기
IT/spring

스프링 HandlerMapping 클래스

by 뉴코딩맨 2023. 6. 27.
스프링(Spring)은 자바 기반의 오픈 소스 애플리케이션 프레임워크로, 웹 애플리케이션 개발을 위한 다양한 기능과 모듈을 제공합니다. HandlerMapping은 스프링 MVC에서 핵심적인 역할을 담당하는 클래스 중 하나입니다. 스프링HandlerMapping 클래스에 대해 자세히 알아보도록 하겠습니다.

 

 

HandlerMapping이란?

HandlerMapping은 클라이언트의 요청을 처리할 핸들러(Handler)를 매핑하는 역할을 수행하는 클래스입니다. 클라이언트의 요청이 들어오면 HandlerMapping은 요청과 매핑되는 핸들러를 찾아주고, 이를 처리할 컨트롤러(Controller)와 연결해줍니다. 즉, HandlerMapping은 요청 URL과 컨트롤러를 매핑하는 역할을 합니다.
 
 

HandlerMapping의 동작 원리

HandlerMapping은 스프링 MVC의 초기 단계에서 동작하며, 다음과 같은 순서로 동작합니다.
  • 핸들러 매핑 설정: 개발자는 스프링 설정 파일(XML 또는 자바 기반 설정)에서 HandlerMapping을 설정합니다. 설정 파일에서는 요청 URL 패턴과 매칭될 핸들러를 지정합니다.
  • 요청 도착: 클라이언트의 요청이 서버로 도착합니다.
  • HandlerMapping 호출: 요청이 들어오면 DispatcherServlet은 HandlerMapping에게 요청을 처리할 핸들러를 찾도록 요청합니다.
  • 매핑된 핸들러 검색: HandlerMapping은 설정된 매핑 규칙에 따라 요청과 매칭되는 핸들러를 검색합니다. 매핑된 핸들러는 컨트롤러 또는 다른 핸들러 객체가 될 수 있습니다.
  • 매핑된 핸들러 반환: HandlerMapping은 요청에 대해 매핑된 핸들러를 반환합니다. 이 핸들러는 요청을 처리할 적절한 컨트롤러 또는 핸들러 객체입니다.

 

 

HandlerMapping의 예시

다음은 HandlerMapping의 예시입니다. 아래의 설정 파일에서는 "/hello" URL 패턴에 대해 "HelloController"라는 컨트롤러를 매핑하고 있습니다.
 
<bean id="handlerMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
    <property name="mappings">
        <props>
            <prop key="/hello">helloController</prop>
        </props>
    </property>
</bean>
 
위 설정을 통해 "/hello"로 들어오는 요청은 "HelloController"를 핸들러로 매핑하게 됩니다. 따라서 클라이언트가 "/hello"로 요청을 보내면 HandlerMapping은 이 요청을 "HelloController"에게 전달하여 처리할 수 있도록 합니다.
 
 

마무리

스프링 HandlerMapping 클래스에 대해 알아보았습니다. HandlerMapping은 스프링 MVC에서 클라이언트의 요청을 처리할 핸들러를 매핑하는 역할을 담당합니다. 정확한 설정과 매핑 규칙을 통해 HandlerMapping을 효과적으로 활용하여 웹 애플리케이션을 개발할 수 있습니다.
 
 

'IT > spring' 카테고리의 다른 글

스프링 DispatcherServlet  (0) 2023.06.28
Spring ViewResolver 클래스  (0) 2023.06.27
스프링 Model 2 아키텍처  (0) 2023.06.26
스프링 Model 1 아키텍처 구조  (0) 2023.06.23
스프링 MVC 구조  (0) 2023.06.23

댓글