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.

Aufbau und Funktionsweise Tomcat besteht aus dem eigentlichen Servlet-Container Catalina, der JSP-Engine Jasper und dem Connector-Framework Coyote. 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.Apache Tomcat Dokumentation: The Tomcat Story

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.

Tomcat findet auch in einer Reihe von Jakarta-EE-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 EOL 3.3.2 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 EOL 4.1.40 2.3 1.2 1.3 Neuentwicklung des Servlet-Containers ("Catalina"), Neuentwicklung des JSP-Compilers ("Jasper"), Einbau von JMX, JSP- und Struts-basierter Administration EOL 5.0.30 2.4 2.0 1.4 bessere Integration in die Plattformen Windows und Unix 5.5.36 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.53 2.5 2.1 5 7.0.109 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.53 3.1 2.3 7 31. März 2024 8.5.100 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.117 4.0 2.3 8 31. Oktober 2022 10.0.27 5.0 3.0 8 Unterstützung für Jakarta EE 9 10.1.54 6.0 3.1 11 Unterstützung für Jakarta EE 10 11.0.21 6.1 4.0 17 Unterstützung für Jakarta EE 11

Weblinks

Apache Tomcat Apache TomEE

Einzelnachweise

Tomcat Kategorie:Java-Programm Kategorie:Freie Server-Software Kategorie:Webserver Kategorie:Windows-Software Kategorie:MacOS-Software Kategorie:Linux-Software