뷰 리졸버의 역할
컨트롤러가 반환한 논리적 뷰 이름(View Name)을
실제 뷰(JSP, Thymeleaf 등)로 변환해 줍니다.
컨트롤러에서 뷰 이름 String값으로 반환.
ViewResolver가 설정된 접두사(prefix)와 접미사(suffix)를 붙여서 실제 뷰 경로 생성
JSP(View) 렌더링 후 클라이언트에게 HTML 응답 전송
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/"/>
<property name="suffix" value=".jsp"/>
</bean>
| ViewResolver 종류 | 설명 |
|---|---|
| InternalResourceViewResolver | JSP 같은 정적인 뷰를 처리 (주로 사용) |
| ThymeleafViewResolver | Thymeleaf 템플릿 엔진을 사용 |
| BeanNameViewResolver | 뷰 이름이 Bean의 이름과 같을 때 사용 |
| MappingJackson2JsonView | JSON 데이터를 반환하는 ViewResolver |
ViewResolver는 컨트롤러에서 반환한 뷰 이름을 실제 뷰 파일 경로로 변환
JSP를 사용할 때 InternalResourceViewResolver를 사용하면 "home"을 /WEB-INF/views/home.jsp로 변환
뷰 경로를 직접 지정하는 것보다 유지보수성이 훨씬 좋아짐