Home UC3M
Home IT
Home /Docencia /Ing. de Telecomunicación Esp. Telemática /Sistemas de Información /Práctica T4
anterior siguiente

Práctica T4: Servlets

Fecha: 20 de Octubre de 2005
Conceptos: servlets, instalación de Tomcat
Diseño: Jesús Arias Fisteus, , Celeste Campo Vázquez,

 Instalación de Tomcat

El servidor Tomcat es una implementación de referencia de las tecnologías Java Servlet y JavaServer Pages (JSP). Es un subproyecto del Proyecto Jakarta, una iniciativa de Apache para crear soluciones de servidor abiertas basadas en la plataforma Java. Antes de comenzar las prácticas de hoy, tendréis que instalar el servidor Tomcat en vuestras cuentas. Para ello debéis seguir los siguientes pasos:

  • Descargar el fichero jakarta-tomcat-4.0.4.tar.gz al directorio temporal (/tmp).

  • Extraer los ficheros de Tomcat en algún directorio de vuestra cuenta, para ello una vez situados en el directorio ejecutad el comando:
    tar xvzf /tmp/jakarta-tomcat-4.1.12-LE-jdk14.tar.gz
    se creará un nuevo subdirectorio llamado jakarta-tomcat-4.1.12-LE-jdk14.

  • Establecer la variable de entorno CATALINA_HOME para que apunte al directorio donde hemos instalado nuestro servidor Tomcat.

  • Añadir el directorio ${CATALINA_HOME}/bin a la variable de entorno PATH.

  • Establecer la variable de entorno JAVA_HOME para que apunte al directorio donde está instalado Java 1.4.2 (en el laboratorio este directorio es /usr/local/j2ee/jdk/).

  • Añadir el directorio ${JAVA_HOME}/bin a la variable de entorno PATH.
Ahora ya podemos ejecutar el servidor Tomcat y empezar a probar nuestros primeros servlets.

Instrucciones de arranque y parada de Tomcat

Las instrucciones para parar y arrancar el servidor Tomcat son las siguientes:

  • El script de arranque se encuentra en el directorio bin de la instalación del Tomcat, como hemos incluido esta ruta en nuestra variable de entorno PATH será suficiente ejecutar en la shell:
    startup.sh
  • Del mismo modo, para parar el servidor se debe ejecutar el siguiente comando en la shell:
    shutdown.sh

Para comprobar que vuestra instalación ha sido satisfactoria, arrancad el servidor Tomcat y desde un navegador conectaros a la URL: http://localhost:8080 si podeis ver la página principal de Tomcat, la instalación ha sido correcta.



 EJERCICIO 1: Servlet Hola Mundo

