목차
- Dispatcher Servlet에 대해서 간단하게 소개
- 대략적인 호출 구조
- 구체적인 Method Call을 보여주는 Sequence Diagram
Dispatcher Servlet
Spring에서 제공하는 Front Controller 역할을 하는 Servlet으로 Client의 Request에 대해 실제 처리하는 method를 호출해준다.
그러면, Client로 부터 요청이 왔을 때, Spring의 Dispatcher Servlet은 어떠한 과정을 거쳐서 응답을 주는지 알아보자.
대략적인 구조
Client -> Dispatcher Servlet
: url로 접근하여 정보를 요청
Dispatcher Servlet -> Handler Mappings
: 해당 요청을 매핑한 컨트롤러가 있는지 탐색
: 해당 컨트롤러가 있다면 Dispatcher Servlet에게 반환
( 실제적으로는 Controller을 반환하지 않고 HandlerExcutionChain을 반환)
Dispatcher Servlet -> Controller
: 요청에 해당 하는 method 실행
: 요청을 처리하고 결과를 반환 ( ModelAndView or ResponseEntity )
Dispatcher Servlet -> View Resolver ( 위에서 받은 결과가 View인 경우 )
: 위에서 받은 컨트롤러의 응답에 해당하는 View 탐색 및 반환
Dispatcher Servlet -> View's ( 위에서 받은 결과가 View인 경우 )
: 위에서 받은 View와 Controller의 응답으로 받은 Model을 조합한 View를 제작 및 반환
Dispatcher Servlet -> Client
: 최종 결과를 응답
구체적인 Method Call을 보여주는 Sequence Diagram