Implementar la aplicación en la raíz de Tomcat

1. Información general

En este artículo rápido, analizaremos la implementación de una aplicación web en la raíz de un Tomcat.

2. Terminología y conceptos básicos de implementación de Tomcat

Primero, los conceptos básicos para implementar una aplicación en Tomcat se pueden encontrar en esta guía: Cómo implementar un archivo WAR en Tomcat.

En pocas palabras, las aplicaciones web se colocan en $ CATALINA_HOME \ webapps , donde $ CATALINA_HOME es el directorio de instalación de Tomcat.

La ruta de contexto se refiere a la ubicación relativa a la dirección del servidor que representa el nombre de la aplicación web.

De forma predeterminada, Tomcat lo deriva del nombre del archivo de guerra implementado. Entonces, si implementamos un archivo ExampleApp.war , estará disponible en // localhost: 8080 / ExampleApp . I. e. la ruta de contexto es / ExampleApp .

Si ahora necesitamos tener esa aplicación disponible en // localhost: 8080 / en su lugar, tenemos algunas opciones, que discutiremos en las siguientes secciones.

Para obtener una explicación más detallada del concepto de contexto de Tomcat, consulte la documentación oficial de Tomcat.

3. Implementar la aplicación como ROOT.war

La primera opción es muy sencilla: solo tenemos que eliminar la carpeta predeterminada / ROOT / en $ CATALINA_HOME \ webapps , cambiar el nombre de nuestro ExampleApp.war a ROOT.war e implementarlo.

Nuestra aplicación ahora estará disponible en // localhost: 8080 / .

4. Especificación de la ruta de contexto en server.xml

La segunda opción es establecer la ruta de contexto de la aplicación en el archivo server.xml (que se encuentra en $ CATALINA_HOME \ conf ).

Debemos insertar lo siguiente dentro del etiqueta para eso:

Nota: definir la ruta de contexto manualmente tiene el efecto secundario de que la aplicación se implementa dos veces de forma predeterminada : en // localhost: 8080 / ExampleApp / así como en // localhost: 8080 / .

Para evitar esto, tenemos que configurar autoDeploy = ”false” y deployOnStartup = ”false” en el etiqueta:

Importante: esta opción ya no se recomienda, desde Tomcat 5: hace que las configuraciones de contexto sean más invasivas, ya que el archivo server.xml no se puede recargar sin reiniciar Tomcat.

5. Especificación de la ruta de contexto en un archivo XML específico de la aplicación

Para evitar este problema con server.xml , tenemos la tercera opción: estableceremos la ruta de contexto en un archivo XML específico de la aplicación.

Por lo tanto, tenemos que crear un ROOT.xml en $ CATALINA_HOME \ conf \ Catalina \ localhost con el siguiente contenido:

Dos puntos no valen nada aquí.

Primero, no tenemos que especificar la ruta explícitamente como en la opción anterior; Tomcat lo deriva del nombre de nuestro ROOT.xml .

Y segundo, dado que estamos definiendo nuestro contexto en un archivo diferente al server.xml , nuestro docBase debe estar fuera de $ CATALINA_HOME \ webApps .

6. Conclusión

En este tutorial, discutimos diferentes opciones de cómo implementar una aplicación web en la raíz de un Tomcat.