본문 바로가기

SPRING

스프링 핸들러 매핑이란

많이 들어는 봤지만, 정확히 뭔지 알아본 적이 없어서 정리해본다.

 

dispatcherServlet으로 받은 요청을 Controller로 보내지는데,

그런 요청이 어떤 룰으로 컨트롤러에게 보내는지(매핑하는지), 그 방법을 정해주는 클래스가  바로 Handler다.

 

 

다시말해 http://localhost:8080/test라는 요청이 있고,

임의의 컨트롤러 HomeControllerd에서

 

@Controller
class HomeController {

@RequestMapping(value = "/test")
public String test() {
return "test";
}
}

 

위와같이 RequestMappirng으로 무의식적으로 url과 연결지어 준 게 그냥 된 것이 아니라

핸들러가 있어서 가능했던 것이다.

 

 

 

스프링에서 기본적으로 제공해주는 Handler Mapping 클래스는 4개가 있다.

 

- BeanNameUrlHandlerMapping

- ControllerClassNameHandlerMapping

- SimpleUrlHandlerMapping

- DefaultAnnotationHandlerMapping

 

 

 

이름을 보면 사용법이 대강 예측이 가는데, 첫 3개 클래스는 xml을 이용하면 된다.

 

마지막 DefaultAnnotationHandlerMapping이 일반적으로

 

<context:component-scan base-package="패키지경로" />

 

위처럼 패키지경로를 등록한 후, 해당 컨트롤러에 comp@Controller 어노테이션을 사용하는 방법인데

 

 

 

자세한 것은 필요할 때 찾아보면 될 것 같고,

무심코 사용하는 위 방법이 핸들러가 있어서 가능하다는 것만 알면 될 것 같다.

 

-출처 

https://thiago6.tistory.com/153?category=827160