Stellen Sie die Anwendung bei Tomcat Root bereit

1. Übersicht

In diesem kurzen Artikel wird die Bereitstellung einer Webanwendung im Stammverzeichnis eines Tomcat erläutert.

2. Grundlagen und Terminologie der Tomcat-Bereitstellung

Die Grundlagen zum Bereitstellen einer Anwendung für Tomcat finden Sie in diesem Handbuch: So stellen Sie eine WAR-Datei für Tomcat bereit.

Einfach ausgedrückt, Webanwendungen werden unter $ CATALINA_HOME \ webapps abgelegt , wobei $ CATALINA_HOME das Installationsverzeichnis des Tomcat ist.

Der Kontextpfad bezieht sich auf den Speicherort relativ zur Serveradresse, der den Namen der Webanwendung darstellt.

Standardmäßig leitet Tomcat es vom Namen der bereitgestellten Kriegsdatei ab. Wenn wir also eine Datei ExampleApp.war bereitstellen , ist diese unter // localhost: 8080 / ExampleApp verfügbar . I. e. Der Kontextpfad lautet / ExampleApp .

Wenn wir diese App jetzt unter // localhost: 8080 / verfügbar haben müssen, haben wir einige Optionen, die wir in den folgenden Abschnitten besprechen werden.

Eine ausführlichere Erläuterung des Kontextkonzepts von Tomcat finden Sie in der offiziellen Tomcat-Dokumentation.

3. Bereitstellen der App als ROOT.war

Die erste Option ist sehr einfach: Wir müssen nur den Standardordner / ROOT / in $ CATALINA_HOME \ webapps löschen , unsere ExampleApp.war in ROOT.war umbenennen und bereitstellen.

Unsere App ist ab sofort unter // localhost: 8080 / verfügbar .

4. Angeben des Kontextpfads in der Datei server.xml

Die zweite Option besteht darin, den Kontextpfad der Anwendung in der Datei server.xml festzulegen (die sich unter $ CATALINA_HOME \ conf befindet ).

Wir müssen Folgendes in die einfügen Tag dafür:

Hinweis: Das manuelle Definieren des Kontextpfads hat den Nebeneffekt, dass die Anwendung standardmäßig zweimal bereitgestellt wird : unter // localhost: 8080 / ExampleApp / sowie unter // localhost: 8080 / .

Um dies zu verhindern, müssen wir autoDeploy = "false" und deployOnStartup = "false" in der Etikett:

Wichtig: Diese Option wird nicht mehr empfohlen, da Tomcat 5 die Kontextkonfigurationen invasiver macht, da die Datei server.xml nicht neu geladen werden kann, ohne Tomcat neu zu starten.

5. Angeben des Kontextpfads in einer app-spezifischen XML-Datei

Um dieses Problem mit der Datei server.xml zu vermeiden , haben wir die dritte Option: Wir legen den Kontextpfad in einer anwendungsspezifischen XML-Datei fest.

Daher haben wir eine erstellen ROOT.xml bei $ CATALINA_HOME \ conf \ Catalina \ localhost mit folgendem Inhalt:

Zwei Punkte sind hier nichts wert.

Erstens müssen wir den Pfad nicht explizit wie in der vorherigen Option angeben - Tomcat leitet diesen aus dem Namen unserer ROOT.xml ab .

Und zweitens: Da wir unseren Kontext in einer anderen Datei als die Datei server.xml definieren , muss sich unsere docBase außerhalb von $ CATALINA_HOME \ webApps befinden .

6. Fazit

In diesem Lernprogramm wurden verschiedene Optionen zum Bereitstellen einer Webanwendung im Stammverzeichnis eines Tomcat erläutert.