IT수업/STS3

IT 수업 20주차 (138) Handler Mapping

워제하 2024. 5. 10. 17:05

 

● HandlerMapping

HandlerMapping은 원하는 handler를 찾아오는 역할을 수행한다. 즉, request의 URL과 매칭되는 handler를 선택하는 역할을 수행한다.( HTTP 요청 정보를 이용해서 컨트롤러를 찾아주는 기능을 수행 )

 

 

 

● BeanNameUrlHandlerMapping

11프로젝트를 복사하여 12_HandlerMapping 프로젝트를 만들어 준다.

 

WebMvcConfig에서 빈을 먼저 만들어 준다.

 

 

src/main/java에 handler 패키지를 만들고 그 안에 CustomHandler 클래스를 만들어 준다.

 

 

 

 

마우스 우클릭으로 source -> override/implement 들어가 handlerRequest를 체크해 추가해준다.

 

 

그리고 안에 sysout을 적어준다.

 

위에서 만든 customHandler를 빈으로 만들어준다.

 

실행시켜 /custom_01을 입력하면 콘솔창에 RequestHandlerEventListener 이벤트가 출력된다.

 

 

 

BeanNameUrlHandlerMapping에서 빈 객체는 컨텍스트영역 안에서 동작하고

SimpleUrlHandlerMapping은 빈이 아니라 객체를 넣어준 것이다.

 

 

 

● SimpleUrlHandlerMapping

simpleUrlHandlerMapping도 만들어 본다.

simpleUrlHandlerMapping은 개발자가 직접 매핑정보를 설정해 정적 자원에 대한 매핑 정보 설정이 기본값으로 설정이 된다.

 

실행시켜본다.

 

< 출력화면 >

 

 

 

 

● RequesMappingHandlerMapping

요청에 대한 매핑 처리

 

WebMvcConfig에서 RequestMappingHandlerMapping의 기본 틀을 만들어준다.

 

 

CustomHandler.java에 함수를 하나 만들어 준다.

 

 

method에 빨간줄이 생겨 import 할 때는 java.lang.reflect로 import 해준다.

 

 

 

URL에 매핑할 메서드를 찾고 요청 매핑 정보를 구성하였으면 그것들을 handlerMapping에 등록해준다.

 

 

custom_03을 실행시키면 HELLO()가 출력되는 것을 확인 할 수 있다. 

페이지 없어서 404