Instalación y Configuración de Software
- Instalación del Tomcat

El segundo componente necesario para desarrollar páginas JSP, es un Servidor Web, que en nuestro caso va a ser el Tomcat.

Nota:  A lo largo de este documento, se asume que el directorio raíz de instalación del producto, es C:\Adt (excepto donde se indique lo contrario).


1. Descarga e Instalación del Tomcat

La versión más reciente del Tomcat es la 4.1.18:

  1. En: http://jakarta.apache.org/builds/jakarta-tomcat-4.0/release/v4.1.18/bin/

    buscamos la liga correspondiente a la versión light (LE).

  2. Y descargamos el archivo: Jakarta-Tomcat-4.1.18-LE-Jdk14.exe.

    Este archivo mide 6.8M aproximadamente.

La instalación consiste en ejecutar el programa y definir la localización de los componentes a ser instalados. Requiere de unos 30M a 45M en disco, dependiendo de los componentes que se instalen.

El producto instalado deberá quedar en la siguiente ruta: C:\Adt\Tomcat.

Nota:  A partir de este punto, me referiré a esa ruta como dir_tom.

En la pantalla de selección de componentes a instalar, seleccionamos todos exceptuando el segundo y el cuarto.

Antes de concluir la instalación, aparece una ventana de configuración básica (Test Install Setup):

y terminamos con esto la instalación del Tomcat.

Nota:  La versión Tomcat 4.1 es la Implementación Oficial de la Referencia para las tecnologías Servlet de Java (versión 2.3) y las Páginas JavaServer (JSP) (versión 1.2).

2. Configuración del Tomcat

2.a. Modificar el Archivo autoexec.bat

El archivo autoexec.bat requiere un par de cambios:

2.b. Cambiar el Puerto a 80

En caso de que se desee cambiar el valor del puerto de conexión del Tomcat, y que esto no se haya realizado en la ventana inicial de configuración (durante la instalación), resulta conveniente configurar el Tomcat para que utilice el puerto HTTP por omisión (80) en lugar del 8080. Esto en caso de que no exista ningún otro servidor corriendo en el puerto 80.

Hacer este cambio nos permite utilizar URL's de la forma http://localhost/servlet en lugar de http://localhost:8080/servlet.

Nota:  Windows XP inicia automáticamente el IIS en el puerto 80. Así que si se usa WinXP y se desea utilizar el puerto 80 para Tomcat, es necesario deshabilitar el IIS.

Para cambiar el valor del puerto, hay que editar el archivo dir_tom/conf/server.xml y cambiar el atributo port del elemento Connector, de 8080 a 80:

<Connector
  className="org.apache.coyote.tomcat4.CoyoteConnector"
  port="80" ...
  ... />

Nota:  El nombre exacto de la clase del conector varía en diferentes versiones de Tomcat. En versiones anteriores de Tomcat 4, se llamaba HttpConnector.

2.c. Activar el Contexto Raíz

El Contexto Raíz (ROOT context), es la Aplicación Web por omisión del Tomcat. Resulta conveniente de usar al comenzar el aprendizaje de Servlets y JSP's.

Para activarla, hay que desbloquear la siguiente línea en: dir_tom/conf/server.xml:

<Context path="" docBase="ROOT" debug="0"/>

Nota:  En el curso no vamos a utilizar la aplicación Web por omisión del Tomcat, sino que vamos a crear una aplicación Web independiente, así que esto es solamente informativo.

2.d. Activar la Recarga de Servlets

Esta modificación le indica al Tomcat que revise las fechas de modificación de los archivos .class de los servlets requeridos y que recargue aquellos que hayan cambiado desde que fueron cargados en la memoria del servidor.

Esto degrada el rendimiento en ambientes de producción, así que está desactivado por omisión. Sin embargo, el tenerlo desactivado en ambientes de desarrollo hace que uno tenga que estar reiniciando el servidor cada vez que se recompile un servlet que ya haya sido cargado en memoria.

Para activar la recarga de servlets, hay que editar dir_tom/conf/server.xml y agregar el subelemento DefaultContext al elemento principal Service y definir true para el atributo reloadable.

