
개념 사전 · 프로그램
Apache Tomcat
Tomcat · 톰캣
은 Java 웹 애플리케이션의 ·JSP 등을 실행하는 웹 컨테이너이다. HTTP 요청을 Java 코드로 연결하고 응답을 돌려주며, 와는 다른 프로그램이다.
밑줄 용어에 마우스를 올리거나, 키보드로 선택하거나, 터치하면 설명을 볼 수 있습니다.
로고: Apache Software Foundation 공식 자료. 제품 식별을 위해 표시하며 각 상표의 권리는 권리자에게 있습니다.
01무엇이고, 어떤 일을 하나
- HTTP 연결을 받아 Java 웹 애플리케이션의 요청 처리 코드에 전달한다.
- 파일이나 웹 앱 디렉터리를 단위로 배포하고 애플리케이션 수명주기를 관리한다.
- 같은 Java 웹 프런트엔드가 실행될 환경을 제공한다.
02어떤 순서로 동작하나
- 애플리케이션 배포
서버 설정과 Host의 appBase 등 배포 경로에 따라 또는 디렉터리를 찾는다. 자동 배포·압축 해제 여부는 Host 설정에 영향을 받는다.
- 웹 컨텍스트 준비
앱의 클래스·라이브러리·배포 설정을 읽어 해당 와 요청 매핑을 준비한다. 이름과 루트 컨텍스트 규칙에 따라 URL 경로가 달라질 수 있다.
- 요청 매핑과 실행
가 받은 요청을 가상 호스트·· 매핑으로 전달한다. 애플리케이션 코드는 세션·입력·백엔드 호출을 처리하여 응답을 만든다.
- 응답 반환
이 상태 코드·헤더·본문을 클라이언트 또는 앞단 프록시에 반환한다. 재배포할 때는 기존 앱의 종료와 새 앱 초기화로 세션·연결 상태가 영향을 받을 수 있다.
03먼저 알아둘 용어와 구성요소
- 컨테이너가 수명주기와 요청 호출을 관리하는 Java 서버 구성요소이다.
- 웹 앱의 클래스·라이브러리·정적 파일 등을 묶은 배포 아카이브이다. 일반 JAR를 무조건 웹 앱으로 배포하는 것은 아니다.
- 하나의 웹 애플리케이션을 나타내는 구성 단위이다.
- HTTP 같은 외부 요청 연결을 받아 컨테이너로 전달하는 구성요소이다.
- 인스턴스의 설정·로그·배포 구성 등을 찾는 기준 경로이다. 제품 설치 경로인 CATALINA_HOME과 구분할 수 있다.
- javax와 jakarta 패키지 이름의 차이처럼 앱이 요구하는 API와 주 버전의 호환성을 좌우하는 조건이다.
04예제로 따라가기
- demo.를 기본적인 배포 규칙으로 올리면 /demo 경로의 앱이 될 수 있다. ROOT.와 명시적 설정은 별도의 규칙을 적용하므로 경로를 확인한다.
- 구성에서는 의 웹 앱과 원격 프로토콜을 처리하는 guacd가 각각 다른 역할을 맡는다.
- 가 /app 요청을 으로 넘겼는데 404가 나오면 앞단 URI 재작성 결과와 경로를 연결하여 읽는다.
05혼동하기 쉬운 점과 확인 기준
- 라는 이름이 같다고 의 설정 파일에 를 배치하면 실행된다고 생각하지 않는다.
- 주 버전과 Java· API 이 맞지 않으면 파일 배치가 성공해도 앱 초기화가 실패할 수 있다.
06상세 노트 · 실습 자료
헤더 구조, 설정 예시, 수치 계산과 수업 캡처는 아래 노트에서 이어집니다.
공식 문서 · 표준
기초 개념과 동작 설명을 대조한 자료입니다. 제품 버전과 실제 설정에 따른 차이는 본문 및 원문에서 확인하세요.