Apache Tomcat
Apache Tomcat stellt eine Umgebung zur Ausführung von Webservern bereit, die im Rahmen des Jakarta-Projekts der Apache Software Foundation entwickelt wird. Es handelt sich um einen in Java geschriebenen Servlet-Container, der mithilfe des JSP-Compilers Jasper auch JavaServer Pages in Servlets übersetzen und ausführen kann. Dazu kommt ein kompletter HTTP-Server.
Der HTTP-Server des Tomcat wird vor allem zur Entwicklung eingesetzt, während in Produktion zumeist ein Apache_Web-Server vor den Tomcat geschaltet wird. Dazu wird in Apache ein Plugin eingebunden, das Requests für dynamische_Inhalte an Tomcat weiterleitet. Das Plugin spricht Tomcat dann normalerweise über das Apache JServ Protocol an.
Entwicklungsstand
Vor Gründung des Tomcat-Projekts unterhielt die Apache Software Foundation bereits einen Servlet-Container namens JServ. JServ unterstützte in seiner letzten Version die Servlet-Spezifikation 2.0. 1999 kündigte Sun Microsystems auf der JavaOne an, die damalige Referenz-Implementierung der Servlet-Spezifikation 2.1 der Apache Software Foundation zur Verfügung zu stellen. Aus der Zusammenführung der existierenden JServ-Codebasis und SUNs Referenz-Implementierung entstand 1999 das Tomcat-Projekt.
Vor diesem Hintergrund erklärt sich, dass die erste Tomcat-Version direkt die Versionsnummer 3.0 erhielt. Tomcat 6.0.13 ist die aktuelle stabile Version. Sie implementiert die Spezifikationen Servlet 2.5 und JSP 2.1.
Tomcat besteht aus dem eigentlichen Servlet-Container Catalina und dem Connector Coyote. Der Connector unterstützt mittels diverser Protocol-Handler die Abarbeitung bspw. von HTTP-Anfragen oder die Anbindung des Tomcats an einen Apache Webserver mittels des Apache_JServ-Protokolls.
Verzeichnisstruktur
Die Verzeichnishierarchie einer Tomcatinstallation umfasst:
* bin ? startup, shutdown und andere Skripte und ausführbare Dateien
* common ? Allgemeine Klassen, die von Catalina und anderen Webapplikationen benutzt werden können
* conf ? XML-Dateien und dazu gehörige DTDs der Tomcat-Konfiguration
* logs ? Catalina- und Anwendungslogs
* server ? Klassen, die nur von Catalina verwendet werden
* shared ? Klassen, die von allen Webapplikationen verwendet werden
* webapps ? Verzeichnis der Webapplikationen
* work ? temporäre Aufbewahrung von Dateien und Verzeichnissen
Produkteigenschaften
Tomcat 3.x
* folgt den Spezifikationen Servlet 2.2 und der JSP 1.1
* Neuladen von Servlets ohne Neustart
Tomcat 4.x
* folgt den Spezifikationen Servlet 2.3 und der JSP 1.2
* der Servlet Container wurde neu entwickelt und nennt sich jetzt Catalina
* der JSP-Compiler wurde neu entwickelt und nennt sich jetzt Jasper
Java-Management-Extensions- (JMX), JSP- und Struts-basierte Administration
Tomcat 5.0.x
* folgt den Spezifikationen Servlet 2.4 und der JSP 2.0
* bessere Integration in die Plattformen Windows und Unix
Tomcat 5.5.x
* folgt den Spezifikationen Servlet 2.4 und der JSP 2.0
* benötigt normalerweise J2SE_5.0, kann aber mit etwas Konfigurationsaufwand auch unter Java-2-Version 1.4 laufen
* höhere Performance und Stabilität
* viele Teile wurden überarbeitet
Tomcat 6.0.x
* folgt den Spezifikationen Servlet 2.5 und der JSP 2.1
Geschichte
James Duncan Davidson, damals bei Sun Microsystems als Entwickler beschäftigt, begann Tomcat als eine Implementierung der Servletspezifikationen zu entwickeln. Er half dabei, aus Tomcat ein Open-Source-Projekt zu machen und es an die Apache Software Foundation zu übergeben.
Weblinks
• Tomcat-Homepage
• Tomcat-Tutorial

