inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

스프링 MVC - 시작하기

스프링 핸들러매핑, 핸들러 어댑터, 컨트롤러

473

침착한치킨다리

작성한 질문수 10

0

안녕하세요!

스프링 MVC와 관련하여 궁금한 점이 있습니다.

스스로 만든 프레임워크에서는 다양한 형태의 헨들러를 다루기 위해 핸들러 어댑터 목록과 핸들러 매핑을 도입한 것으로 이해하고 있습니다.

 

스프링 MVC의 경우 99.9% RequestMappingHandlerMapping 과 RequestMappingHandlerAdapter를 쓴다고 강의자료에 나와 있는데요, 그렇다면 사실상 핸들러(컨트롤러)도 하나의 통일 된 형태를 가지고 있는건가요?

 

감사합니다.

spring mvc

답변 1

2

김영한

안녕하세요. 럭키리님

스프링 MVC는 RequestMappingHandlerMappingRequestMappingHandlerAdapter를 주로 사용합니다. 이는 스프링 MVC가 @RequestMapping 어노테이션을 사용하여 정의된 핸들러(컨트롤러 메소드)를 매핑하고 처리하는 표준 방식입니다. 이러한 구조 덕분에 스프링 MVC는 핸들러 메소드의 선언과 사용을 매우 유연하게 할 수 있습니다.

그렇지만, 이것이 핸들러(컨트롤러)가 오직 하나의 통일된 형태만을 가진다는 것을 의미하지는 않습니다. 스프링 MVC는 다양한 종류의 핸들러 매핑과 어댑터를 지원합니다. 예를 들어, SimpleUrlHandlerMapping, BeanNameUrlHandlerMapping 등 다른 매핑 전략도 제공합니다. 또한, 커스텀 핸들러 매핑과 어댑터를 구현하여 사용할 수도 있습니다.

하지만 실제 개발 과정에서는 RequestMappingHandlerMappingRequestMappingHandlerAdapter가 대부분의 요구 사항을 충족시키므로, 대부분의 경우 이들을 사용하는 것이 일반적입니다. 이러한 방식은 어노테이션 기반의 컨트롤러를 쉽게 작성하고 관리할 수 있게 해주며, 스프링의 다른 기능들과도 잘 통합됩니다.

요약하자면, 스프링 MVC는 다양한 형태의 핸들러를 지원하지만, 실제 개발에서는 RequestMappingHandlerMappingRequestMappingHandlerAdapter를 사용하는 것이 일반적이며, 이를 통해 어노테이션 기반의 컨트롤러를 유연하게 관리할 수 있습니다.

감사합니다.

1

침착한치킨다리

RequestMappingHandlerMappingRequestMappingHandlerAdapter가 대부분의 요구 사항을 충족시킨다는 게 정말 신기하군요!! 답변해주셔서 감사합니다!

servlet과 container에 대한 질문입니다

0

24

1

api를 어느 컨트롤러에 작성해야하는지는 어떤 기준으로 해야하나요?

0

64

1

jsp 의존성 수정 요청

0

78

2

요즘 웹 서버가 주로 사용되는 이유는 SPA 구조 때문일까요 ?

0

143

1

save() 메서드 문의

0

67

1

절대 경로로 templates/basic 하위 파일 열면 css 적용 안되는 현상

0

101

1

request-body-json

0

83

2

MVC 패턴의 적용 단위

0

97

1

RequestMapping을 이용한 핸들러, 어댑터

0

119

2

save 후 결과화면

0

89

2

jsp를 이용한 view

0

97

1

application.properties에 debug 추가해도 결과가 똑같습니다.

0

178

1

수업 코드 제공 관련 문의

0

97

2

RequestMappingHandlerAdapter의 Controller 호출 과정

0

100

3

파일 오픈 시

0

70

1

스프링 배치 관련

0

77

1

@RequestParam의 defaultValue가 blank 값도 처리하는 지 여부

0

112

1

postman으로 /request-body-json-v1 호출시 500 error

0

95

1

프론트엔드와 백엔드의 mvc, rest api에 대한 질문

0

79

1

모델의 역할과 계층 분리에 대한 이해 차이 + 추가질문

0

111

1

console log 출력 관련 질문입니다.

0

75

1

애플리케이션이 실행 되지 않습니다 ㅠㅠㅠ

0

139

1

html 변경하는 부분 적용 문제

0

103

1

한글 깨짐

0

76

2