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, WebSphere o JBoss, 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.
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-docs, tomcat7-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:
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.
En la siguiente pantalla elige la instalación completa (full) que incluye los ejemplos, para que después puedas comprobar su funcionamiento.
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.
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.
Después puedes indicar la ruta en la que se instalará Tomcat. Puedes dejar la ruta por defecto.
Tras el proceso de instalación, aparecerá la pantalla que informa que la instalación ha finalizado.
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.
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:
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.
De esa manera, debe quedar añadido Tomcat a la lista de excepciones del cortafuegos.
Usa el enlace Examples para ver la lista de ejemplos que trae Apache Tomcat.
Puedes ver que ejemplos de tipo Servlet, JSP y WebSocket. Vamos a probar en este caso un ejemplo de Serlet.
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.
La página debe aparecer como la siguiente:
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'.
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.