En este ejercicio vamos a ver cómo se desarrolla y se despliega un servlet sencillo, el servlet "Hola Mundo". Para ello debemos realizar las siguientes tareas:

  1. Codificar y compilar el servlet.
  2. Desplegar el servlet en Tomcat.
  3. Ejecutar el servlet y visualizar contenidos estáticos.
  • Tarea 1: Codificar y compilar el servlet.

  • En este primer ejercicio se os proporciona el código del servlet, que podéis descargar desde el enlace HolaMundo.java.
    Para compilar un servlet, se necesita la API de Servlet, disponible en vuestra instalación de tomcat, en el fichero common/lib/servlet.jar. Se recomienda incluirla en la variable de entorno CLASSPATH, o compilar con la opción -classpath, por ejemplo:
    javac -classpath ${CATALINA_HOME}/common/lib/servlet.jar:. HolaMundo.java

  • Tarea 2: Desplegar el servlet en Tomcat
  • Desplegar un servlet consiste en incluir una serie de ficheros en un contenedor web (por ejemplo, Tomcat) para que los clientes puedan acceder a su funcionalidad. Normalmente, el desarrollo de un servlet forma parte de lo que se denomina una aplicación Web, que no es más que una colección de servlets, páginas HTML, JSP, clases y otros recursos que se pueden empaquetar y ejecutar en distintos contenedores web, de distintos fabricantes, y que ofrecen una determinada funcionalidad a la que los clientes acceden tipicamente a través de un navegador. Las Aplicaciones Web, a partir de la especificación de Servlet 2.2, deben estructurarse según la siguiente jerarquía de subdirectorios:

    • Directorio raíz: puedes publicar ficheros estáticos (HTML, imágenes, hojas de estilo, etc.) y JSPs.

      • Directorio WEB-INF: debe contener un fichero web.xml. Este fichero configura la aplicación. Por ejemplo, permite declarar servlets, asignarles parámetros de inicio, declarar alias y filtros, etc.

        • Directorio classes: puedes colocar en él los ficheros compilados (servlets, beans, etc.) de las clases utilizadas por la aplicación web.

        • Directorio lib: puedes colocar en él otras bibliotecas de clases adicionales (comprimidas con jar) que utilice tu aplicación.

      • Resto de subdirectorios: para ficheros estáticos y JSP.

    Para exportar aplicaciones web a otros servidores, puedes comprimir esta estructura de directorios, utilizando jar, dando lugar así a un fichero WAR (almacénalo con extensión war, por ejemplo practica5.war). Este fichero es compatible con cualquier plataforma de ejecución de servlets y JSP.

    Para desplegar nuestro servlet de ejemplo crearemos un contexto para nuestra aplicación web, denominado practica5, crear un contexto en Tomcat no es más que crear un directorio debajo de ${CATALINA_HOME}/webapps/. Este directorio se corresponde con el directorio raíz de nuestra aplicación web y, por lo tanto, debajo de él debemos crear la estructura de subdirectorios indicada anteriormente.

    Nota: El nombre del contexto es el primer nivel de la jerarquía de la ruta de acceso a nuestra aplicación, que en este caso será:

    http://localhost:8080/practica5/path_recurso
    El fichero de despliegue, para este ejemplo, lo podeis descargar del enlace web.xml. También se os proporcionan una serie de ficheros estáticos estatico.html y tomcat.gif para que veais cómo se accede a ellos. Situad correctamente todos estos ficheros, junto con el HolaMundo.class, en la estructura de directorios creada.
        ${CATALINA_HOME}/webapps +-- practica5 +-- WEB-INF +-- web.xml
                                               |           +-- classes +-- HolaMundo.class
                                               +-- estatico.html
                                               |
                                               +-- tomcat.gif
    
                  
  • Tarea 3: Ejecutar el servlet y visualizar contenidos estáticos

  • Si arrancamos un navegador y nos conectamos a la URL http://localhost:8080/practica5/servlet/hola activaremos nuestro servlet de ejemplo y se mostrará la página XHTML con el mensaje ¡Hola Mundo!. Para ver los contenidos estáticos tendremos que conectarnos a las URL http://localhost:8080/practica5/estatico.html

NOTA: Analizad el código del servlet proporcionado, así como el del fichero web.xml (sobre todo la parte correspondiente a la declaración del servlet hola).

Modificación

Modifica el servlet anterior para que devuelva, además del saludo, la siguiente información:

  • Dirección IP del cliente.
  • Contenido de la cabecera User-Agent.
  • Fecha y hora del servidor.


 EJERCICIO 2: Parámetros de la petición

Realizad un formulario XHTML1.1 en el que se le solicite al usuario: su nombre, primer y segundo apellido y dirección. Escribe un servlet que muestre un resumen de la información enviada por dicho formulario. Comprueba que funcione correctamente.

Para acceder al nuevo servlet tienes dos opciones:

  • Declarar un nuevo elemento servlet en web.xml, con su alias asociado (accesible mediante /practica5/servlet/alias).
  • No modificar web.xml, y ejecutar el servlet mediante el nombre de su clase. Por ejemplo, si la clase se llama FormularioUsuario, debes copiar FormularioUsuario.class en WEB-INF/classes y solicitar el recurso /practica5/servlet/FormularioUsuario al servidor.


 Referencias

Especificaciones:

Otros:

Software:



Última actualización:

Localización |Personal |Docencia |Investigación |Novedades |Intranet
inicio | mapa del web | contacta