inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

정리

springmvc패키지 안에 있는 v1,v2,v3에서는 왜 프론트 컨트롤러가 없어도 되는건지 궁금합니다.

해결된 질문

473

감바스

작성한 질문수 92

1

앞 강의에서 frontcontroller 패키지에 있는 v1,v2,v3,v4,v5같은 경우에는 FrontControllerServletV5 이런식으로 프론트컨트롤러가 존재했는데 springmvc패키지 안에 있는 v1,v2,v3패키지에서는 왜 프론트 컨트롤러없이 단순히 컨트롤러만 존재해도 되는건지 궁금합니다.

감사합니다.

spring mvc

답변 1

1

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴이에요. springmvc 패키지 안에 있는 v1, v2, v3 패키지에서는 왜 프론트 컨트롤러가 없어도 되는지에 대해 궁금하신군요.

Spring MVC에서는 프론트 컨트롤러를 사용하는 대신에 DispatcherServlet이라는 서블릿이 프론트 컨트롤러의 역할을 수행합니다. 이 DispatcherServlet은 클라이언트의 HTTP 요청을 받아서 적절한 컨트롤러로 요청을 전달하고, 컨트롤러가 실행한 결과를 HTTP 응답으로 변환하여 클라이언트에게 전송합니다.

그래서 springmvc 패키지 안에 있는 v1, v2, v3 패키지에서는 프론트 컨트롤러가 따로 존재하지 않고, 대신 DispatcherServlet이 프론트 컨트롤러의 역할을 수행합니다. v1, v2, v3 패키지에는 단순히 컨트롤러가 존재하는 이유는 개별적인 컨트롤러를 구현해서 요청을 처리하기 위해서입니다.

추가로, Spring MVC의 DispatcherServlet은 클라이언트의 요청을 어떤 컨트롤러로 전달할지 결정하는 과정에서 HandlerMapping, HandlerAdapter, ViewResolver 등과 같은 여러 컴포넌트들과 협력하여 동작합니다. 이러한 컴포넌트들이 DispatcherServlet의 동작에 필요한 기능을 제공하며, 해당하는 컨트롤러 메서드를 실행하고 결과를 뷰에 전달하는 역할을 수행합니다.

다른 궁금한 사항이 있으시면 언제든지 물어보세요. 감사합니다.

servlet과 container에 대한 질문입니다

0

25

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

78

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