Tomcat 구성
Coyote (HTTP Component) - 톰켓에 TCP 통한 프로토콜 지원
Catalina (Servlet Container) - Java Servlet 을 호스팅하는 환경
Jasper (JSP Engine) - JSP 페이지의 요청을 처리하는 서블릿
HTTP 요청을 받으면 Coyote 가 받아서 Catalina 에 전달
Catalina 는 전달받은 HTTP 요청을 처리할 웹 어플리케이션을 찾고 web.xml 을 참조해서 요청을 전달한다.
요청된 서블릿을 통해 생성된 jsp 가 있다면 Jasper가 검증/컴파일 등을 수행한다.
Tomcat 구조
Tomcat 은 자바 어플리케이션으로 JVM 위에서 동작한다.
한 톰캣 서버에는 여러 서비스들을 올릴수있고, 각각의 서비스는 엔진 1개와 여러 커넥터를 가진다.
엔진은 카탈리나 서블릿 엔진이라고 불리고 들어온 요청을 하위 host에 전달하는 역할을 한다.
context는 war 파일로 배포된 어플리케이션을 뜻한다.
요청이 들어오면 Coyote를 통해 서블릿컨테이너 역할을 하는 Catalina 엔진에 들어오고
Catalina 엔진에서 요청에 맞는 Context 내부에 Servlet을 찾아서 로직을 수행하고 응답을 받아서
클라이언트에 response 하게 된다.