Sunteți pe pagina 1din 11

Instalacin de Tomcat / Servlets (I)

Tabla de contenidos
1. Instalacin de Apache Tomcat
2. Servlet Hola Mundo
2.1. Apartado 1: compilar el servlet
2.2. Apartado 2: desplegar el servlet en Tomcat
2.3. Apartado 3: ejecutar el servlet
3. Obtener informacin del servlet
4. Visualizacin de recursos estticos
5. Procesar parmetros de la peticin HTTP
6. Desarrollo de aplicaciones Web con Eclipse
7. Referencias
7.1. Estndares
7.2. Servlets y Tomcat

1. Instalacin de Apache Tomcat


El servidor Apache Tomcat es una implementacin de referencia
de las tecnologas Java Servlet y JavaServer Pages (JSP). Antes
de comenzar la prctica de hoy, tendris que instalar el servidor
Tomcat en vuestras cuentas. Para ello debis seguir los
siguientes pasos:
1. Descargar el fichero apache-tomcat-6.0.20.tar.gz al
directorio temporal (/tmp). Este fichero tambin est
disponible para descarga en el sitio Web de descargas de
Apache Tomcat 6.x.
2. Extraer los ficheros de Tomcat en algn directorio de
vuestra cuenta. Para ello, una vez situados en el directorio,
ejecutad el comando:
3. tar xvzf /tmp/apache-tomcat-6.0.20.tar.gz

4. Establecer la variable de entorno CATALINA_HOME para que


apunte al directorio donde hemos instalado nuestro
servidor Tomcat.
5. Establecer la variable de entorno JAVA_HOME para que apunte
al directorio donde est instalado Java 1.6 (en el
laboratorio es /usr/dist/jdk1.6.0_03).
6. Anteponer el directorio
entorno PATH.

${JAVA_HOME}/bin

a la variable de

Ahora ya podemos ejecutar el servidor Tomcat y empezar a


probar nuestros primeros servlets. Para arrancar y detener el
Tomcat sigue las siguientes instrucciones:
1. El script de arranque se encuentra en el directorio bin de la
instalacin del Tomcat. En este directorio, ejecutad en el
terminal de lnea de comandos: ./startup.sh Nota: el
directorio actual en el momento de arrancarlo debe ser $
{CATALINA_HOME}/bin.
2. Para detener el servidor se debe ejecutar el siguiente
comando en la shell desde el mismo directorio:./shutdown.sh
3. Para comprobar que la instalacin ha sido satisfactoria,
arrancad el servidor Tomcat y desde un navegador y
conectaos a la URL: http://localhost:8080. Si se puede ver la
pgina principal de Tomcat, la instalacin ha sido correcta.
Nota
Si el servidor no arranca, una de las causas posibles es que
algunos de los puertos en que escucha conexiones por defecto
(8080 y 8005) est ocupado por otro proceso. Si examinas las
ltimas lneas del fichero ${CATALINA_HOME}/logs/catalina.out sabrs
si es este el problema. En este caso, cambia estos puertos en el
fichero de configuracin ${CATALINA_HOME}/conf/server.xml. Pon, por
ejemplo, 9090 y 9005. Recuerda que la nueva URI de acceso al
servidor cambiara en este caso a http://localhost:9090.

Nota
Cuando hayas estado trabajando con Tomcat y vayas a cerrar tu
sesin en el ordenador, recuerda comprobar que dejas Tomcat
parado. Si no, supondr una molestia para usuarios que utilicen
el mismo ordenador ms tarde.

2. Servlet Hola Mundo


El objetivo de este ejercicio es aprender a compilar, desplegar y
ejecutar un servlet sencillo.
2.1. Apartado 1: compilar el servlet
Descarga el cdigo del servlet HolaMundo.java. Para compilar
este servlet, debes incluir en la variable de entorno CLASSPATH la
ruta al API de servlet, as como el directorio actual. Esta API es
necesaria para compilar un servlet, y est disponible en vuestra
instalacin de Tomcat: lib/servlet-api.jar. Una opcin alternativa
es compilar con la opcin -classpath, por ejemplo:
javac -classpath ${CATALINA_HOME}/lib/servlet-api.jar:. HolaMundo.java

Nota
Recuerda utilizar Java 1.6 para compilar.
2.2. Apartado 2: desplegar el servlet en Tomcat
Desplegar un servlet consiste en incluir una serie de ficheros en
un contenedor web (en nuestro caso, Tomcat) para que los
clientes puedan acceder a su funcionalidad. Normalmente, el
desarrollo de un servlet forma parte de lo que se denomina una
aplicacin Web, que no es ms que una coleccin de servlets,
pginas HTML, JSP, clases y otros recursos que se pueden
empaquetar y ejecutar en distintos contenedores web, de
distintos vendedores, y que ofrecen una determinada
funcionalidad a la que los clientes acceden tpicamente a travs
de un navegador.

Las aplicaciones Web, a partir de la especificacin de Servlet


