출처: https://gowoonsori.com/spring/architecture/ , 요청처리 구조
출처: https://taes-k.github.io/2020/02/16/servlet-container-spring-container/ , Web 요청처리 구조
| Servlet Container
(Web Container) | 서블릿의 생명주기를 관리하는 instance |
---|---|
Servlet | 클라이언트의 요청에 대해 상응하는 결과를 return해 주어야 하는데 웹 페이지 혹은 결과값을 동적으로 생성 해 주기위한 역할을 하는 자바 프로그램 |
Dispatcher Servlet | 클라이언트의 요청에 따라 개발자가 정의해 둔 내용을 응답 해 줄수있도록 front-controller 의 역할을 하는 instance. 서블릿으로 구현됨. |
서블릿 클래스의 로드, 초기화, 호출, 소멸까지의 라이프사이클을 직접적으로 관리해주는 역할을 한다.
클라이언트의 요청에 따라 개발자가 정의해 둔 내용을 응답 해 줄수있도록 front-controller
의 역할을 한다.
그중 주요 역할을하는 몇가지를 살펴보면,
HandlerMapping
Client로 부터 들어온 Request를 분석하여 매핑된 Controller가 있는지 확인한다.
HandlerAdapter
매핑 대상 Controller에게 Request 처리요청을 보낸다.
ViewResolver
Controller에서 view를 return 했을경우 해당하는 view를 찾아 client에게 return 한다.