Tomcat ist ein Kernprojekt des Jakarta-Projekts der Apache Software Foundation. Es wird gemeinsam von Apache, Sun und anderen Unternehmen und Einzelpersonen entwickelt. Aufgrund der Beteiligung und Unterstützung von Sun können die neuesten Servlet- und JSP-Spezifikationen jederzeit berücksichtigt werden. Da Tomcat über fortschrittliche Technologie und stabile Leistung verfügt und kostenlos ist, ist es bei Java-Enthusiasten sehr beliebt und wird von einigen Softwareentwicklern geschätzt. Tomcat ist bei den meisten Programmierern sehr beliebt Systemressourcen beim Ausführen, verfügt über eine gute Skalierbarkeit und unterstützt häufig in Entwicklungsanwendungssystemen verwendete Funktionen wie Lastausgleich und E-Mail-Dienste. Jeder interessierte Programmierer kann es ändern oder neue Funktionen hinzufügen.
Apache Tomcat Version 6.0.20
Versionshinweise
=============================
BEKANNTE PROBLEME IN DIESER VERÖFFENTLICHUNG:
=============================
*Abhängigkeitsänderungen
* JNI-basierte Anwendungen
* Gebündelte APIs
* Neuladen von Webanwendungen und statischen Feldern in gemeinsam genutzten Bibliotheken
* Tomcat unter Linux
* Aktivieren der SSI- und CGI-Unterstützung
* URLs des Sicherheitsmanagers
* Symlinking statischer Ressourcen
* Aktivieren des Aufrufer-Servlets
* Anzeigen des Tomcat-Änderungsprotokolls
* Wenn alles andere fehlschlägt
===================
Abhängigkeitsänderungen:
===================
Tomcat 6.0 ist für die Ausführung auf JSE 5.0 und höher konzipiert.
Darüber hinaus nutzt Tomcat 6.0 zum Kompilieren den Eclipse JDT Java Compiler
Dies bedeutet, dass Sie nicht mehr über die vollständigen JSP-Seiten verfügen müssen
Java Development Kit (JDK) zum Ausführen von Tomcat, aber eine Java Runtime Environment
(JRE) ist ausreichend. Der Eclipse JDT Java Compiler ist im Lieferumfang enthalten
Binäre Tomcat-Distributionen können auch für die Verwendung konfiguriert werden
Compiler aus dem JDK zum Kompilieren von JSPs oder jedem anderen unterstützten Java-Compiler
von Apache Ant.
=======================
JNI-basierte Anwendungen:
=======================
Anwendungen, die native Bibliotheken erfordern, müssen sicherstellen, dass die Bibliotheken über solche verfügen
Normalerweise erfolgt dies mit einem Aufruf wie:
statisch {
System.loadLibrary("Pfad-zur-Bibliotheksdatei");
}
In einigen Klassen muss die Anwendung jedoch auch sicherstellen, dass die Bibliothek vorhanden ist
nicht mehr als einmal geladen, wenn der obige Code in einer Klasse platziert würde
die Webanwendung (z. B. unter /WEB-INF/classes oder /WEB-INF/lib) und die
Wenn die Anwendung neu geladen wird, wird der Aufruf von „loadLibrary()“ eine Sekunde lang versucht
Zeit.
Um dieses Problem zu vermeiden, platzieren Sie Klassen, die native Bibliotheken laden, außerhalb von
Webanwendung und stellen Sie sicher, dass der Aufruf von loadLibrary() nur einmal ausgeführt wird
während der Lebensdauer einer bestimmten JVM.
=============
Gebündelte APIs:
=============
Eine Standardinstallation von Tomcat 6.0 stellt alle folgenden APIs zur Verfügung
zur Verwendung durch Webanwendungen (indem Sie sie in „lib“ platzieren):
* annotations-api.jar (Annotations-Paket)
* catalina.jar (Tomcat Catalina-Implementierung)
* catalina-ant.jar (Tomcat Catalina Ant-Aufgaben)
* catalina-ha.jar (Hochverfügbarkeitspaket)
* catalina-tribes.jar (Gruppenkommunikation)
* el-api.jar (EL 2.1 API)
* jasper.jar (Jasper 2 Compiler und Runtime)
* jasper-el.jar (Jasper 2 EL-Implementierung)
* jasper-jdt.jar (Eclipse JDT 3.3 Java-Compiler)
* jsp-api.jar (JSP 2.1 API)
* servlet-api.jar (Servlet 2.5 API)
* tomcat-coyote.jar (Tomcat-Konnektoren und Dienstprogrammklassen)
* tomcat-dbcp.jar (Paket umbenannt in Datenbankverbindungspool basierend auf Commons DBCP)
Sie können allen Ihren Webanwendungen zusätzliche APIs zur Verfügung stellen
Ablegen entpackter Klassen in einem „classes“-Verzeichnis (nicht standardmäßig erstellt),
oder indem Sie sie in JAR-Dateien im Verzeichnis „lib“ ablegen.
Um die XML-Parser-Implementierung oder -Schnittstellen zu überschreiben, verwenden Sie „endorsed“.
Mechanismus der JVM. Die Standardkonfiguration definiert JARs, die sich in befinden
„indossiert“ als indossiert.
=============================================== ==============
Neuladen von Webanwendungen und statische Felder in gemeinsam genutzten Bibliotheken:
=============================================== ==============
Einige gemeinsam genutzte Bibliotheken (viele sind Teil des JDK) behalten Verweise auf Objekte
Wird von der Webanwendung instanziiert, um Probleme beim Laden von Klassen zu vermeiden
(ClassCastExceptions, Meldungen, die darauf hinweisen, dass der Klassenlader
gestoppt wird usw.), sollte der Status der gemeinsam genutzten Bibliotheken neu initialisiert werden.
Etwas, das helfen könnte, wäre, die Einführung von Klassen zu vermeiden
durch ein gemeinsam genutztes statisches Feld im Klassenlader der Webanwendung referenziert,
und sie stattdessen in den gemeinsam genutzten Klassenlader einfügen (JARs sollten in den
„lib“-Ordner und Klassen sollten im Ordner „classes“ abgelegt werden).
================
Tomcat unter Linux:
================
Benutzer von GLIBC 2.2 / Linux 2.4 sollten eine Umgebungsvariable definieren:
exportieren Sie LD_ASSUME_KERNEL=2.2.5
Benutzer von Redhat Linux 9.0 sollten die folgende Einstellung verwenden, um dies zu vermeiden
Stabilitätsprobleme:
exportieren Sie LD_ASSUME_KERNEL=2.4.1
Es wurden einige Linux-Fehler bezüglich des NIO-Sendfile-Verhaltens gemeldet. Stellen Sie sicher, dass Sie dies tun
Sie müssen über ein aktuelles JDK verfügen oder das Sendedateiverhalten im Connector deaktivieren.<br/>
6427312: (fc) FileChannel.transferTo() löst die IOException „Systemaufruf unterbrochen“ aus<br/>
5103988: (fc) FileChannel.transferTo sollte -1 für EAGAIN zurückgeben und stattdessen eine IOException<br/> auslösen
6253145: (fc) FileChannel.transferTo unter Linux schlägt fehl, wenn die 2-GB-Grenze überschritten wird<br/>
6470086: (fc) FileChannel.transferTo(2147483647, 1, Kanal) verursacht die Ausnahme „Wert zu groß“<br/>
=============================
Aktivieren der SSI- und CGI-Unterstützung:
=============================
Aufgrund der mit CGI und SSI verbundenen Sicherheitsrisiken
Für Webanwendungen sind diese Funktionen standardmäßig deaktiviert.
Informationen zum Aktivieren und Konfigurieren der CGI-Unterstützung finden Sie auf der Seite cgi-howto.html.
Informationen zum Aktivieren und Konfigurieren der SSI-Unterstützung finden Sie auf der Seite ssi-howto.html.
======================
URLs des Sicherheitsmanagers:
======================
Um JARs, die sich im Inneren befinden, Sicherheitsberechtigungen zu erteilen
Verwenden Sie für das Webanwendungs-Repository URLs im folgenden Format
in Ihrer Richtliniendatei:
Datei:${catalina.home}/webapps/examples/WEB-INF/lib/driver.jar
============================
Statische Ressourcen verknüpfen:
============================
Standardmäßig funktionieren Unix-Symlinks nicht, wenn sie in einer Webanwendung zum Verknüpfen verwendet werden
Ressourcen, die sich außerhalb des Stammverzeichnisses der Webanwendung befinden.
Dieses Verhalten ist optional und kann zum Deaktivieren mit dem Flag „allowLinking“ verwendet werden
der Scheck.
=========================
Aufrufer-Servlet aktivieren:
=========================
Ab Tomcat 4.1.12 ist das Aufrufer-Servlet nicht mehr verfügbar
Die Aktivierung für alle Webapps ist durch Bearbeiten möglich
$CATALINA_HOME/conf/web.xml, um die Servlet-Zuordnung „/servlet/*“ zu kommentieren
Definition.
Die Verwendung des Aufrufer-Servlets in einer Produktionsumgebung wird nicht empfohlen
wird nicht unterstützt. Weitere Informationen finden Sie in den Tomcat-FAQ unter
http://tomcat.apache.org/faq/misc.html#invoker.
==============================
Anzeigen des Tomcat-Änderungsprotokolls:
==============================
Siehe changelog.html in diesem Verzeichnis.
====================
Wenn alles andere fehlschlägt:
====================
Siehe die FAQ
http://tomcat.apache.org/faq/
Expandieren