2.2, deben estructurarse segn la siguiente jerarqua de
subdirectorios:
Directorio raz: puedes publicar ficheros estticos (HTML,
imgenes, hojas de estilo, etc.) y JSPs.
o Directorio WEB-INF: debe contener un fichero web.xml.
Este fichero configura la aplicacin. Por ejemplo,
permite declarar servlets, asignarles parmetros de
inicio, declarar alias y filtros, etc.
Directorio classes: debe contener los ficheros
compilados (servlets, beans, etc.) de las clases
utilizadas por la aplicacin web.
Directorio lib: debe contener otras bibliotecas de
clases adicionales (comprimidas con jar) que
utilice tu aplicacin.
o Resto de subdirectorios: para ficheros estticos y JSP.
Para exportar aplicaciones web a otros servidores, puedes
comprimir esta estructura de directorios, utilizandojar, dando
lugar as a un fichero WAR (almacnalo con extensin war, por
ejemplo holamundo.war). Este fichero es compatible con cualquier
plataforma de ejecucin de servlets y JSP.
Para desplegar nuestro servlet de ejemplo:
1. Crea un contexto para nuestra aplicacin web,
denominado holamundo. Crear un contexto en Tomcat no es
ms que crear un directorio debajo de $
{CATALINA_HOME}/webapps/. Este directorio ser el directorio
raz de nuestra aplicacin web y, por lo tanto, debajo de l
debemos crear la estructura de subdirectorios indicada
anteriormente.

El nombre del contexto es el primer nivel de la jerarqua de


la ruta de acceso a nuestra aplicacin, que en este caso
ser:
http://localhost:8080/holamundo/

2. Descarga el fichero de despliegue web.xml.


3. Sita correctamente los ficheros en la estructura de
directorios creada:
4.
5.

${CATALINA_HOME}/webapps +-- holamundo +-- WEB-INF +-- web.xml


+-- classes
+-- HolaMundo.class

2.3. Apartado 3: ejecutar el servlet


Abre un navegador y conctate a la
URL http://localhost:8080/holamundo/hola. Esto hara que se ejecute
nuestro servlet de ejemplo y se mostrar la pgina XHTML con
el mensaje Hola Mundo!
Nota
En esta versin de tomcat, en caso de no existir el
fichero index.html, se mostrar una pgina indicando que el
contexto no existe.

3. Obtener informacin del servlet


Modifica el servlet del ejercicio anterior para que muestre la
siguiente informacin: direccin IP del cliente, contenido de la
cabecera User-Agent del mensaje HTTP de peticin recibido y
fecha y hora del servidor.
Nota
Si modificas una clase mientras el servidor Tomcat est en
ejecucin, este seguir ejecutando la versin antigua de la
clase. Mientras se desarrolla una aplicacin Web, es habitual
configurar Tomcat para que detecte y cargue versiones nuevas
de las clases mientras est en ejecucin. Para cada contexto

(aplicacin Web) en que desees este comportamiento, establece


valor true en la propiedad reloadable. Para ello, crea un
subdirectorio llamado META-INF en el directorio principal de tu
aplicacin Web, y crea en l un fichero llamado context.xml con el
siguiente contenido:
<Context reloadable="true"></Context>

4. Visualizacin de recursos estticos


El objetivo de este ejercicio es aprender a mostrar recursos
estticos en el servidor Web Tomcat. Un recurso esttico es un
fichero, almacenado en el sistema de ficheros del servidor, cuyo
contenido devuelve el servidor Web cuando un cliente enva una
peticin GET con la URL del recurso. Se diferencia de los
recursos dinmicos en que estos ltimos son generados
dinmicamente por un programa que se ejecuta en el servidor
cuando llega la peticin. Algunos recursos estticos tpicos son
las imgenes, hojas de estilo CSS y pginas (X)HTML estticas
(aquellas no generadas por programas dinmicamente).
Descarga los siguientes recursos estticos que se
proporcionan: pagina.html y tomcat.gif. Sitalos en la
estructura de la aplicacin Web:
${CATALINA_HOME}/webapps +-- holamundo +-- WEB-INF +-- web.xml
|
+-- classes +-HolaMundo.class
+-- pagina.html
|
+-- tomcat.gif

Abre un navegador y conctate a la


URL http://localhost:8080/holamundo/pagina.html

5. Procesar parmetros de la peticin HTTP


Programa un formulario XHTML 1.1 en el que se le solicite al
usuario mediante un formulario su nombre, primer y segundo
apellido y direccin.

Escribe un servlet que muestre un resumen de la informacin


enviada por dicho formulario.
Declara el nuevo servlet en el fichero WEB-INF/web.xml para poder
acceder a l. Asciale una URL. Para ello aade un nuevo
elemento <servlet> y <servlet-mapping>. Puedes tomar como
referencia la declaracin de los servlets de ejercicios anteriores.
Asegrate de que el formulario enve los datos a la URL de este
servlet.
Abre un navegador y comprueba que el servlet funcione
correctamente.

