Apache Tomcat

Apache Tomcat
Apache Tomcat
Apache Tomcat logo.svg
Apache-tomcat-frontpage-epiphany-browser.jpg
Apache Tomcat 기본 페이지
원저작자제임스 던컨 데이비슨
개발자Apache 소프트웨어 재단
초기 릴리즈1999년; 23년 전(1999년)
안정된 릴리스
2022년 5월 16일 / 10.0.21[1]
프리뷰 릴리즈
10.1.0-M15[2] / 2022년 5월 16일
저장소Tomcat 저장소
기입처자바
유형서블릿 컨테이너
HTTP 웹 서버
면허증.Apache-2.0
웹 사이트tomcat.apache.org Edit this on Wikidata

Apache Tomcat(줄여서 "Tomcat")은 자카르타 Servlet, 자카르타 Expression Language 및 WebSocket [3]기술의 무료 오픈 소스 구현입니다.Tomcat은 Java 코드를 실행할 수 있는 "순수한 Java" HTTP서버 환경을 제공합니다.

Tomcat은 Apache License 2.0 라이센스로 출시된 Apache Software Foundation의 후원으로 개방형 개발자 커뮤니티에 의해 개발 및 유지 관리됩니다.

구성 요소들

Tomcat 4.x는 Catalina(서블릿컨테이너), Coyote(HTTP 커넥터) 및 Jasper(JSP 엔진)와 함께 출시되었습니다.

카탈리나

Catalina는 Tomcat의 서블릿 컨테이너입니다.Catalina는 servlet 및 JavaServer Pages(JSP)에 대한 Sun Microsystems의 사양을 구현합니다.Tomcat에서 Realm 요소는 이러한 사용자에게 할당된 사용자 이름, 비밀번호 및 역할(Unix 그룹과 유사)의 "데이터베이스"를 나타냅니다.렐름의 다른 실장에 의해, Catalina 는, 그러한 인증 정보가 이미 작성되어 유지되고 있는 환경에 통합되고 나서, 그 정보를 사용해 Servlet [4]사양에 기재되어 있는 대로 컨테이너 관리 시큐러티를 실장할 수 있습니다.

코요테

코요테는 웹 서버로서 HTTP 1.1 및 2 프로토콜을 지원하는 Tomcat용 Connector 구성 요소입니다.이를 통해 Catalina(공칭 Java Servlet 또는 JSP 컨테이너)는 로컬 파일을 HTTP 문서로 제공하는 [5]플레인 웹 서버로도 작동할 수 있습니다.코요테는 특정 TCP 포트 상의 서버에 대한 착신 연결을 수신하고 요청을 Tomcat Engine으로 전송하여 요청을 처리하고 요청 클라이언트에 응답을 반환합니다.또 다른 코요테 커넥터인 코요테 JK는 비슷하게 수신하지만 대신 JK [6]프로토콜을 사용하여 Apache와 같은 다른 웹 서버에 요청을 전송합니다.이것은 보통 [citation needed]더 나은 성능을 제공합니다.

재스퍼

Jasper는 Tomcat의 JSP 엔진입니다.Jasper는 JSP 파일을 해석하여 서블릿(Catalina가 처리할 수 있음)으로 Java 코드로 컴파일합니다.실행 시 Jasper는 JSP 파일의 변경을 검출하여 재컴파일합니다.

버전 5에서 Tomcat은 Sun Microsystems의 JSP 2.0 사양을 구현한 Jasper 2를 사용합니다.Jasper에서 Jasper 2로 중요한 기능이 추가되었습니다.

  • JSP 태그 라이브러리 풀링: JSP 파일의 각 태그 마크업은 태그 핸들러 클래스에 의해 처리됩니다.태그 핸들러 클래스 오브젝트는 풀링하여 JSP 서블릿 전체에서 재사용할 수 있습니다.
  • 백그라운드 JSP 컴파일– 변경된 JSP Java 코드를 다시 컴파일하는 동안 이전 버전을 서버 요청에 사용할 수 있습니다.새로운 JSP 서블릿의 재컴파일이 완료되면 오래된 JSP 서블릿이 삭제됩니다.
  • 페이지 변경이 포함된 경우 JSP 재컴파일– 페이지를 런타임에 삽입하여 JSP에 포함할 수 있습니다.JSP는 JSP 파일 변경뿐만 아니라 포함된 페이지 변경으로도 재컴파일됩니다.
  • JDT Java 컴파일러– Jasper 2는 Ant와 Java 컴파일러 대신 Eclipse JDT(Java Development Tools) Java 컴파일러를 사용할 수 있습니다.javac.

