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

gusdn85554님의 프로필 이미지
gusdn85554

작성한 질문수

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

DispatcherServlet 등록

작성

·

347

0

안녕하십니까 강사님

수업을 듣는 중에 DispatcherServlet이 실행되는 과정을 말씀해주셨는데 제가 이해한 내용이 맞는지 궁금하여 여쭤봅니다.

 

1. DispatcherServlet의 부모인 FrameworkServlet의 service메서드를 실행하면서 누가 실행시키는 것인지는 모르지만 DispatcherServlet의 doDispatch 메서드가 실행이 되면서 handler를 찾고 adapter를 찾게 된다.

 

2. DispatcherServlet을 서블릿으로 자동으로 등록하신다고 말씀하셨는데 어떻게 등록하지?라는 궁금점이 생겨 찾아보았습니다.

https://docs.spring.io/spring-framework/docs/current/reference/html/web.html#mvc-servlet-config

에서 ServletInitializer가 결국 WebApplicationInitializer를 구현하는데 이 인터페이스는 'DispatcherServlet 의 위치를 지정하는 메서드를 재정의하여 DispatcherServlet을 등록하는 것을 훨씬 쉽게한다'고 하는데,  ServletInitializer에 의해 등록이 되는거로 생각하면 되는건가요???

 

3. servelet은 자바를 사용하여 웹페이지를 동적으로 생성하는 서버 측 프로그램이라고 알고 있는데

DispatcherServlet을 서블릿으로 자동으로 등록한다는 의미는 DispatcherServlet을 이용하여 웹 페이지를 동적으로 생성한다 라는 말과 같을까요??

 

4. 강의에서 클래스 레벨에 @Component만 붙게 된다면 핸들러 매핑을 따로 해줘야한다. 라는 말씀을 하셨을 때는 이해가 되지 않았는데 강의를 들어보니

@Component는 단지 빈으로 등록하는 것이고, 핸들러 조회를 하게 되면 조회가 되지 않는다. 따라서 @RequestMapping을 사용하여 핸들러 매핑을 해줘야 DispatcherServlet이 핸들러를 조회할 때 조회가 된다

라고 이해하면 될까요??

읽어주셔서 감사합니다

답변 2

1

gusdn85554님의 프로필 이미지
gusdn85554
질문자

강사님 답변 감사드립니다.

다름이 아니라 질문을 보면 그 사람이 어느 정도 이해했는지 쪼금 알 수 있지 않습니까?

저는 현재 MVC 1편 2번째 보는 중인데 강사님께서 다시 한 번 복습해보시는 것을 추천해주셔서 아직 많이 부족함을 느낍니다 

완벽해질 때까지 3번, 4번 보겠습니다.

감사합니다

0

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. gusdn85554님

1. 톰캣(WAS)가 실행합니다.

2. 네 스프링 부트가 등록하게 됩니다.

3. 강의 초반부를 떠올려보시면 서블릿만으로 웹 페이지를 만들었던 부분이 있습니다. 이 부분을 떠올려보시면 됩니다. 서블릿은 웹에서 요청을 받는 목적으로 만들어졌고, 응답 결과를 동적으로 만들어낸다고 생각하시면 됩니다. 여기에 스프링을 끼워서 이런 부분을 더 편리하게 합니다.

4. 네 맞습니다.

한번 정도 처음부터 복습해보시는 것을 추천드립니다.

감사합니다.

gusdn85554님의 프로필 이미지
gusdn85554

작성한 질문수

질문하기