Dazzling 개발 노트
[Spring] Dispatcher-Servlet 본문
Dispatcher-Servlet의 개념
Dispatcher-Servlet이란?
- HTTP 프로토콜로 들어오는 모든 요청을 가장 먼저 받아 적합한 컨트롤러에 위임해주는 프론트 컨트롤러 (Front Controller)
Front Controller
- 서블릿 컨테이너의 제일 앞에서 서버로 들어오는 클라이언트의 모든 요청을 받아서 처리하는 컨트롤러
- MVC 구조에서 함께 사용되는 디자인 패턴
Dispatcher-Servlet의 장점
- 어플리케이션으로 들어오는 모든 요청을 핸들링
- 공통 작업 처리
- 컨트롤러만 구현해도 Dispatcher-Servlet이 적합한 컨트롤러로 위임 가능
Dispatcher-Servlet의 동작과정
- 클라이언트의 요청을 Dispatcher-Servlet이 받음
- 요청 정보를 통해 위임할 컨트롤러를 찾음
- 요청을 컨트롤러로 위임할 핸들러 어댑터를 찾아 전달
- 핸들러 어댑터가 컨트롤러로 요청 위임
- 비지니스 로직 처리
- 컨트롤러가 반환값 반환
- 핸들러 어댑터가 반환값 처리
- 서버의 응답을 클라이언트로 반환