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
| |
---|---|
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 |
Programmiersprache | Java[5][2] |
Kategorie | Webserver, Java |
Lizenz | Apache-Lizenz, Version 2.0[4] |
tomcat.apache.org |
Aufbau und Funktionsweise
BearbeitenTomcat 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
BearbeitenDie Verzeichnishierarchie einer Tomcat 6.x/7.x/8.x/9.x Installation umfasst:
bin
startup
,shutdown
und andere Skripte und ausführbare Dateienconf
- (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
BearbeitenDie 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
BearbeitenVersion | Veröffentlicht am | Unterstützung bis | Letzte Version | Letzte Aktualisierung | Servlet-Version | JSP-Version | Java-Version | Beschreibung / Anmerkung |
---|---|---|---|---|---|---|---|---|
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] |
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 |
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 |
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) |
6.0 | 28. Feb. 2007[14] | 31. Dez. 2016[15] | 6.0.53[14] | 2. Apr. 2017 | 2.5 | 2.1 | 5 | |
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 |
8.0 | 24. Juni 2014[18] | 30. Juni 2018[19] | 8.0.53[18] | 29. Juni 2018 | 3.1 | 2.3 | 7 | |
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 |
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] | |
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 |
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 |
Weblinks
BearbeitenEinzelnachweise
Bearbeiten- ↑ Heritage. (englisch, abgerufen am 24. Juli 2018).
- ↑ a b projects.apache.org. (abgerufen am 8. April 2020).
- ↑ Tomcat 9.0.97 (remm). 9. November 2024 (abgerufen am 13. November 2024).
- ↑ a b c d e In: Free Software Directory.
- ↑ The tomcat Open Source Project on Open Hub: Languages Page. In: Open Hub. (abgerufen am 21. September 2018).
- ↑ Tomcat 7 Documentation. Apache Software Foundation, abgerufen am 20. Februar 2013.
- ↑ 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).
- ↑ Apache Tomcat Dokumentation: The Tomcat Story
- ↑ 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).
- ↑ Apache Tomcat 3.x. Apache Tomcat, 10. November 2004, abgerufen am 28. Juli 2018 (englisch).
- ↑ Tomcat 5.5.4 is Stable. 10. November 2004, abgerufen am 28. Juli 2018 (englisch).
- ↑ End of life for Apache Tomcat 5.5.x. Apache Tomcat, 10. August 2011, abgerufen am 24. Juli 2018 (englisch).
- ↑ Apache Tomcat 5.5 Changelog. Apache Tomcat, abgerufen am 28. Juli 2018 (englisch).
- ↑ a b Apache Tomcat 6 Changelog. Apache Tomcat, abgerufen am 28. Juli 2018 (englisch).
- ↑ End of life for Apache Tomcat 6.0.x. Apache Tomcat, 3. Juni 2015, abgerufen am 28. Juli 2018 (englisch).
- ↑ a b Apache Tomcat 7 Changelog. Apache Tomcat, abgerufen am 20. Mai 2020 (englisch).
- ↑ End of life for Apache Tomcat 7.0.x. Apache Tomcat, 2. März 2020, abgerufen am 28. Juli 2018 (englisch).
- ↑ a b Apache Tomcat 8 Changelog. Apache Tomcat, abgerufen am 28. Juli 2018 (englisch).
- ↑ End of life for Apache Tomcat 8.0.x. Apache Tomcat, 30. Juni 2017, abgerufen am 28. Juli 2018 (englisch).
- ↑ a b Apache Tomcat 8.5 Changelog. Apache Tomcat, abgerufen am 13. Mai 2024 (englisch).
- ↑ Apache Tomcat® - End of life for Apache Tomcat 8.5.x. Abgerufen am 3. August 2023.
- ↑ a b Apache Tomcat 9 Changelog. Apache Tomcat, abgerufen am 13. Mai 2024 (englisch).
- ↑ Apache Tomcat 9. Apache Tomcat, abgerufen am 28. Juli 2018 (englisch).
- ↑ Apache Tomcat 10 Changelog. In: tomcat.apache.org. Abgerufen am 24. August 2021 (englisch).
- ↑ Apache Tomcat® - End of life for Apache Tomcat 10.0.x. Abgerufen am 3. August 2023.
- ↑ a b Apache Tomcat 10.1 Changelog. Apache Tomcat, abgerufen am 13. Mai 2024 (englisch).