-
Dispatcherservlet백기선(인프런 강의)/스프링 웹 MVC 2020. 8. 24. 21:05반응형
DispatcherServlet 초기화
- 다음의 특별한 타입의 빈들을 찾거나, 기본 전략에 해당하는 빈들을 등록한다.
- HandlerMapping
- 전략 패턴 사용
- 핸들러를 찾아주는 인터페이스
- BeanNameHandlerMapping
- RequestMappingHandlerMapping
- 실질적으로 애노테이션, 컨트롤러와 RequestMapping, 이것을 Meta Annotation으로 사용하고 있는 GetMapping, PostMapping 등을 사용해서 Handler를 지정한 것들을 찾아주는 역할
- HandlerAdapter
- 전략 패턴 사용
- Handler를 실행하는 인터페이스
- RequestMappingHandlerAdapter
- HandlerExceptionResolver
- ViewResolver
DispatcherServlet 동작 순서
- 요청을 분석한다. (로케일, 테마, 멀티파트 등)
- (핸들러 맵핑에게 위임하여) 요청을 처리할 핸들러를 찾는다.
- (등록되어 있는 핸들러 어댑터 중에) 해당 핸들러를 실행할 수 있는 "핸들러 어댑터"를 찾는다.
- 찾아낸 "핸들러 어댑터"를 사용해서 핸들러의 응답을 처리한다.
- 핸들러의 리턴값을 보고 어떻게 처리할지 판단한다.
- 뷰 이름에 해당하는 뷰를 찾아서 모델 데이터를 랜더링한다.
- @ResponseEntity가 있다면 Converter를 사용해서 응답 본문을 만들고.
5. (부가적으로) 예외가 발생했다면, 예외 처리 핸들러에 요청 처리를 위임한다.
6. 최종적으로 응답을 보낸다.반응형'백기선(인프런 강의) > 스프링 웹 MVC' 카테고리의 다른 글
스프링 부트에서 JSP 사용하기 (0) 2020.08.31 스프링 부트의 스프링 MVC 설정 (0) 2020.08.31 스프링 부트의 스프링 기본 세팅 (0) 2020.08.28 스프링 MVC 구성요소 (0) 2020.08.26 스프링 MVC 란? (0) 2020.08.20