WAS vs. Web Server

출처: https://gowoonsori.com/spring/architecture/ , 요청처리 구조

출처: https://gowoonsori.com/spring/architecture/ , 요청처리 구조

출처: https://taes-k.github.io/2020/02/16/servlet-container-spring-container/ , Web 요청처리 구조

출처: 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. 서블릿으로 구현됨.

Servlet Container


서블릿 클래스의 로드, 초기화, 호출, 소멸까지의 라이프사이클을 직접적으로 관리해주는 역할을 한다.

Dispatcher Servlet


Screenshot 2023-08-22 at 3.54.26 PM.png

클라이언트의 요청에 따라 개발자가 정의해 둔 내용을 응답 해 줄수있도록 front-controller의 역할을 한다.

그중 주요 역할을하는 몇가지를 살펴보면,

  1. HandlerMapping

    Client로 부터 들어온 Request를 분석하여 매핑된 Controller가 있는지 확인한다.

  2. HandlerAdapter

    매핑 대상 Controller에게 Request 처리요청을 보낸다.

  3. ViewResolver

    Controller에서 view를 return 했을경우 해당하는 view를 찾아 client에게 return 한다.