뷰(View)
뷰(View)
는 MVC 아키텍처에서 모델이 가진 정보를 어떻게 표현해야 하는지에 대한 로직을 갖고 있는 컴포넌트다. 웹 환경에서 뷰가 생성하는 결과물은 일반적으로 브라우저에 나타낼 수 있는 HTML이다.
스프링은 컨트롤러(핸들러)
의 작업을 마친 후 뷰 정보를 ModelAndView
타입 오브젝트에 담아서 DispatcherServlet
에 돌려 주고 크게 두가지 방법이 있다.
- View 타입 오브젝트 반환
- 뷰 이름 반환
뷰 리졸버(View Resolver)
컨트롤러(핸들러)
가 뷰의 이름을 돌려주는 경우는 뷰 이름으로부터 실제 사용할 뷰를 결정해주는 뷰 리졸버(View Resolver)
가 필요하다.
스프링은 다양한 뷰 리졸버를 제공하고 대표적으로 스프링 부트를 사용할 경우 InternalResourceViewResolver
라는 뷰 리졸버를 자동으로 등록하는데, 이때 application.properties
에 등록한 spring.mvc.view.prefix
, spring.mvc.view.suffix
설정정보를 사용해서 등록한다.
뷰 리졸버 동작 방식
컨트롤러(핸들러)
가 뷰의 이름(논리 뷰 이름)을 반환한다.- 획득한 뷰의 이름(논리 뷰 이름)을 통해 스프링에 등록 된
ViewResolver
를 순서대로 호출한다. - 호출된
ViewResolver
를 통해View
객체를 반환 받는다. - 반환 된
View
객체를 통해view.render()
를 호출 한다.
Comments powered by Disqus.