6. Desarrollo de aplicaciones Web con


Eclipse
Eclipse cuenta con un mdulo opcional, llamado WTP (Web
Toolkit Platform), que facilita el desarrollo de aplicaciones Web.
Entre otras cosas, es capaz de ejecutar y depurar servlets en un
servidor Web como Tomcat.
El mdulo WTP no se incorpora por defecto en la distribucin
normal de Eclipse. Sin embargo, puede ser instalado desde su
men "Help / Software Updates/ Find & Install". En la pgina
Web de descargas de WTP tambin se puede descargar un
instalable "todo en uno" que integra directamente Eclipse y WTP.
A continuacin se muestran algunos enlaces en que se puede
encontrar ms informacin acerca de WTP:
Sitio Web de WTP.
Descarga e instalacin.
Manual de desarrollo de una aplicacin Web con Eclipse y
WTP.

7. Referencias

Los siguientes enlaces pueden ser tiles para realizar la


prctica:
7.1. Estndares
API Servlet 2.5
RFC 2616: Hypertext Transfer Protocol -- HTTP/1.1
XHTML1.0: The Extensible HyperText Markup Language
XHTML 1.1 - Module-based XHTML
CSS 2.1 Specification
7.2. Servlets y Tomcat
Apache Tomcat
Apache Tomcat 6.0: Documentacin
Servlets en java.sun.com
Servlet Essentials
Story of a Servlet: A tutorial
Tomcat incluye ejemplos de Servlets y JSPs encapsulados en la
aplicacin Web examples. Estn accesibles en el
directorio webapps/examples de la instalacin de Tomcat, y a travs
de un navegador Web si Tomcat est en ejecucin
(http://localhost:8080/examples/).

Instalacin de Tomcat para utilizar


servlets o JSP

Por Julio N. Argota Quiroz

25 de agosto de 2004

4 Comentarios

Sistemas, Java, JSP

Notas sobre la instalacin y utilizacin de servidor Tomcat


para la creacin de servlets o paginas JSP.
Este proceso es bastante sencillo, pero consta de una serie de pasos que se deben
realizar al pie de la letra:
a) Instalar el servidor Tomcat y alguna versin del J2SDK (se recomienda 1.4.01 o la
Enterprise Edition), indicndole el lugar donde se encuentra instalada la JVM (Java Virtual
Machine), y de preferencia, dejando como puerto el 4848 para el acceso del servidor
b) Posteriormente se procede a configurarlo en la computadora. Para esto se crea una
"variable de entorno". Si usas Windows 95/98/2000/XP, se crea modificando el archivo
autoexec.bat ubicado en c:\ (esta como archivo oculto). Su modificacin se hace
agregndole la siguiente lnea:
set classpath = "ruta"

Donde "ruta" es la ubicacin de los archivos jsp-api.jar y servlet-api.jar que se encuentran


en la carpeta: ruta_de_instalacion_del_servidor_tomcat/common/lib.
A continuacin un ejemplo de lnea a agregar al autoexec.bat, suponiendo que el servidor
tomcat se instalo en c:\archivos de programa:
SET CLASSPATH= C:\Archivos de programa\Apache Software Foundation\Tomcat
5.0\common\lib\jsp-api.jar;C:\Archivos de programa\Apache Software
Foundation\Tomcat 5.0\common\lib\jsp-api.jar

Recordando que tambin se le agrega al claspath la direccin del la ruta donde se


encuentra la carpeta \bin del j2sdk (compilador de java).
c) Una vez echo lo anterior, para agregar el primer servlet al sitio, busca el archivo
web.xml, el cual se encuentra en ruta_de_instalacion_del_servidor_tomcat\Apache

Software Foundation\Tomcat 5.0\webapps\ROOT\WEB-INF\ y se le agrega a la carpeta


webapps el nuevo_servlet.class (que es el resultado de la compilacion del
nuevo_servlet.java). Adems hay que aadir estas lneas al archivo web.xml
<servlet>
<servlet-name>nuevo_servlet</servlet-name>
<servlet-class>nuevo_servlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>nuevo_servlet</servlet-name>
<url-pattern>nuevo_servlet</url-pattern>
</servlet-mapping>

Pero como el archivo ya tienen escrito se acomoda de tal manera q queda asi:
<servlet>
<servlet-name>org.apache.jsp.index_jsp</servlet-name>
<servlet-class>org.apache.jsp.index_jsp</servlet-class>
</servlet>
<servlet>
<servlet-name>nuevo_servlet</servlet-name>
<servlet-class>nuevo_servlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>org.apache.jsp.index_jsp</servlet-name>
<url-pattern>/index.jsp</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>nuevo_servlet</servlet-name>
<url-pattern>nuevo_servlet</url-pattern>
</servlet-mapping>

d) Por ltimo se prueba el servlet escribiendo en el explorador


http:\\localhost:484\nuevo_servlet y listo, debera verse el resultado.

S-ar putea să vă placă și