Implementeer de applicatie op Tomcat Root

1. Overzicht

In dit korte artikel bespreken we het implementeren van een webtoepassing bij de root van een Tomcat.

2. Basisprincipes en terminologie van Tomcat-implementatie

Ten eerste vindt u de basisprincipes van het implementeren van een applicatie op Tomcat in deze handleiding: Een WAR-bestand implementeren op Tomcat.

Simpel gezegd worden webapplicaties onder geplaatst $ CATALINA_HOME \ webapps, waar $ CATALINA_HOME is de installatiemap van Tomcat.

Het contextpad verwijst naar de locatie ten opzichte van het serveradres dat de naam van de webapplicatie vertegenwoordigt.

Tomcat leidt het standaard af van de naam van het geïmplementeerde war-bestand. Dus als we een bestand implementeren VoorbeeldApp.war, zal het beschikbaar zijn op // localhost: 8080 / ExampleApp. Ik e. het contextpad is / VoorbeeldApp.

Als we die app nu beschikbaar moeten hebben op // localhost: 8080 / in plaats daarvan hebben we een paar opties, die we in de volgende secties zullen bespreken.

Raadpleeg de officiële Tomcat-documentatie voor een meer gedetailleerde uitleg van het contextconcept van Tomcat.

3. De app implementeren als WORTEL. Oorlog

De eerste optie is heel eenvoudig: we hoeven alleen de standaard te verwijderen /WORTEL/ map in $ CATALINA_HOME \ webapps, hernoem ons VoorbeeldApp.war naar WORTEL. Oorlog, en implementeer het.

Onze app is nu beschikbaar op // localhost: 8080 /.

4. Specificeer het contextpad in het server.xml

De tweede optie is om het contextpad van de applicatie in te stellen in het server.xml (die zich bevindt op $ CATALINA_HOME \ conf).

We moeten het volgende invoegen in het tag daarvoor:

Let op: het handmatig definiëren van het contextpad heeft als neveneffect dat de applicatie standaard twee keer wordt ingezet: Bij // localhost: 8080 / ExampleApp / evenals bij // localhost: 8080 /.

Om dit te voorkomen, moeten we instellen autoDeploy = "false" en deployOnStartup = "false" in de label:

Belangrijk: deze optie wordt niet meer aanbevolen, sinds Tomcat 5: het maakt contextconfiguraties invasiever, aangezien de server.xml bestand kan niet opnieuw worden geladen zonder Tomcat opnieuw te starten.

5. Specificeer het contextpad in een app-specifiek XML-bestand

Om dit probleem met de server.xmlhebben we de derde optie: we stellen het contextpad in een applicatiespecifiek XML-bestand in.

Daarom moeten we een ROOT.xml Bij $ CATALINA_HOME \ conf \ Catalina \ localhost met de volgende inhoud:

Twee punten zijn hier niets waard.

Ten eerste hoeven we het pad niet expliciet op te geven zoals in de vorige optie - Tomcat ontleent dat aan de naam van onze ROOT.xml.

En ten tweede - aangezien we onze context in een ander bestand definiëren dan het server.xml, onze docBase moet buiten zijn $ CATALINA_HOME \ webApps.

6. Conclusie

In deze zelfstudie hebben we verschillende opties besproken voor het implementeren van een webtoepassing in de root van een Tomcat.


$config[zx-auto] not found$config[zx-overlay] not found