Apache Tomcat

aus Wikipedia, der freien Enzyklopädie
Apache Tomcat

Logo
Screenshot
Standard-Startseite von Apache Tomcat
Basisdaten

Entwickler Apache Software Foundation
Kategorie Webserver, Java
tomcat.apache.org

Apache Tomcat ist ein Open-Source-Webserver und Webcontainer, 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.[1]

Aufbau und Funktionsweise

Tomcat besteht aus dem eigentlichen Servlet-Container Catalina, der JSP-Engine Jasper und dem Connector-Framework Coyote.[2] 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

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

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.[3]

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.[4]

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

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[5]
Ä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[6] 30. Sep. 2012[7] 5.5.36[8] 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[9] 31. Dez. 2016[10] 6.0.53[9] 2. Apr. 2017 2.5 2.1 5
Ältere Version; nicht mehr unterstützt: 7.0 14. Jan. 2011[11] 31. März 2021[12] 7.0.109[11] 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[13] 30. Juni 2018[14] 8.0.53[13] 29. Juni 2018 3.1 2.3 7
Ältere Version; noch unterstützt: 8.5 24. März 2016[15] 8.5.71[15] 13. Sep. 2021 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[16] 9.0.56[16] 2. Dez. 2021 4.0 2.3 8 HTTP/2-Unterstützung auch ohne Tomcat Native Library sofern Java 9 eingesetzt wird[17]
Aktuelle Version: 10.0 28. Dez. 2020[18] 10.0.12 1. Okt. 2021 5.0 3.0 8
Legende:
Ältere Version; nicht mehr unterstützt
Ältere Version; noch unterstützt
Aktuelle Version
Aktuelle Vorabversion
Zukünftige Version

Weblinks

Commons: Apache Tomcat – Sammlung von Bildern, Videos und Audiodateien

Einzelnachweise

  1. Tomcat 7 Documentation. Apache Software Foundation, abgerufen am 20. Februar 2013.
  2. 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).
  3. Apache Tomcat Dokumentation: The Tomcat Story
  4. 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).
  5. Apache Tomcat 3.x (englisch) Apache Tomcat. 10. November 2004. Abgerufen am 28. Juli 2018.
  6. Tomcat 5.5.4 is Stable (englisch) 10. November 2004. Abgerufen am 28. Juli 2018.
  7. End of life for Apache Tomcat 5.5.x (englisch) Apache Tomcat. 10. August 2011. Abgerufen am 24. Juli 2018.
  8. Apache Tomcat 5.5 Changelog (englisch) Apache Tomcat. Abgerufen am 28. Juli 2018.
  9. a b Apache Tomcat 6 Changelog (englisch) Apache Tomcat. Abgerufen am 28. Juli 2018.
  10. End of life for Apache Tomcat 6.0.x (englisch) Apache Tomcat. 3. Juni 2015. Abgerufen am 28. Juli 2018.
  11. a b Apache Tomcat 7 Changelog (englisch) Apache Tomcat. Abgerufen am 20. Mai 2020.
  12. End of life for Apache Tomcat 7.0.x (englisch) Apache Tomcat. 2. März 2020. Abgerufen am 28. Juli 2018.
  13. a b Apache Tomcat 8 Changelog (englisch) Apache Tomcat. Abgerufen am 28. Juli 2018.
  14. End of life for Apache Tomcat 8.0.x (englisch) Apache Tomcat. 30. Juni 2017. Abgerufen am 28. Juli 2018.
  15. a b Apache Tomcat 8.5 Changelog (englisch) Apache Tomcat. Abgerufen am 20. Mai 2020.
  16. a b Apache Tomcat 9 Changelog (englisch) Apache Tomcat. Abgerufen am 10. März 2021.
  17. Apache Tomcat 9 (englisch) Apache Tomcat. Abgerufen am 28. Juli 2018.
  18. Apache Tomcat 10 Changelog. In: tomcat.apache.org. Abgerufen am 24. August 2021 (englisch).