Spring/Spring MVC

(SERVLET) DispatcherServlet(3) - ViewResolver

주누 2020. 1. 18. 20:25

DispatcherServlet이 초기화하는 과정을 살펴보자

viewResolver를 Bean으로 등록하였을 경우 - 기본적으로  detectAllViewResolver 값이 true로 초기화돼있기 때문에 

해당 로직을 탄다.

찾은 Bean에 대한 정보 - 이전에 설정한 viewResolver에 대한 정보가 담겨 있다.


ViewResolver를 Bean으로 등록

@Configuration
@ComponentScan(useDefaultFilters = false, includeFilters = @ComponentScan.Filter(Controller.class))
public class WebConfig {
    @Bean
    public ViewResolver viewResolver() {
        InternalResourceViewResolver internalResourceViewResolver = new InternalResourceViewResolver();
        internalResourceViewResolver.setPrefix("/WEB-INF/");
        internalResourceViewResolver.setSuffix(".jsp");

        return internalResourceViewResolver;
    }
}

위와 같은 suffix와 prefix를 설정할 수 있다.

@org.springframework.stereotype.Controller("/simple")
public class SimpleController implements Controller {
    @Override
    public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
        return new ModelAndView("simple");
    }
}

실행 결과

 

주의할 점은 해당 초기화 과정은 최초 시작시점에서 한번만 initiallization되고 다음에는 세팅하지 않는다는 점이다.