코드 그라데이션

뷰 리졸버 본문

Spring/MVC 1

뷰 리졸버

완벽한 장면 2023. 10. 3. 01:54

뷰 리졸버

OldController - 뷰 조회할 수 있도록 변경

@Component("/springmvc/old-controller")
public class OldController implements Controller {

	@Override
	public ModelAndView handleRequest(HttpServletRequest request,
		HttpServletResponse response) throws Exception {
	
    	System.out.println("OldController.handleRequest");
			return new ModelAndView("new-form");
	}
}

일단 이렇게만 하면 404 오류페이지 나옴. 현재 뷰를 찾지 못하기 때문에.

 

application.properties 에 다음 코드를 추가.

spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp

 

 

실행을 해보면

일단은 폼이 제대로 출력됨 (아직 값 넣는 것은 안 됨. save 없으니까.)

 

 

뷰 리졸버 - InternalResourceViewResolver

 

참고로 권장하지는 않지만 설정 없이 다음과 같이 전체 경로를 주어도 동작하기는 한다.

 

 

뷰 리졸버 동작 방식
스프링 MVC 구조

 

 

스프링 부트가 자동 등록하는 뷰 리졸버
(실제로는 더 많지만, 중요한 부분 위주로 설명하기 위해 일부 생략)

 

 

1. 핸들러 어댑터 호출

2. ViewResolver 호출

 

3. InternalResourceViewResolver

4. 뷰 - InternalResourceView

5. view.render()

 

# InternalResource - 내부에서 왔다갔다하면서 자원을 찾을 수 있는 것.

 

 

끝.

728x90

'Spring > MVC 1' 카테고리의 다른 글

스프링 MVC 시작하기  (0) 2023.10.04
검증 헤더와 조건부 요청 1  (0) 2023.10.04
핸들러 매핑과 핸들러 어댑터  (0) 2023.10.02
스프링 MVC 전체 구조  (0) 2023.10.02
유연한 컨트롤러2 - v5  (0) 2023.09.27
Comments