Deployar WAR en el contenedor Tomcat

Una vez completado el proyecto, debemos generar nuestro archivo WAR el cual vamos a deployar en el contenedor Tomcat7 que hemos creado.

Lo primero será generar nuestro archivo WAR y para ello usaremos Maven para deployarlo en nuestro servidor tomcat.


¿Recuerda el archivo tomcat-users.xml que configuramos al instalar el tomcat?

Bien, este archivo nos permite configurar los roles y los usuarios para poder deployar en el servidor Tomcat. Con la configuración que asignamos al XML, vamos a ir a nuestro proyecto en Eclipse y debemos reemplazar el contenido dentro del tag <build> en el archivo pom.xml:

<build>
<directory>${project.basedir}/target</directory>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
    <source>1.7</source>
    <target>1.7</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.3</version>
<configuration>
    <failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<configuration>
   <url>http://192.168.108.76:8080/manager/text</url>
   <username>admin</username>
    <password>tomcat</password>
   <path>/RestService</path>
</configuration>
</plugin>
</plugins>
        <!-- esta linea la comentamos, no debe ir -->
        <!--  <finalName>RestService</finalName> -->

</build>


Dentro del tag <configuration> añadimos la url donde se encuentra nuestro servidor de Tomcat levantado con el puerto 8080 y la ruta /manager/text (en otras versiones de Tomcat es /manager/html)

El usuario y password definidos dentro corresponden al que definimos en el archivo tomcat-users.xml (Esta es la razon por la cual configuramos ese archivo XML).

Por ultimo tenemos el path /RestService que sera la carpeta en donde se va alojar nuestro servicio REST.


Una vez modificado el archivo pom.xml, guardarlo y el siguiente paso es configurar el Eclipse para ejecutar el Maven. Vamos a la opción Run >> Run Configuration en la barra de herramientas del Eclipse:





Veremos la siguiente pantalla:



Seleccionen la opción Maven Build y luego en el icono New para crear una nueva configuración:



 Completamos el Nombre de la configuración, el Directorio de Base en donde se encuentra nuestro archivo pom.xml y el Objetivo (Goals). Este ultimo debemos escribir el comando tomcat:deploy, donde su función es recibir la configuración del pom.xml con la ruta y el usuario para deployar el WAR. Finalmente aplicamos los cambios y hacemos clic en Run.

ASEGÚRESE DE TENER LEVANTADO EL CONTENEDOR DEL TOMCAT 7 ANTES DE HACER EL DEPLOY >> docker start <id_contenedor>






Dentro del Eclipse, la consola va a mostrar el progreso del deploy hasta finalizar e informarnos que el proceso fue exitoso. En la misma imagen se puede apreciar el deploy al servidor del Tomcat.


Para verificar que el deploy se haya hecho, abrimos el browser y accedemos a la url http://192.168.108.76:8080






La imagen corresponde al servidor del Tomcat 7 levantado en el contenedor Docker.

Primero vamos acceder al Manager App para chequear que nuestro proyecto este deployado dentro del tomcat. Cuando accedamos, nos pedira usuario y clave. Este mismo corresponde al que configuramos en tomcat-users.xml:







Luego vamos a poder visualizar nuestro proyecto deployado:





Ahora solo resta probar nuestro servicio Rest para el cual construimos nuestro proyecto. Recuerde que definimos el Path /rest/user/{name} en la clase MainRest.java y que dentro del web.xml definimos la ruta:

<url-pattern>/rest/*</url-pattern>

De esta forma, la ruta del servicio REST es http://192.168.108.76:8080/RestService/rest/rest/user/diego

Y el resultado es el siguiente:




Tambien lo probamos con el Rest Client:




Con este paso, ya tenemos nuestra aplicación Restful corriendo en un servidor Tomcat que a su vez esta en un contenedor Docker.

El siguiente paso será crear un contenedor de MySQL para que nuestro servicio consulte a la base de datos y nos devuelva los datos de una persona en base a su ID.




No hay comentarios:

Publicar un comentario