뷰는 MVC아키텍쳐에서 모델이 가진 정보를 어떻게 표현해야 하는지에 대한 로직을 갖고 있는 컴포넌트.
웹 환경에서 뷰가 생성하는 결과물은 일반적으로 브라우저에 나타낼 수 있는 HTML.
컨트롤러가 작업을 마친 후 뷰 정보를 ModelAndView타입 오브젝트에 담아서 DispatchServlet에 돌려주는 방법은 두 가지가 있다.
1. View 타입의 오브젝트를 돌려주는 방법
2. 뷰 이름을 돌려주는 방법.
뷰 이름을 돌려주는 경우는 뷰 이름으로부터 실제 사용할 뷰를 결정해주는 뷰 리졸버가 필요하다. 뷰 리졸버가 처리하는 이런 뷰 이름을 '논리적인 뷰 이름'이라고 부르기도 한다. 논리적인 이름을 실질적인 뷰 오브젝트로 바꿔주기 때문.
1.뷰
DispatchServlet이 사용하는 뷰 오브젝트는 스프링의 View 인터페이스를 구현해야 한다.
1
2
3
4
5
6
|
public interface View{
String getContentType();
void render(Map<String, ?> model, HttpServletRequest request,
HttpServletResponse response) throws Exception;
}
|
cs |
View 인터페이스는 뷰 오브젝트가 생성하는 콘텐트의 타입 정보를 제공해주는 getContentType() 메서드와 모델을 전달받아 클라에 돌려줄 결과물을 만들어주는 render() 메서드, 두 가지로 구성된다. View 인터페이스를 직접 구현해서 뷰를 만들어야 할 필요는 없다. 스프링이 웹에서 자주 사용되는 타입의 컨텐트를 생성해주는 다양한 뷰를 이미 구현해놓았기 때문.
'스프링의 원리' 카테고리의 다른 글
스프링 @MVC 리턴 타입의 종류 (0) | 2021.05.22 |
---|---|
스프링 @MVC 메소드 파라미터의 종류 (0) | 2021.05.22 |
스프링 웹 기술과 스프링 MVC- 컨트롤러 테스트 (0) | 2021.05.18 |
스프링 웹 기술과 스프링 MVC (0) | 2021.05.18 |
오브젝트와 의존관계 (0) | 2021.05.17 |