강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

김형민님의 프로필 이미지
김형민

작성한 질문수

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

정리

핸들러, 어댑터 관련 질문입니다.

작성

·

251

2

@GetMapping("/new-form") //어댑터(?)
public String newForm() { //핸들러(?)
return "new-form";
}

위 코드의 주석문대로 등록되는 경로가 어댑터를 의미하고 실제 객체가 핸들러를 의미하는 것이 맞을까요?

답변 1

2

안녕하세요. 김형민님, 공식 서포터즈 David입니다.

핸들러 어댑터(여기서는 RequestMappingHandlerAdapter)는 @GetMapping("/new-form")이 붙은 핸들러 메서드인 newForm()을 처리해줄 수 있는 것을 말합니다.

핸들러는 newForm()을 가지고 있는 컨트롤러를 말합니다. newForm()은 핸들러가 가지고 있는 메서드이기 때문에 핸들러 메서드라고 말합니다.

스프링 내부적으로 getHandler()를 처리할 때 해당 컨트롤러 자체를 가져오는 것이 아니라 해당 컨트롤러(핸들러)의 newForm(메서드) 정보를 가져오는 것입니다.

 

헷갈리신다면 본 강의 아래 2개 섹션을 반복하여 들으시면 좋을 것 같습니다:)

MVC 프레임워크 만들기

스프링 MVC - 구조 이해


감사합니다.

김형민님의 프로필 이미지
김형민
질문자

빠른 답변 감사합니다!

김형민님의 프로필 이미지
김형민
질문자

핸들러는 newForm()을 가지고 있는 컨트롤러를 말합니다.

=> SpringMemberControllerV3가 핸들러라는 말씀이신가요? 그러면 SpringMemberControllerV3는 핸들러이면서 통합 컨트롤러(디스패치 서블릿)인 건가요?

DispatcherServlet(FrontController 역할)은 따로 있습니다. SpringMemberControllerV3가 핸들러입니다.

김형민님의 프로필 이미지
김형민
질문자

아 이해됐습니다. 감사합니다!

김형민님의 프로필 이미지
김형민

작성한 질문수

질문하기