Tomcat 7 릴리스에서는 다음 3가지 새로운 컴포넌트가 추가되었습니다.

클러스터

이 구성 요소는 대규모 응용 프로그램을 관리하기 위해 추가되었습니다.다양한 기술을 통해 달성할 수 있는 로드밸런싱에 사용됩니다.클러스터링을 지원하려면 현재 JDK 버전 1.5 이상이 필요합니다.

하이 어베이러빌리티

하이 어베이러빌리티 기능이 추가되어 라이브 환경에 영향을 주지 않고 시스템 업그레이드(신규 릴리스, 변경 요구 등)의 스케줄링을 용이하게 합니다.이것은 메인 서버가 메인 포트로 업그레이드되는 동안 다른 포트의 임시 서버에 라이브트래픽 요구를 디스패치함으로써 이루어집니다.트래픽량이 많은 웹 [7]응용 프로그램에서 사용자 요청을 처리할 때 매우 유용합니다.

웹 어플리케이션

사용자 기반 및 시스템 기반 웹 애플리케이션 확장 기능을 추가하여 다양한 환경에 대한 도입 지원을 추가했습니다.또, 네트워크상의 세션과 애플리케이션도 관리하려고 합니다.

Tomcat이 추가 구성 요소를 빌드하고 있습니다.Apache Tomcat에는 여러 추가 구성 요소가 사용될 수 있습니다.이러한 컴포넌트는 사용자가 필요에 따라 구축하거나 미러 [8]중 하나에서 다운로드할 수 있습니다.

특징들

Tomcat 8.x는 Servlet 3.1 [9]및 JSP 2.3 사양을 구현합니다.Apache Tomcat 8.5.x는 8.0.x를 대체하기 위한 것이며 Tomcat 9.0.x에서 가져온 새로운 기능을 포함합니다.최소 Java 버전과 구현된 사양 버전은 변경되지 않습니다.[10]

Tomcat 9.x는 Servlet 4.0 [11]및 JSP 2.3 사양을 구현합니다.

Tomcat 10.x는 Servlet 5.0 [11]및 JSP 3.0 사양을 구현합니다.

역사

Tomcat은 Sun Microsystems의 소프트웨어 설계자인 James Duncan Davidson에 의해 서블릿 참조 구현으로 시작되었습니다.그는 나중에 프로젝트를 오픈 소스로 만드는 것을 도왔고 Sun Microsystems가 Apache Software [12]Foundation에 기부하는 데 중요한 역할을 했습니다.Apache Ant 소프트웨어 빌드 자동화 도구는 Tomcat을 오픈 소스 프로젝트로 만드는 것의 부작용으로 개발되었습니다.

Davidson은 처음에 이 프로젝트가 오픈 소스화되기를 바랐고, 많은 오픈 소스 프로젝트에는 O'Reilly 책들이 표지에 동물을 주인공으로 하고 있었기 때문에, 그는 이 프로젝트의 이름을 동물의 이름을 따서 짓기를 원했다.그는 그 동물이 스스로 살아갈 수 있는 무엇인가를 나타낸다고 생각했기 때문에 톰캣을 생각해냈다.비록 이 Tomcat이 이미 [13]다른 O'Reilly 타이틀에 사용되고 있었지만,[14] O'Reilly가 2003년 눈 표범과 함께 Tomcat 책을 출판했을 때 동물 표지를 보고자 하는 그의 소원은 결국 이루어졌다.

릴리스

