728x90
DispatcherServlet 정의
- 서버로 들어오는 모든 요청(Request)을 처리하는 프론트 컨트롤러 (서블릿컨테이너의 제일 앞에서 서버로 들어오는 클라이언트의 요청을 받아서 처리해주는 컨트롤러를 프론트컨트롤러라고 정의함)
- 요청을 받아들여서 적절한 Controller로 요청을 위임해줌
- Spring MVC 사용전에는 JSP환경에서는 서블릿 객체를 직접 생성하여 web.xml에 매핑을 해줘야 했으나 Spring MVC를 사용하면서 DispatchServlet이 모든 요청을 핸들링 처리를 해줘서 해당 작업이 필요가 없어짐
- 요청에 맞는 핸들러로 요청을 Dispatch하고 핸들러 실행 결과를 Http Response형태로 응답해줌
DispatcherServlet 구조
- DispatcherServlet은 ServletContext에 등록된 ApplicationContext를 상속받아서 WebApplicationContext를 생성함
- Servlet WebApplicationContext는 Root WebApplicationContext를 상속받아 만들어짐, 해당 DispatchServlet에 Controller, View 같은 Bean들이 등록
DispatcherServlet 흐름
- 요청이 DispatcherServlet에 전달
- DispatcherServlet은 전달 받은 요청을 HandlerMapping을 통하여 Controller에 전달, Contoller는 처리결과를 응답
- DispatcherServlet은 ViewResolver로부터 응답결과를 생성한 View를 추출
- View는 요청한 Client에 응답
'SPRING' 카테고리의 다른 글
[SPRING] AOP (0) | 2021.07.31 |
---|---|
[SPRING] Interceptor (0) | 2021.07.11 |
[SPRING] Bean (0) | 2021.05.23 |
[SPRING] 컨테이너 (Container) (0) | 2021.05.23 |
[SPRING] JPA 연관관계 (0) | 2021.05.19 |