Déployer l'application à la racine Tomcat

1. Vue d'ensemble

Dans cet article rapide, nous aborderons le déploiement d'une application Web à la racine d'un Tomcat.

2. Principes de base et terminologie du déploiement de Tomcat

Tout d'abord, les bases du déploiement d'une application sur Tomcat se trouvent dans ce guide: Comment déployer un fichier WAR sur Tomcat.

En termes simples, les applications Web sont placées sous $ CATALINA_HOME \ webapps , où $ CATALINA_HOME est le répertoire d'installation de Tomcat.

Le chemin de contexte fait référence à l'emplacement relatif à l'adresse du serveur qui représente le nom de l'application Web.

Par défaut, Tomcat le dérive du nom du fichier de guerre déployé. Donc, si nous déployons un fichier ExampleApp.war , il sera disponible sur // localhost: 8080 / ExampleApp . C'est à dire. le chemin du contexte est / ExampleApp .

Si nous devons maintenant avoir cette application disponible sur // localhost: 8080 / à la place, nous avons quelques options, dont nous parlerons dans les sections suivantes.

Pour une explication plus détaillée du concept de contexte de Tomcat, consultez la documentation officielle de Tomcat.

3. Déploiement de l'application en tant que ROOT.war

La première option est très simple: il suffit de supprimer le dossier par défaut / ROOT / dans $ CATALINA_HOME \ webapps , de renommer notre ExampleApp.war en ROOT.war et de le déployer.

Notre application sera désormais disponible sur // localhost: 8080 / .

4. Spécification du chemin de contexte dans le fichier server.xml

La deuxième option consiste à définir le chemin de contexte de l'application dans le fichier server.xml (qui se trouve dans $ CATALINA_HOME \ conf ).

Nous devons insérer ce qui suit dans le tag pour cela:

Remarque: la définition manuelle du chemin de contexte a pour effet secondaire que l'application est déployée deux fois par défaut : sur // localhost: 8080 / ExampleApp / ainsi que sur // localhost: 8080 / .

Pour éviter cela, nous devons définir autoDeploy = "false" et deployOnStartup = "false" dans le marque:

Important: cette option n'est plus recommandée, depuis Tomcat 5: elle rend les configurations de contexte plus invasives, puisque le fichier server.xml ne peut plus être rechargé sans redémarrer Tomcat.

5. Spécification du chemin de contexte dans un fichier XML spécifique à l'application

Pour éviter ce problème avec le server.xml , nous avons la troisième option: nous allons définir le chemin de contexte dans un fichier XML spécifique à l'application.

Par conséquent, nous devons créer un ROOT.xml dans $ CATALINA_HOME \ conf \ Catalina \ localhost avec le contenu suivant:

Deux points ne valent rien ici.

Tout d'abord, nous n'avons pas à spécifier le chemin d'accès explicitement comme dans l'option précédente - Tomcat dérive cela du nom de notre ROOT.xml .

Et deuxièmement - puisque nous définissons notre contexte dans un fichier différent du server.xml , notre docBase doit être en dehors de $ CATALINA_HOME \ webApps .

6. Conclusion

Dans ce didacticiel, nous avons discuté des différentes options de déploiement d'une application Web à la racine d'un Tomcat.