시리즈 안정 선언 묘사 최신 릴리즈 최신 출시일 종말[15]
이전 버전, 유지 보수 불필요: 2.0 1998 Tomcat은 1998년[16] 11월 Sun Microsystems의 소프트웨어 설계자인 James Duncan Davidson에 의해 서블릿 참조 구현으로 시작되었습니다.
이전 버전, 유지 보수 불필요: 3.0 1999 초기 릴리즈기증된 Sun Java Web 서버 코드와 ASF 및 구현 Servlet 2.2 및 JSP 1.1 사양의 병합. 3.3.2 2004-03-09
이전 버전, 유지 보수 불필요: 4.1 2002-09-06[17] Servlet 2.3 및 JSP 1.2 사양을[18] 지원하는 최초의 Apache Tomcat 릴리스. 4.1.40 2009-06-25
이전 버전, 유지 보수 불필요: 5.0 2003-12-03 Servlet 2.4, JSP 2.0 및 EL 1.1 사양[18] 지원하는 최초의 Apache Tomcat 릴리스. 5.0.30 2004-08-30
이전[19] 버전, 유지 보수 불필요: 5.5 2004-11-10[20] J2SE 5.0용으로 설계되어 있습니다.Eclipse JDT를 포함하면 전체 Java Development Kit를 설치하지 않고도 Tomcat을 실행할 수 있습니다. 5.5.36 2012-10-10 2012-09-30[21]
이전 버전, 더 이상 유지 보수되지 않음 2007-02-28[22] Servlet 2.5, JSP 2.1 [18]및 EL 2.1 사양을 지원하는 최초의 Apache Tomcat 릴리스. 6.0.53 2017-04-07 2016-12-31[23]
이전 버전, 유지 보수 불필요: 7.0 2011년[24] 1월 14일 Servlet 3.0, JSP 2.2, EL 2.2 및 WebSocket[18] 사양을 지원하는 최초의 Apache Tomcat 릴리스. 7.0.109 2021-04-26[25] 2021-03-31[26]
이전 버전, 유지 보수 불필요: 8.0 2014-06-25[27] Servlet 3.1, JSP 2.3 및 EL 3.0 사양을[18] 지원하는 최초의 Apache Tomcat 릴리스. 8.0.53 2018-07-05 2018-06-30[28]
이전 버전이지만 유지 보수: 8.5 2016-06-13 HTTP/2, OpenSSL for JSE, TLS 가상 호스팅 및 JASPIC 1.1에 대한 지원을 추가합니다. Java EE 8에 대한 지연에 이어 Tomcat 9에서 작성되었습니다. 8.5.81 2022-06-11
이전 버전, 아직 유지 보수: 9.0 2018-01-18 Servlet 4.0 사양을[18] 지원하는 최초의 Apache Tomcat 릴리스. 9.0.64 2022-06-09
현재 안정적인 버전: 10.0 2021-02-02 Servlet 5.0, JSP 3.0, EL 4.0, WebSocket 2.0 및 Authentication 2.0 사양을[18] 지원하는 최초의 Apache Tomcat 릴리스. 10.0.22 2022-06-11
향후 릴리즈의 최신 프리뷰 버전: 10.1 - 자카르타 Servlet 6.0, JSP 3.1, EL 5.0, WebSocket 2.1 및 JASPIC 3.0 사양을[18] 지원하는 최초의 Apache Tomcat 릴리스. 10.1.0-M16 2022-06-09
범례:
구버전
이전 버전, 아직 유지 관리됨
최신 버전
최신 프리뷰 버전
향후 출시


아파치 톰EE

