클라이언트의 요청을 처리하고, 그 결과를 반환하는 Servlet 클래스의 구현 규칙을 지킨 자바 웹 프로그래밍 기술

Was의 일부(ex- Tomcat)

WAS = Web Server + Web Container(Servlet Container)

(웹서버의 역할도 한다는 것이지 웹 서버가 통째로 들어가 있다는 뜻은 아니다.)

Web Sever는 HTTP 요청을 받아 Web Container로 넘겨준다.

Web Container는 내부 프로그램 로직 처리를 한 후, 데이터를 만들어서 Web Server로 다시 전달한다.

Web Server에 따른 처리를 Java 진영에서는 Servlet Container라고 부른다.

Servlet Container의 역할은 WAS인 Tomcat이 담당하고 있습니다. **DispatcherServlet은 Servlet Container에 관리되는 서블릿 중 하나**라고 한다.

Servlet-Container의 Servlet 관리 방법

  1. web.xml
  2. Spring MVC의 DispatcherServlet

https://sigridjin.medium.com/servletcontainer와-springcontainer는-무엇이-다른가-626d27a80fe5

ServletContainer는 하나의 WebApplication 하나씩 붙는다. ServletContainer인 Tomcat도 자바 프로그램이기 때문에, 하나의 JVM이 붙는다. 즉, one WAS per one JVM인 것이다.

(하나의 JVM 에서 하나의 Tomcat Instance (Server)가 하나의 Process 로써 동작)

Request 별로 Thread가 별도로 생성되고 이에 따라 각각의 ServletContext를 갖는다.