Tomcat


title: 2026-04-08 author: 강병호 (이름) date: 2026-04-08 (날짜) category: TIL/강병호/2026/04 (파일 경로 : TIL/{이름}/{연}/{월}) layout: post (자유) —

Tomcat과 Servlet의 동작 원리

1. Tomcat (WAS: Web Application Server)

Tomcat은 웹 서버웹 컨테이너가 결합된 형태의 가장 대표적인 WAS입니다. 서블릿 컨테이너라고도 불리며 다음과 같은 핵심 역할을 수행합니다.

  • 서블릿 수명 주기 관리: 서블릿의 생성, 실행, 소멸을 관리합니다.
  • 매핑 및 라우팅: 요청 URL을 적절한 서블릿 코드로 연결합니다.
  • 통신 지원: HTTP 요청을 수신하고 응답을 보낼 수 있는 소켓을 생성하여 관리합니다.
  • 필터 체인 관리: 요청과 응답 사이에서 보안이나 인코딩 등의 필터링 처리를 담당합니다.

2. 서블릿(Servlet)이란?

서블릿은 자바를 기반으로 동적인 웹 콘텐츠를 생성하기 위한 기술 표준(Spec)입니다. 클라이언트의 요청에 대해 특정 로직을 수행한 후 그 결과를 다시 응답해주는 역할을 합니다.

서블릿의 주요 동작 과정

  1. 요청 수신: 사용자가 URL을 입력하면 HTTP 요청이 서블릿 컨테이너(Tomcat)로 전달됩니다.
  2. 객체 생성: 컨테이너는 요청 정보를 담은 HttpServletRequest와 응답을 위한 HttpServletResponse 객체를 생성합니다.
  3. 서블릿 매핑: 설정 정보를 바탕으로 해당 요청 경로를 처리할 서블릿을 찾습니다.
  4. 메서드 실행: 서블릿의 service() 메서드를 호출하며, HTTP 메서드(GET, POST 등)에 따라 doGet(), doPost() 등이 실행됩니다.
  5. 응답 처리: 요청 처리가 끝나면 HttpServletResponse 객체를 통해 클라이언트에게 결과를 전송합니다.

3. 서블릿의 생명주기 (Life Cycle)

서블릿은 컨테이너에 의해 철저하게 관리되며 다음 세 단계를 거칩니다.

단계 메서드 설명
초기화 init() 서블릿이 처음 호출되었을 때, 메모리에 로드되어 있지 않으면 생성 후 1회 호출됩니다.
서비스 실행 service() 클라이언트 요청이 올 때마다 호출됩니다. 이후 GET/POST 등 방식에 따라 doXxx()를 호출합니다.
소멸 destroy() 서블릿이 더 이상 필요하지 않거나 컨테이너가 종료될 때 호출되어 자원을 정리합니다.

results matching ""

    No results matching ""