JSP/Servlet 표준 지원
아파치 톰캣(Apache Tomcat)은 Java Servlet과 JSP를 실행하기 위한 Servlet 컨테이너에 대한 공식 레퍼런스 구현체.
아파치 톰캣(Apache Tomcat)은 Java 기반의 웹 애플리케이션을 위한 오픈 소스 서블릿 컨테이너이자 웹 서버입니다. 아파치 소프트웨어 재단에서 개발 및 관리하며, Java 서블릿과 JSP(JavaServer Pages)를 지원하여 동적인 웹 콘텐츠를 생성하고 처리할 수 있습니다. 톰캣은 경량화된 설계로 인해 서버 자원을 효율적으로 사용하며, 다양한 운영 체제에서 구동 가능합니다. 이로 인해 중소규모의 웹 애플리케이션부터 대규모의 엔터프라이즈급 애플리케이션까지 널리 사용되고 있습니다.
아파치 톰캣은 개발자들에게 강력한 보안 기능, 유연한 설정, 그리고 고성능의 웹 애플리케이션 서버 환경을 제공합니다. SSL/TLS 암호화, 사용자 인증 및 권한 관리, 클러스터링을 통한 고가용성 및 부하 분산 등의 기능을 포함하고 있어 안전하고 안정적인 애플리케이션 운영이 가능합니다. 또한, JDBC 연결 풀링, JNDI 지원 등 다양한 엔터프라이즈급 기능을 통해 데이터베이스와의 연동이 용이합니다.
커뮤니티 기반의 오픈 소스 프로젝트로서, 아파치 톰캣은 전 세계 개발자들의 기여와 활발한 커뮤니티 활동을 통해 지속적으로 개선되고 있습니다. 무료로 제공되면서도 상용 제품에 버금가는 기능과 성능을 자랑하는 톰캣은, Java 웹 애플리케이션 개발자들에게 신뢰받는 선택지로 자리 잡고 있습니다.
Apache Tomcat®(아파치 톰캣)은 Java Servelet과 Java Server Pages 기술에 대한 오픈소스 소프트웨어 구현입니다. Apache Tomcat(아파치 톰캣)의 버전에 따라 서로 다른 Servelet 및 JSP 표준에 대한 다른 버전을 사용합니다.
Apache Tomcat의 버전별 주요 특징은 다음과 같습니다.
버전 | 출시일 | Servlet | JSP | WebSocket | Java 버전 | 주요 특징 |
Tomcat 10 | 2020년 11월 | 5.0 | 3.0 | 2.0 | 8 이상 | Jakarta EE 9 기반, 패키지 이름 변경(javax → jakarta), 호환성 유지 |
Tomcat 9 | 2018년 12월 | 4.0 | 2.3 | 1.1 | 8 이상 | 서블릿 4.0 지원, HTTP/2 지원, TLS 가상 호스트, OpenSSL 개선 |
Tomcat 8.5 | 2016년 06월 | 3.1 | 2.3 | 1.1 | 7 이상 | Tomcat 8의 새로운 기능 도입, HTTP/2 지원, TLS 개선 |
Tomcat 8 | 2014년 06월 | 3.1 | 2.3 | 1.0 | 7 이상 | 서블릿 3.1 지원, 비동기 IO, WebSocket 1.0 지원 |
Tomcat 7 | 2010년 06월 | 3.0 | 2.2 | – | 6 이상 | 서블릿 3.0 지원, 비동기 서블릿, 개선된 메모리 및 성능 |
Tomcat 6 | 2007년 02월 | 2.5 | 2.1 | – | 5 이상 | 서블릿 2.5 지원, 클러스터링 성능 개선, 메모리 사용 최적화 |
Tomcat 5.5 | 2004년 09월 | 2.4 | 2.0 | – | 1.4 이상 | 서블릿 2.4 지원, 자동화된 배포, 고성능 클러스터링 |
Tomcat 5 | 2002년 10월 | 2.3 | 1.2 | – | 1.3 이상 | 서블릿 2.3 지원, 새로운 JSP 컴파일러, 성능 및 안정성 개선 |
Tomcat 4.1 | 2002년 06월 | 2.3 | 1.2 | – | 1.3 이상 | 서블릿 2.3 및 JSP 1.2 지원, Catalina 서블릿 컨테이너 도입 |
Tomcat 3.3 | 2001년 01월 | 2.2 | 1.1 | – | 1.2 이상 | 서블릿 2.2 및 JSP 1.1 지원, 성능 및 안정성 개선 |
OPENMARU APM의 Installer는 고객의 요구사항에 맞추어 아파치 톰캣(Apache Tomcat), 아파치 웹서버(Apache Web Server) 설치/구성된 환경에 대하여 자동으로 설치 보고서를 작성합니다.
설치 보고서에서 다루는 내용은 아파치 웹서버(Apache Web Server)와 톰캣 서버 구성에 필요한 정보들을 일목요연하게 제공합니다.
애플리케이션 플랫폼의 마이그레이션 및 현대화는 비용 절감 그 이상의 효과를 제공합니다. 즉 애자일(Agile) 컴퓨팅을 위한 환경이 구축되어 IT 조직이 비즈니스 요구에 더욱 빠르게 대응할 수 있게 됩니다.
전문가 집단을 통한 기술지원
라이선스 비용 제로
오픈소스 소프트웨어
가장 가볍고 빠른 WAS
사실상의 세계 표준 제품
새로운 IT 환경에서의 검증 완료
아파치 톰캣(Apache Tomcat)은 아파치 소프트웨어 재단(ASF: Apache Software Foundation)에서 유지하는 서블릿 컨테이너만 있는 웹 애플리케이션 서버(WAS)입니다.
1998 년 초기 버전으로 3.0이 발표 된후 Apache Software Foundation (Apach 소프트웨어 재단, ASF) 에서 적극적인 버전 업이 반복되면서 최상위 프로젝트의 하나로 계속 진화하고 있습니다. 최신 버전 8.0.X는 Servlet 3.1, JSP2.3, EL3.0 및 Web Socket 1.1 이 추가되었습니다.
톰캣의 정식 명칭은 ” Apache Tomcat” 으로 많은 사람들이 톰캣 이라고만 해도 알 수 있을 정도로 사실상 웹 컨테이너의 표준으로 100% 순수 자바 플랫폼입니다.
Tomcat (톰캣)은 1998 년에 3.0이 발표된 후 지속적인 버전 업을 거쳐 Apache Software Foundation (Apach 소프트웨어 재단, ASF)이 보유한 최상위 프로젝트의 하나로서 현재에도 계속 진화하고 있습니다.
Apache 소프트웨어에서 개발되는 자바 애플리케이션을 위한 대표적인 플랫폼으로서 독립적으로 사용이 가능하고, Web 컨테이너로서는 가장 넓게 보급되어 있으며, 표준을 준수한 100% 순수 자바 플랫폼입니다.
톰캣은 웹 서버와 연동하여 실행할 수 있는 자바 환경을 제공하여 자바 서버 페이지(JSP)와 자바 서블릿이 실행할 수 있는 환경을 제공하고 있습니다. 상용 웹 애플리케이션 서버에서도 서블릿 컨테이너로 사용하는 경우가 많습니다.
아파치 톰캣은 오픈소스 프로젝트중 개발자 대상으로 유명도를 조사하면 매우 높은 순위를 갖고 있는 소프트웨어일 것이다. 독자들도 익히 알고 있다시피 톰캣은 아파치 재단에서 만들어진 자바 서블릿, 그리고 자바 서버 페이지(JSP) 를 구현한 제품으로 웹서버 기능도 내장하고 있다.
최초의 목표는 썬 마이크로 시스템즈의 서블릿과 JSP 의 표준을 구현하고 테스트하기 위한 용도였지만 아파치 재단에 소스를 기증하여 많은 개발자들의 참여에 의해 현재처럼 발전하였습니다.
주요 기능 | 내용 |
서블릿 컨테이너 | Java Servlet 및 JSP(JavaServer Pages) 기술을 구현하여 웹 애플리케이션의 요청을 처리함. |
오픈 소스 | 아파치 라이선스 2.0에 따라 배포되며, 커뮤니티에서 활발하게 유지 보수됨. |
가벼운 웹 서버 | 경량화된 웹 애플리케이션 서버로, 리소스 사용이 적고 빠른 성능을 제공함. |
확장성 | 다양한 서블릿과 JSP 애플리케이션을 쉽게 배포하고 확장 가능함. |
보안 기능 | SSL/TLS 암호화, 접근 제어, 인증 및 권한 부여를 위한 다양한 보안 설정을 지원함. |
클러스터링 | 여러 톰캣 인스턴스를 클러스터로 구성하여 부하 분산과 고가용성을 제공함. |
JNDI 지원 | Java Naming and Directory Interface(JNDI)를 통해 데이터베이스 연결, EJB 등을 쉽게 관리할 수 있음. |
웹 소켓 지원 | WebSocket API를 통해 실시간 양방향 통신을 지원하여 웹 애플리케이션의 대화형 기능을 강화함. |
유연한 설정 | 서버 설정, 애플리케이션 설정 등 다양한 구성을 XML 파일로 쉽게 관리할 수 있음. |
광범위한 호환성 | 다양한 운영 체제(Linux, Windows, macOS 등)에서 실행 가능하며, 다양한 자바 버전과 호환됨. |
로깅 및 모니터링 | 서버의 상태와 성능을 실시간으로 모니터링하고, 로깅을 통해 문제 발생 시 원인 분석이 가능함. |
커넥터 지원 | HTTP, HTTPS, AJP 등의 프로토콜을 지원하는 다양한 커넥터를 제공하여 다양한 환경에서의 통신을 지원함. |
데이터 소스 관리 | JDBC 연결 풀링을 지원하여 데이터베이스 연결의 효율성을 높이고, 데이터베이스 자원의 활용을 최적화함. |
애플리케이션 핫 디플로이 | 서버 재시작 없이 애플리케이션을 업데이트할 수 있는 핫 디플로이 기능을 제공함. |