Apache Tomcat

Webserver (Open-Source)

Apache Tomcat ist ein Open-Source-Anwendungsserver und Servlet-Container, der die Spezifikation für Jakarta Servlets (früher: Java Servlets) und Jakarta Server Pages (JSP, früher: JavaServer Pages) implementiert und es damit erlaubt, in Java geschriebene Web-Anwendungen auf Servlet- beziehungsweise JSP-Basis auszuführen.[6]

Apache Tomcat

Logo
Screenshot
Standard-Startseite von Apache Tomcat
Basisdaten

Entwickler Apache Software Foundation
Erscheinungsjahr 1999[1], 27. Januar 2006[2]
Aktuelle Version 9.0.97[3]
(9. November 2024)
Betriebssystem GNU/Linux[4], Microsoft Windows[4], BSD-Betriebssystem[4], macOS[4], Unix-ähnliches System
Programmier­sprache Java[5][2]
Kategorie Webserver, Java
Lizenz Apache-Lizenz, Version 2.0[4]
tomcat.apache.org

Aufbau und Funktionsweise

Bearbeiten

Tomcat besteht aus dem eigentlichen Servlet-Container Catalina, der JSP-Engine Jasper und dem Connector-Framework Coyote.[7] Mittels verschiedener Connectoren unterstützt Tomcat diverse Kommunikationsprotokolle und kann mit dem HTTP-Connector entweder als eigenständiger Webserver betrieben oder mittels des AJP-Connectors in andere Webserver wie Apache Web-Server oder Microsoft IIS integriert werden. Mit der gegenwärtig existierenden AJP-Implementierung (Version 1.3) ist es möglich, den Servlet-Container auf einem gesonderten Host-Rechner zu betreiben, um den Webserver zu entlasten; insbesondere erlaubt es die Lastverteilungsfunktionalität, bei entsprechendem Leistungsbedarf dem Webserver einen Cluster aus mehreren Servlet-Containern zur Seite zu stellen.

Verzeichnisstruktur

Bearbeiten

Die Verzeichnishierarchie einer Tomcat 6.x/7.x/8.x/9.x Installation umfasst:

bin
startup, shutdown und andere Skripte und ausführbare Dateien
conf
(XML-)Konfigurationsdateien
lib
Allgemeine Bibliotheken, die von Catalina und anderen Webapplikationen benutzt werden können
logs
Catalina- und Anwendungslogs
temp
temporäre Dateien
webapps
Verzeichnis der Webapplikationen
work
Verzeichnis zum Aufbewahren kompilierter JSP-/jspx-Dateien, persistierter Sessions etc.

Geschichte

Bearbeiten

Die Entwicklung von Tomcat startete ursprünglich als Projekt von James Duncan Davidson bei Sun Microsystems als Referenz-Implementierung für die Java-Servlet- und JavaServer-Pages-Spezifikationen. Sun übertrug 1999 die Codebasis von Tomcat auf die Apache Software Foundation, die das Projekt unter dem Dach ihres Top-Level-Projekts Jakarta als Open-Source-Projekt weiterführte. Im Jahr 2005 wurde Tomcat selbst zu einem eigenen Apache-Top-Level-Projekt und hat seitdem seine eigene Organisations- und Management-Struktur.[8]

Vor Übernahme des Tomcat-Projekts unterhielt die Apache Software Foundation bereits einen Servlet-Container namens JServ. Die Entwicklung von JServ wurde zugunsten von Tomcat im Jahr 2000 eingestellt. Lediglich der Connector, der Tomcat an andere Webserver über das AJP-Protokoll anbinden kann, wurde aus der Codebasis von JServ heraus in Tomcat übernommen. Im Jahr 2001 erfolgte mit der Tomcat-Version 4 ein tiefgreifendes Redesign der Tomcat-Struktur und weite Teile der Codebasis wurden neu erstellt.[9]

Tomcat findet auch in einer Reihe von JavaEE-Anwendungsservern Anwendung, so ist er beispielsweise Bestandteil von Apache Geronimo und Apache TomEE.

Wichtige Apache-Tomcat-Versionen

