Home 뷰 리졸버
Post
Cancel

뷰 리졸버

뷰(View)

뷰(View)는 MVC 아키텍처에서 모델이 가진 정보를 어떻게 표현해야 하는지에 대한 로직을 갖고 있는 컴포넌트다. 웹 환경에서 뷰가 생성하는 결과물은 일반적으로 브라우저에 나타낼 수 있는 HTML이다.

스프링은 컨트롤러(핸들러)의 작업을 마친 후 뷰 정보를 ModelAndView 타입 오브젝트에 담아서 DispatcherServlet에 돌려 주고 크게 두가지 방법이 있다.

  • View 타입 오브젝트 반환
  • 뷰 이름 반환

뷰 리졸버(View Resolver)

컨트롤러(핸들러)가 뷰의 이름을 돌려주는 경우는 뷰 이름으로부터 실제 사용할 뷰를 결정해주는 뷰 리졸버(View Resolver)가 필요하다.

스프링은 다양한 뷰 리졸버를 제공하고 대표적으로 스프링 부트를 사용할 경우 InternalResourceViewResolver라는 뷰 리졸버를 자동으로 등록하는데, 이때 application.properties에 등록한 spring.mvc.view.prefix, spring.mvc.view.suffix 설정정보를 사용해서 등록한다.

뷰 리졸버 동작 방식

  1. 컨트롤러(핸들러)가 뷰의 이름(논리 뷰 이름)을 반환한다.
  2. 획득한 뷰의 이름(논리 뷰 이름)을 통해 스프링에 등록 된 ViewResolver를 순서대로 호출한다.
  3. 호출된 ViewResolver를 통해 View 객체를 반환 받는다.
  4. 반환 된 View 객체를 통해 view.render()를 호출 한다.

참고

This post is licensed under CC BY 4.0 by the author.

스프링 핸들러 매핑과 핸들러 어댑터

HTTP 요청 파라미터

Comments powered by Disqus.