데이터를 위한 Back_End 공부하기 : Tomcat.

▽ 데이터를 위한 Back_End 공부하기 : Tomcat.
목 차
1. 톰캣의 주요 개념 및 역할.
2. 톰캣의 특징 및 장점.

1. 톰캣의 주요 개념 및 역할.
톰캣이란
Apache Tomcat은 Java 웹 애플리케이션을 구동하기 위한 오픈 소스 소프트웨어이며, 웹 서버(Web Server) 기능과 서블릿 컨테이너(Servlet Container) 기능을 결합한 웹 애플리케이션 서버(WAS)
Java 개발 환경에서 웹 애플리케이션을 실행하는 데 가장 널리 사용되는 사실상의 표준(de facto standard).
톰캣의 정체 : WAS(웹 어플리케이션 서버)
-
정의 : 톰캣은 클라이언트의 HTTP 요청을 받고 처리하며, 특히 동적인 콘텐츠를 생성하여 응답하는 역할을 수행.
-
구성 : 톰캣은 HTTP 웹 서버의 기능(요청/응답 처리)과 서블릿 컨테이너의 기능을 모두 갖추고 있어 WAS로 불림.
핵심 역할 : 서블릿 컨테이너 (Servlet Container)
톰캣의 가장 핵심적인 역할.
-
서블릿과 JSP 실행 환경
- 톰캣은 Java Servlet과 JSP(Java Server Pages) 코드를 실행할 수 있는 환경을 제공
- 클라이언트로부터 요청이 들어오면, 이 코드를 실행하여 동적인 콘텐츠(데이터베이스 조회 결과, 로직 처리 결과 등)를 생성.
-
수명 주기 관리
- 서블릿의 생성, 초기화, 요청 처리, 소멸에 이르는 서블릿의 수명 주기(Lifecycle)를 관리.
-
표준 구현체
- 톰캣은 Java EE(현재 Jakarta EE) 표준 중 Servlet 및 JSP 명세에 대한 공식 레퍼런스 구현체.
웹 애플리케이션 서버 (WAS, Web Application Server)
톰캣은 웹 서버 기능과 서블릿 컨테이너 기능을 모두 수행하므로 WAS로 분류.
-
동적 콘텐츠 처리:
- 데이터베이스 조회, 비즈니스 로직 처리 등 동적인 데이터를 처리하고
HTML 형태로 클라이언트에게 응답을 제공.
-
독립 실행:
- 톰캣은 자체적인 HTTP 웹 서버 기능을 내장하고 있어,
단독으로 실행되어 클라이언트의 HTTP 요청을 받고 처리 가능.
Apache HTTP Server와의 관계
톰캣이 "아파치 톰캣"이라고 불리는 이유는 Apache Software Foundation(아파치 소프트웨어 재단)에서 개발하고 관리하기 때문.
대규모 서비스에서는 성능과 안정성을 위해 Apache HTTP Server(WS)를 톰캣(WAS)의 앞단(프론트)에 두고, 정적 파일은 웹 서버가 처리하고 동적 요청만 톰캣으로 넘기는 방식으로 연동하여 사용하기도함.

2. 톰캣의 특징 및 장점.
경량성 및 속도:
- 상용 WAS 제품들에 비해 가볍고 시작 및 구동 속도가 빨라 중소규모 프로젝트나 개발 테스트 환경에 매우 적합.
오픈 소스:
- Apache License를 따르는 오픈 소스 소프트웨어로, 누구나 자유롭게 사용가능.
높은 점유율:
- 전 세계적으로 가장 널리 사용되는 Java 기반 WAS 중 하나이므로,
관련 자료나 커뮤니티 지원이 풍부.
Spring Boot의 내장 서버:
- Spring Boot 애플리케이션을 개발할 때 기본적으로 내장되어 함께 실행되는 서버가 바로 톰캣(Embedded Tomcat).
- 덕분에 개발자가 별도의 설치 과정 없이 쉽게 애플리케이션을 실행하고 배포 가능.