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

작성자 없음

작성자 정보가 삭제된 글입니다.

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

스프링 MVC - 시작하기

Dispatcher Servlet은 어디 있나요 ?

작성

·

252

1

강의를 듣던 중 질문드립니다.

SpringMvc패턴에서 v1에서 각각의 클래스에 @Controller 애노테이션으로 등록만 해주었는데

FrontController 역할을 하는 Dispatcher Servlet의 클래스? 등은 따로 존재하지 않는건가요? 

이번 소스가 정확히 어떤식으로 돌아가는지 잘 이해가 가지 않습니다 ㅠㅠ Http의 parameter를 입력 받고 스프링 빈에 등록되어 있는 핸들러 @RequestMapping 으로 찾은 다음 따로 무언가 작성해주지 않더라도 스프링 내부에서 자동으로 어댑터를 찾아서 핸들러를 적용시키고 뷰 리졸버까지 자동으로 되는건가요? ㅠㅠ 구조가 잘 이해가 가지 않습니다

김영한 선생님께서 만든건 Controller 클래스와 .jsp의 뷰밖에 없는데 스프링이 어떻게 알아서 다 하는지... 헷갈립니다

그리고 제가 컨트롤러의 리턴값을 무엇을 반환할지도 모르는데 만약 스프링안에 등록된 어댑터로 찾을 수 없으면

에러가 발생하나요 ?

답변 1

2

안녕하세요, hjemsti 님. 공식 서포터즈 codesweaver 입니다.
.
영한님 강의자료를 참조하시면 아래와 같습니다.

DispatcherServlet과 HandlerAdapter, ViewResolver등의 내용은 모두 Spring 프레임워크 내부에 있습니다. 개발자가 작성해야 하는 부분은 바로 컨트롤러 부분입니다. (애노테이션으로 @Controleer를 붙이는 클래스 입니다) 아래 이미지에서 빨간 박스를 친 부분은 개발자가 작성해야 하는 부분이고 나머지는 모두 Spring 프레임워크 안에 존재합니다.

반환값도 모두 Spring 프레임워크안에서 처리하게 되는데 문의하신 것처럼 적절한 ViewResolver를 찾을 수 없는 값을 반환할경우 오류가 발생하게 됩니다.
.
감사합니다.

View도 개발자가 구현해줘야하는 것 아닌가요 ?? 영한님이 .jsp를 만든 것 처럼요 

안녕하세요 hjemsti님!

네 맞습니다. 그림에 view도 포함되어있었네요 :)

컨트롤러 부분과 View에서 사용할 파일은 개발자가 제공해야 합니다.

감사합니다.

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기