Spring MVC구성요소(2)
2020-07-05
해당 Post는 지난 post에 이어서 추가적으로 Spring MVC구성요소을 정리한 파일입니다.
요청 처리시 사용된 컴포넌트
org.springframework.web.servlet.ModelAndView
- ModelAndView는 Controller의 처리 결과를 보여줄 view와 view에서 사용할 값을 전달하는 클래스이다.
org.springframework.web.servlet.RequestToViewNameTranslator
-
컨트롤러에서 뷰 이름이나 뷰 오브젝트를 제공해주지 않았을 경우 URL과 같은 요청정보를 참고해서 자동으로 뷰 이름을 생성해주는 전략 오브젝트이다.
-
디폴트는 DefaultRequestToViewNameTranslator이다.
그림 - DispatcherServlet 내부 동작흐름 상세 - 요청 처리
예외 처리시 사용된 컴포넌트
org.springframework.web.servlet.handlerexceptionresolver
- 기본적으로 DispatcherServlet이 DefaultHandlerExceptionResolver를 등록한다.
- HandlerExceptionResolver는 예외가 던져졌을 때 어떤 핸들러를 실행할 것인지에 대한 정보를 제공한다.
그림 - DispatcherServlet 내부 동작흐름 상세 - 예외처리
뷰 렌더링 과정시 사용된 컴포넌트
org.springframework.web.servlet.ViewResolver
- 컨트롤러가 리턴한 뷰 이름을 참고해서 적절한 뷰 오브젝트를 찾아주는 로직을 가진 전략 오프젝트이다.
- 뷰의 종류에 따라 적절한 뷰 리졸버를 추가로 설정해줄 수 있다.
그림 - DispatcherServlet 내부 동작흐름 상세 - 뷰 렌더링 과정
그림 - DispatcherServlet 내부 동작흐름 상세 - 요청 처리 종료