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 내부 동작흐름 상세 - 요청 처리 종료