반응형
스프링 이전에 Servlet을 직접 사용할땐 URL마다 하나하나 만들어야하고
각각의 설정하기가 매우 복잡했다.
이것을 해결하는것이 Spring의 dispatcherServlet이다.
매번 반복작업하던 비생산적인 작업들을 스프링이 뒷단에서 직업해주고 있다.
HandlerMapping 으로 클라이언트가 서버에 요청할때 접근할 수 있게 해주고
HandlerAdapter로 요청에 맞는 기능을 찾아준다.
//스프링 내부 소스코드
//스프링이 구동될떄 초기에 여러 형태를 미리 준비해놓을 수 있다.
protected void initStrategies(ApplicationContext context) {
this.initMultipartResolver(context);
this.initLocaleResolver(context);
this.initThemeResolver(context);
this.initHandlerMappings(context);
this.initHandlerAdapters(context);
this.initHandlerExceptionResolvers(context);
this.initRequestToViewNameTranslator(context);
this.initViewResolvers(context);
this.initFlashMapManager(context);
}
또 한 여러 작업을 하고 클라이언트에게 다시 송출할때도
viewResolver로 보내준다.
viewResolver는 기본으로 제공해주지만 아래처럼 커스텀해서 사용할 수 있다.
//viewResolver 설정해서 간단하게 사용하기
@Configuration
@ComponentScan
public class OneServletWebConfig {
@Bean
public ViewResolver viewResolver() {
InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
viewResolver.setPrefix("/WEB-INF/");
viewResolver.setSuffix(".jsp");
return viewResolver;
}
}
요청을 받고 요청의 맞는 기능을 구현하고 형태에 맞게 화면에 전송하는 것을 다구현하지않고
스프링의 dispatcherServlet이 구현해준다.
반응형
'개발 소발 > 개발 Spring' 카테고리의 다른 글
| Spring Bean,스프링 빈이란?기초 (0) | 2021.08.13 |
|---|---|
| 스프링 웹 개발 기초 정적컨텐츠,MVC,API 란? (0) | 2021.08.09 |
| Spring Environment 기초 사용방법 (0) | 2020.07.13 |
| Spring Scope란? (0) | 2020.07.13 |
| Spring Autowired와 ComponentScan이란 (0) | 2020.07.10 |