Apache TomEE(Tommy로 발음)는 Apache OpenEJB, Apache OpenWebBeans, Apache OpenJPA,[29] Apache MyFaces 등을 포함한 여러 Java 엔터프라이즈 프로젝트를 결합한 Apache Tomcat(Tomcat + Java EE = TomE)의 Java Enterprise Edition입니다.2011년 10월, 이 프로젝트는 Oracle Corporation으로부터 Java EE 6 Web [30][31]Profile의 호환성을 인정받았습니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ "Apache Tomcat 10.0.21 available". 16 May 2022. Retrieved 20 May 2022.
  2. ^ "Apache Tomcat 10.1.0-M15 (alpha) available". 16 May 2022. Retrieved 20 May 2022.
  3. ^ "How to install Apache Tomcat on Ubuntu Server 16.04". Retrieved 2019-10-04.
  4. ^ "Apache Tomcat Configuration Reference - The Realm Component". Tomcat.apache.org. Retrieved 2013-11-01.
  5. ^ Coyote HTTP/1.1 커넥터, Apache
  6. ^ "Server Configuration Reference - The Coyote JK Connector". tomcat.apache.org. Retrieved 24 August 2018.
  7. ^ King, Graham (December 20, 2004). "High availability Tomcat". JavaWorld. Retrieved 2020-07-21.
  8. ^ Remy Maucherat (2013-10-18). "Apache Tomcat 7 (7.0.47) - Additional Components". Tomcat.apache.org. Retrieved 2013-11-01.
  9. ^ "Apache Tomcat - Apache Tomcat 8 Software Downloads". tomcat.apache.org. Retrieved 24 August 2018.
  10. ^ McClanahan, Craig R. "Apache Tomcat 8 (8.5.33) - Documentation Index". tomcat.apache.org. Retrieved 24 August 2018.
  11. ^ a b "Apache Tomcat Versions". Retrieved 2011-11-12.
  12. ^ Davidson, James Duncan (November 14, 2014). "What was the history of Tomcat inside Sun before it was open-sourced?". Quora. Retrieved 2018-07-25.
  13. ^ Sinan Si Alhir (1998), UML in a Nutshell, O'Reilly Books, pp. 296, ISBN 978-1-56592-448-2
  14. ^ Brittain, Jason; Darwin, Ian F., Tomcat: The Definitive Guide (1st ed.), O'Reilly Media, p. 320, ISBN 978-0596003180, retrieved 2018-03-01
  15. ^ "Tomcat Versions - Apache Tomcat". cwiki.apache.org. The Apache Software Foundation. Retrieved 2020-07-20.
  16. ^ "The Origin Story of Tomcat". TechNotif. Archived from the original on 30 June 2018. Retrieved 23 July 2017.
  17. ^ "[ANNOUNCEMENT] Tomcat 4.1.10 Stable". Retrieved 21 September 2015.
  18. ^ a b c d e f g h Saegesser, Marc A. "Apache Tomcat - Which Version Do I Want?". tomcat.apache.org. Retrieved 24 August 2018.
  19. ^ Apache Tomcat Project. "Apache Tomcat". Retrieved 21 September 2015.
  20. ^ "The Jakarta Site - News and Status". Retrieved 21 September 2015.
  21. ^ Apache Tomcat Project. "Apache Tomcat". Retrieved 2022-03-28.
  22. ^ "[ANN] Apache Tomcat 6.0.10 released". Retrieved 21 September 2015.
  23. ^ "Apache Tomcat - End of life for Apache Tomcat 6.0.x". tomcat.apache.org. Retrieved 2020-07-20.
  24. ^ Apache Tomcat Project. "Apache Tomcat". Retrieved 21 September 2015.
  25. ^ "Apache Tomcat 7 (7.0.109) - Changelog". tomcat.apache.org. Retrieved 2021-06-17.
  26. ^ "Apache Tomcat - End of life for Apache Tomcat 7.0.x". tomcat.apache.org. Retrieved 2020-07-20.
  27. ^ Apache Tomcat Project. "Apache Tomcat". Retrieved 5 October 2015.
  28. ^ "Apache Tomcat - End of life for Apache Tomcat 8.0.x". tomcat.apache.org. Retrieved 2020-07-20.
  29. ^ "Apache TomEE". Apache OpenEJB.
  30. ^ "The Apache Software Foundation Announces Apache TomEE Certified as Java EE 6 Web Profile Compatible". MarketWatch. 4 Oct 2011.
  31. ^ "Apache TomEE Web stack gains approval". InfoWorld. 7 Oct 2011.

참고 문헌

외부 링크