La manera más sencilla de hacer lo anterior es por localizar el siguiente comentario:

<!-- Define properties for each web application. This is only needed
    if you want to set non-default properties, or have web application
    document roots in places other than the virtual host‘s appBase
    directory. -->

e insertar justo después del mismo, la siguiente línea:

<DefaultContext reloadable="true"/>
2.e. Activar el Servlet Invoker

El Servlet invoker nos permite correr servlets sin primero hacer cambios al archivo WEB-INF/web.xml en nuestra aplicación Web. En lugar de ello, uno simplemente "suelta" el servlet en WEB-INF/classes y utiliza el URL http://host/servlet/ServletName.

El Servlet invoker es extremadamente conveniente durante el aprendizaje e incluso durante el desarrollo inicial. Sin embargo, esto no es conveniente durante la fase de producción (deployment).

Nota:  Hasta la versión 4.1.12 de Tomcat, el invoker estaba activado por omisión. Sin embargo, se descubrió una falla de seguridad en la cual el servlet invoker podía ser utilizado para ver el código fuente de los servlets que eran generados por las páginas JSP. Por ello, desde la versión 4.1.12, el invoker se desactivó por omisión.

Para activar el servlet invoker, hay que desbloquear el elemento servlet-mapping en dir_tom/conf/web.xml (no hay que confundir este archivo específico de Tomcat -web.xml-, con el estándard que va en el directorio WEB-INF de cada aplicación Web):

<servlet-mapping>
    <servlet-name>invoker</servlet-name>
    <url-pattern>/servlet/*</url-pattern>
</servlet-mapping>
2.f. Definir la Variable de Ambiente JAVA_HOME

En lugar de definir la variable de ambiente JAVA_HOME globalmente en el sistema operativo, algunos desarrolladores prefieren editar el script de arranque y definirla ahí.

En caso de preferir esta estrategia, se tiene que editar dir_tom/bin/catalina.bat e insertar las siguientes líneas después del primer conjunto de comentarios:

if not "%JAVA_HOME%" == "" goto gotJavaHome
set JAVA_HOME=C:\Adt\Java2
:gotJavaHome

Nota:  En nuestro caso ya habíamos definido previamente esta variable, así que esto es solamente informativo.

2.g. Cambiar la Definición de Memoria DOS

En algunas versiones de Windows, habrá que cambiar la definición de la memoria DOS de los scripts de arranque y alto. Si se recibe un mensaje de error "Out of Environment Space" al iniciar el servidor, se tiene que hacer click con el botón derecho sobre dir_tom/bin/startup.bat, elegir Properties, elegir Memory, y cambiar la entrada de Initial Environment de Auto a por lo menos 2816.

Repetir el mismo proceso para dir_tom/bin/shutdown.bat.

Nota:  Esto se hará sólo en caso de ser necesario.

3. Verificar el Arranque del Servidor Tomcat

Antes de intentar utilizar el servidor con servlets o páginas JSP propias, uno debe asegurarse de que el servidor está bien instalado y configurado.

Para arrancar el servidor, ejecutamos el script dir_tom/bin/startup.bat. Lo siguiente es abrir una ventana del navegador de Internet, y escribir la siguiente URL: http://localhost/, asegurándonos de que aparezca la página de bienvenida del Tomcat, y no un mensaje de error. En caso de no haber cambiado el número de puerto (a 80, como se describió anteriormente), la URL debe escribirse así: http://localhost:8080/, la cual incluye el número de puerto.

Para detener el servidor, ejecutamos el script dir_tom/bin/shutdown.bat.

Es recomendable más adelante hacer accesos directos de los scripts anteriores al directorio de desarrollo (no hacer copias). En caso de utilizar un entorno de desarrollo integrado (IDE), uno deberá indicarle dónde se encuentran estos scripts.

Más adelante se realizarán unas últimas pruebas para verificar que la instalación y configuración del Tomcat fue realizada correctamente, por lo que la reinicialización del equipo la dejaremos para después.

Queda así finalizada la instalación del Tomcat.


Ayuda

Para más información sobre Tomcat: