Apache Tomcat

Apache Tomcat (también llamado Jakarta Tomcat o simplemente Tomcat) es un servidor web con soporte de servlets y JSPs. 

Tomcat no es un servidor de aplicaciones como puede ser GlassFish, WebLogic, WebSphereJBoss, sino que es un un contenedor de servlets. La diferencia principal radica en que un contenedor de servlets está pensado únicamente para tecnología web (acceso vía HTTP), mientras que en un servidor de aplicaciones se pueden hacer sistemas más complejos y multicapa. Por ejemplo, un sistema que poseerá soluciones de escritorio, web y móvil deberá alojarse en un servidor de aplicaciones, ya que posee capas distintas que requerirán mayor complejidad en el lado servidor.

Servlets

Un Servlet es una tecnología web del lado servidor basada en Java. Más técnicamente, en una clase Java de JavaEE que cumple la API Java Servlet, que es un protocolo por el que una clase Java puede responder a peticiones. En principio, los Servlets podrían comunicarse utilizando cualquier protocolo, pero lo más frecuente es que usen el protocolo HTTP. De esta manera, un desarrollador de aplicaciones puede usar un servlet para añadir contenido dinámico a un servidor web usando la plataforma Java.

Para desplegar y ejecutar un Servlet, es necesario utilizar un contenedor web, también llamado contenedor de Servlets. Esencialmente es el componente de un servidor web que interactúa con los Servlets. Es responsable de la gestión del ciclo de vida de los Servlets, redirigir una URL a un Servlet en particular, y asegurarse de que el solicitante de la URL tiene los derechos de acceso adecuados.

Los Servlets se pueden empaquetar en un archivo WAR como una aplicación web.

JSP

JSP (JavaServer Pages) es una tecnología Java que permite a los desarrolladores de aplicaciones crear páginas web, creadas de forma dinámica, basadas en HTML, XML u otros tipos de documentos.

La diferencia entre Servlets y JSP es que los Servlets pueden embeber HTML dentro del código Java, mientras que JSP incluye código Java dentro de HTML.

El uso directo de Servlets para generar HTML es menos frecuente, y es más usado para la gestión a más bajo nivel de las peticiones y respuestas.

Descarga de Apache Tomcat

La página web del proyecto se encuentra en la dirección http://tomcat.apache.org/, que incluye una sección de descargas donde se pueden encontra el código fuente y los binarios listos para ser instalados. Para el caso de Windows se dispone de la posibilidad de hacer la instalación de forma manual o mediante un instalador (32-bit/64-bit Windows Service Installer) que facilita el proceso de instalación.

tomcat16

Instalación en Ubuntu

La instalación más sencilla se hace usando el gestor de paquetes, indicando el paquete tomcat7:

sudo apt-get install tomcat7

Si deseas instalar además la documentación, los ejemplos y el administrador, debes instalar los paquetes tomcat7-docstomcat7-examples y tomcat7-admin.

Al acceder al servidor desde un navegador web, usando el puerto 8080 (es el que usa Tomcat por defecto), verás una página similar a la siguiente:

tomcat18

Instalación en Windows

Los siguientes pasos ilustran la instalación de Apache Tomcat 7.0 en Windows Server 2008 usando el instalador de Tomcat. De manera similar se debe hacer para otras versiones de Windows.

La instalación comienza con la presentación del asistente.

tomcat01

En la siguiente pantalla elige la instalación completa (full) que incluye los ejemplos, para que después puedas comprobar su funcionamiento.

tomcat02

Ahora puedes configurar los puertos que va a utilizar el servidor. Puedes dejar los que vienen por defecto. Observa principalmente que el puerto por el que se van a realizar las conexiones HTTP es el 8080.

tomcat03

Para el funcionamiento de este servidor es necesario tener instalado previamente el entorno de ejecución de Java (JRE). Si ya lo tienes instalado te aparecerá en la siguiente pantalla la ruta al mismo, que puedes modificadar si no es correcta o si quieres usar otra versión.

tomcat05

Después puedes indicar la ruta en la que se instalará Tomcat. Puedes dejar la ruta por defecto.

tomcat06

Tras el proceso de instalación, aparecerá la pantalla que informa que la instalación ha finalizado.

tomcat07

Si has indicado que se inicie Apache Tomcat, verás el icono correspondiente en la área de notificación. Desde ahí podrás entrar en la configuración del servidor o reiniciarlo si es necesario.

tomcat08

Comprobación del funcionamiento

Desde un navegador web debes acceder al servidor usando el puerto 8080 si no has indicado otro durante la instalación. Si lo haces desde la misma máquina utiliza la dirección http://localhost:8080 (no olvides el http://), y si lo haces desde una máquina cliente, indica la dirección IP del servidor en lugar de localhost.

Debe aparecer una página similar a la siguiente:

tomcat09

Si intentas el acceso desde una máquina distinta a la que tiene el servidor no olvides crear una regla en el cortafuegos para que se admitan las peticiones para el servidor Tomcat. Puedes hacerlo añadiendo la aplicación tomcat7.exe que se encontrará en la carpeta bin dentro de la carpeta donde se haya realizado la instalación.

tomcat11

De esa manera, debe quedar añadido Tomcat a la lista de excepciones del cortafuegos.

tomcat10

Usa el enlace Examples para ver la lista de ejemplos que trae Apache Tomcat.

tomcat12

Puedes ver que ejemplos de tipo Servlet, JSP y WebSocket. Vamos a probar en este caso un ejemplo de Serlet.

tomcat13

Por ejemplo, podemos probar la típica aplicación Hola mundo, que apacere en la lista como "Hello World". Usa el enlace Execute para probarla.

tomcat14

La página debe aparecer como la siguiente:

tomcat15

Problema de permisos en Windows 7

Si has realizado la instalación de Tomcat como servicio en Windows 7, si reinicias el sistema podrás obtener un mensaje de error como el siguiente:

"Acceso denegado. Unable to open the service 'Tomcat7'.

tomcat19

Esto se debe a que la instalación por defecto instala la aplicación en la carpeta C:\Program Files y para su ejecución se requieren permisos de administrador. Una solución es hacer la instalación en cualquier carpeta del usuario, y otra es asignar permisos de ejecución como administrador al monitor del servidor. Esto puedes hacerlo accediendo a las propiedades del archivo Tomcat7w.exe que se encuentra dentro de la carpeta bin donde se haya instalado el servidor. En la pestaña Compatibilidad, marca la opción Ejecutar este programa como administrador.

tomcat eclipse 18