해결된 질문
작성
·
418
1
PDF를 보면서 복습을 하는데
1. 핸들러어댑터호출
핸들러어댑터를 통해 new-form 이라는 논리뷰 이름을 획득한다.
2. ViewResolver 호출
new-form 이라는뷰 이름으로 viewResolver를 순서대로호출한다.
BeanNameViewResolver 는 new-form 이라는 이름의스프링 빈으로등록된 뷰를찾아야하는데 없다.
InternalResourceViewResolver 가 호출된다.
3. InternalResourceViewResolver
이뷰 리졸버는 InternalResourceView 를반환한다.
4. 뷰 - InternalResourceView
InternalResourceView 는 JSP처럼포워드 forward() 를호출해서 처리할수 있는경우에 사용한다.
5. view.render()
view.render() 가호출되고 InternalResourceView 는 forward() 를사용해서 JSP를실행한다.
그런데 코드를 찾아보니까
render()가 실행되면서
resolveViewName()로 viewResolver를 순회하던데
이때 InternalResourceViewResolver가 호출되는게 맞나요 ?
답변 1
1
안녕하세요. yousd179님
뒤에 이야기하시는 부분은 질문이 잘 이해가 되지 않습니다. 어떤 코드를 찾아보았고, 어떤 클래스의 어떤 코드가 호출되는지 소스코드와 함께 자세히 풀어서 다시 설명해주시겠어요?
참고로 SpringMVC 구조 그림에 있는 것 처럼 viewResolver를 통해서 뷰를 반환하고, 해당 뷰의 render() 코드가 호출됩니다. 그래서 앞부분에서 이야기하신 부분이 맞습니다.
감사합니다.