Bearbeiten
Version Veröffentlicht am Unterstützung bis Letzte Version Letzte Aktualisierung Servlet-Version JSP-Version Java-Version Beschreibung / Anmerkung
Ältere Version; nicht mehr unterstützt: 3.x 1999 EOL 3.3.2 9. März 2004 2.2 1.1 1.1 Initiale Version. Merger des gespendeten Sun-Java-Web-Server-Codes und ASF. Neuladen von Servlets ohne Neustart. Refactoring hin zu mehr Modularität zwecks Performance- und Stabilitätsverbesserungen[10]
Ältere Version; nicht mehr unterstützt: 4.x 18. Sep. 2001 EOL 4.1.40 25. Juni 2009 2.3 1.2 1.3 Neuentwicklung des Servlet-Containers ("Catalina"), Neuentwicklung des JSP-Compilers ("Jasper"), Einbau von JMX, JSP- und Struts-basierter Administration
Ältere Version; nicht mehr unterstützt: 5.0 9. Okt. 2002 EOL 5.0.30 30. Aug. 2004 2.4 2.0 1.4 bessere Integration in die Plattformen Windows und Unix
Ältere Version; nicht mehr unterstützt: 5.5 10. Nov. 2004[11] 30. Sep. 2012[12] 5.5.36[13] 10. Okt. 2012 2.4 2.0 1.4 Überarbeitung vieler Teile, Erhöhung der Leistung und Stabilität; basiert auf JSE 5.0 (mit zusätzlichen Bibliotheken auch unter JSE 1.4)
Ältere Version; nicht mehr unterstützt: 6.0 28. Feb. 2007[14] 31. Dez. 2016[15] 6.0.53[14] 2. Apr. 2017 2.5 2.1 5
Ältere Version; nicht mehr unterstützt: 7.0 14. Jan. 2011[16] 31. März 2021[17] 7.0.109[16] 26. Apr. 2021 3.0 2.2 6 Erhöhung der Leistung und Stabilität, viele Änderungen im Bereich Servlet (Annotationen, asynchrone Bearbeitung von Requests, dynamische Konfiguration), basiert auf JSE 6
Ältere Version; nicht mehr unterstützt: 8.0 24. Juni 2014[18] 30. Juni 2018[19] 8.0.53[18] 29. Juni 2018 3.1 2.3 7
Ältere Version; nicht mehr unterstützt: 8.5 24. März 2016[20] 31. März 2024[21] 8.5.100[20] 19. März 2024 3.1 2.3 7 HTTP/2 mit Unterstützung der Tomcat Native Library; OpenSSL für JSSE; Unterstützung von Server Name Indication
Ältere Version; noch unterstützt: 9.0 30. Sep. 2017[22] 9.0.89[22] 3. Mai 2024 4.0 2.3 8 HTTP/2-Unterstützung auch ohne Tomcat Native Library sofern Java 9 eingesetzt wird[23]
Ältere Version; nicht mehr unterstützt: 10.0 28. Dez. 2020[24] 31. Oktober 2022[25] 10.0.27 3. Okt. 2022 5.0 3.0 8 Unterstützung für Jakarta EE 9
Aktuelle Version: 10.1 26. Sep. 2022[26] 10.1.24[26] 9. Mai 2024 6.0 3.1 11 Unterstützung für Jakarta EE 10
Legende:
Ältere Version; nicht mehr unterstützt
Ältere Version; noch unterstützt
Aktuelle Version
Aktuelle Vorabversion
Zukünftige Version
Bearbeiten
Commons: Apache Tomcat – Sammlung von Bildern, Videos und Audiodateien

Einzelnachweise

Bearbeiten
  1. Heritage. (englisch, abgerufen am 24. Juli 2018).
  2. a b projects.apache.org. (abgerufen am 8. April 2020).
  3. Tomcat 9.0.97 (remm). 9. November 2024 (abgerufen am 13. November 2024).
  4. a b c d e In: Free Software Directory.
  5. The tomcat Open Source Project on Open Hub: Languages Page. In: Open Hub. (abgerufen am 21. September 2018).
  6. Tomcat 7 Documentation. Apache Software Foundation, abgerufen am 20. Februar 2013.
  7. Lajos Moczar: Tomcat 5. Einsatz in Unternehmensanwendungen mit JSP und Servlets. 1. Auflage. Addison-Wesley, 2004, ISBN 978-3-8273-2202-9, S. 410 ff. (Google Books).
  8. Apache Tomcat Dokumentation: The Tomcat Story
  9. Vivek Chopra, Sing Li, Jeff Genender: Professional Apache Tomcat 6. 1. Auflage. Wiley, 2007, ISBN 978-0-471-75361-2, S. 3,62 (Google Books).
  10. Apache Tomcat 3.x. Apache Tomcat, 10. November 2004, abgerufen am 28. Juli 2018 (englisch).
  11. Tomcat 5.5.4 is Stable. 10. November 2004, abgerufen am 28. Juli 2018 (englisch).
  12. End of life for Apache Tomcat 5.5.x. Apache Tomcat, 10. August 2011, abgerufen am 24. Juli 2018 (englisch).
  13. Apache Tomcat 5.5 Changelog. Apache Tomcat, abgerufen am 28. Juli 2018 (englisch).
  14. a b Apache Tomcat 6 Changelog. Apache Tomcat, abgerufen am 28. Juli 2018 (englisch).
  15. End of life for Apache Tomcat 6.0.x. Apache Tomcat, 3. Juni 2015, abgerufen am 28. Juli 2018 (englisch).
  16. a b Apache Tomcat 7 Changelog. Apache Tomcat, abgerufen am 20. Mai 2020 (englisch).
  17. End of life for Apache Tomcat 7.0.x. Apache Tomcat, 2. März 2020, abgerufen am 28. Juli 2018 (englisch).
  18. a b Apache Tomcat 8 Changelog. Apache Tomcat, abgerufen am 28. Juli 2018 (englisch).
  19. End of life for Apache Tomcat 8.0.x. Apache Tomcat, 30. Juni 2017, abgerufen am 28. Juli 2018 (englisch).
  20. a b Apache Tomcat 8.5 Changelog. Apache Tomcat, abgerufen am 13. Mai 2024 (englisch).
  21. Apache Tomcat® - End of life for Apache Tomcat 8.5.x. Abgerufen am 3. August 2023.
  22. a b Apache Tomcat 9 Changelog. Apache Tomcat, abgerufen am 13. Mai 2024 (englisch).
  23. Apache Tomcat 9. Apache Tomcat, abgerufen am 28. Juli 2018 (englisch).
  24. Apache Tomcat 10 Changelog. In: tomcat.apache.org. Abgerufen am 24. August 2021 (englisch).
  25. Apache Tomcat® - End of life for Apache Tomcat 10.0.x. Abgerufen am 3. August 2023.
  26. a b Apache Tomcat 10.1 Changelog. Apache Tomcat, abgerufen am 13. Mai 2024 (englisch).