코드 그라데이션
뷰 리졸버 본문
뷰 리졸버
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