Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Equipo Docente de Sistemas Informticos III Departamento de Lenguajes y Sistemas Informticos ETS I. INFORMTICA UNED
CONTENIDOS
1. Instalacin de Tomcat 4.1.3.......................................................................................... 3 2. Configuracin y administracin de Tomcat 4..1 ......................................................... 3 3. Estructura de Directorios de una Aplicacin Web ....................................................... 6 4. Creacin de un contexto de aplicacin Web en Tomcat .............................................. 7 4.1 A mano, modificando conf/server.xml ............................................. 7 4.2 Mediante la aplicacin manager ........................................................... 8 5. Modificacin del Descriptor de Despliegue (web.xml)................................................ 8 6. Crear un fichero WAR (Web ARchive) ....................................................................... 9 7. Despliegue de la aplicacin Web................................................................................ 10 8. Enlaces de inters. ...................................................................................................... 11
Para poder acceder a Tomcat como administradores tenemos que modificar el fichero $CATALINA_HOME/conf/tomcat-users.xml, que inicialmente presenta el siguiente contenido. $CATALINA_HOME/conf/tomcat-users.xml
<?xml version='1.0' encoding='utf-8'?> <tomcat-users> <role rolename="tomcat"/> <role rolename="role1"/> <user username="tomcat" password="tomcat" roles="tomcat"/> <user username="both" password="tomcat" roles="tomcat,role1"/> <user username="role1" password="tomcat" roles="role1"/> </tomcat-users>
Introducimos los roles manager y admin. y el usuario admin. con estos dos roles. $CATALINA_HOME/conf/tomcat-users.xml
<?xml version='1.0' encoding='utf-8'?> <tomcat-users> <role rolename="tomcat"/> <role rolename="role1"/> <role rolename="manager"/> <role rolename="admin"/> <user username="tomcat" password="tomcat" roles="tomcat"/> <user username="both" password="tomcat" roles="tomcat,role1"/> <user username="role1" password="tomcat" roles="role1"/> <user username="admin" password="passwordguay1" roles="admin,manager"/> </tomcat-users>
Paramos y arrancamos Tomcat, accedemos a http://localhost:8080/admin, introducimos el usuario admin y su password, y obtenemos la pantalla mostrada en la Fig. 3.
Adems de esta herramienta de administracin, Tomcat nos proporciona una herramienta sencilla para la gestin de las aplicaciones Web existentes en el servidor, llamada manager. sta herramienta es accesible a travs de la direccin URL http://localhost:8080/manager/html. Tanto las herramientas admin y manager se pueden acceder desde http://localhost:8080 y luego en los bloques de enlaces de la parte izquierda desde sendos enlaces existentes dentro del cuadro situado en la parte superior izquierda llamado Administration. La herramienta manager permite realizar tareas sobre las aplicaciones Web tales como parar, arrancar o desplegar de nuevo cada una de las aplicaciones, aadir nuevas aplicaciones, etc.
En la Fig. 5 queda reflejada la estructura de directorios de una aplicacin Web, con los siguientes elementos: Ficheros *.html, *.jsp, ect. - Las pginas HTML y JSP, junto con el resto de ficheros que deben estar visibles para el navegador del cliente (como bibliotecas de JavaScript, hojas de estilo, e imgenes). Es aconsejable dividir estos ficheros en una estructura de subdirectorios adecuada. /WEB-INF/web.xml - Se trata del descriptor de despliegue de la aplicacin Web. Es un fichero XML que describe los Servlets y otros componentes que forman la aplicacin, junto con los parmetros de inicializacin y las reglas de seguridad que queramos que implemente el servidor. Ms adelante describiremos este fichero con ms detalle. /WEB-INF/classes/ - Este directorio contiene los ficheros de clases de Java (y otros recursos asociados) que necesite la aplicacin, incluyendo tanto las clases correspondientes a los Servlets como aquellas que no, y que no estn incluidas en los JAR. Si las clases se organizan en paquetes, debemos reflejar esta jerarqua bajo el directorio /WEB-INF/classes. /WEB-INF/lib/ - Este directorio contiene ficheros JAR que contienen las clases Java (y otros ficheros asociados) que necesita la aplicacin, como bibliotecas externas o drivers JDBC. Para crear una aplicacin Web, empezamos creando esta estructura de directorio. Toma tu fichero de la clase del Servlet compilado y sitala en el directorio WEBINF/classes. Si hemos definido que nuestro Servlet pertenece a un paquete, debemos seguir las reglas estndar de Java y crear los subdirectorios apropiados para que la JVM puedan encontrar nuestras clases. Por ejemplo, si nuestro servlet est definido en un paquete es.uned.informatica.si3.grupo01, deberamos crear la siguiente estructura de directorios:
Una alternativa til para copiar los ficheros de clases al directorio apropiado es configurar nuestro entorno de construccin (mediante Ant o un IDE como Netbeans o Eclipse) para salvar las clases compiladas directamente en los directorios requeridos. Hacer esto nos ahorrar este paso durante el desarrollo.
En l se indica la siguiente informacin: path (obligatorio): determina la URL con la que la aplicacin Web ser accesible (a partir de la direccin y puerto del servidor Web de la mquina): http://direccin_IP/url_aplicacion_web/ docBase (obligatorio): indica la ubicacin de la aplicacin Web dentro del sistema de ficheros. Puede indicarse una ruta relativa a la carpeta $CATALINA_HOME/webapps, exportada por defecto por Tomcat o absoluta, indicando la ubicacin exacta desde el raz. Ejemplos:
./directorio/carpeta_aplicacion_web carpeta_aplicacio_web #relativa #relativa
/directorio/carpeta_aplicacion_web
#absoluta
debug (opcional): indica a Tomcat cuanta informacin de depuracin debe generarse. Admite valores entre 0" y 9", dando ms informacin cuanto mayor sea su valor (por defecto toma el valor 0", informacin mnima). reloadable (opcional): si est activo, har que Tomcat compruebe si se han producido cambios en los ficheros fuente (.class del subdirectorio classes o .jar del subdirectorio lib), recargando la aplicacin automticamente si los hubiese. Esto reduce el rendimiento, por lo que su valor por defecto es false; sin embargo, resulta muy recomendable activarlo durante el proceso de desarrollo de las pginas. trusted (opcional): indica si la aplicacin Web tiene permiso para acceder a las clases internas de Tomcat. Esta operacin suele estar reservada al administrador admin de Tomcat, por lo que por defecto toma el valor false.
4.2
Tomcat 4.1.3 y superior incluye una aplicacin web, desplegada por defecto en la ruta /manager, que permite desplegar y eliminar aplicaciones web en un servidor Tomcat ya iniciado sin tener que reiniciarlo.
Tambin estn permitidas antes de la etiqueta de cierre </servlet> varias etiquetas opcionales, que definen las propiedades de ejecucin del servlet. Estas etiquetas definen propiedades como parmetros de inicializacin, si el servlet debera o no cargarse en el inicio, los roles de seguridad, y otras propiedades. La correspondencia entre el nombre del servlet y la manera de accederlo a travs de una URL es realizada mediante el elemento servlet-mapping. En el fichero web.xml, esta correpondencia se realiza de la siguiente manera. Notar que el servlet-name debe coincidir con el sub-elemento servlet-name del elemento servlet que hemos visto arriba. Esta suele ser una habitual fuente de errores al principio. $CATALINA_HOME/webapps/<webApp name>/WEB-INF/web.xml
<servlet-mapping> <servlet-name>nombre</servlet-name> <url-pattern>pattern</url-pattern> </servlet-mapping>
Abajo aparece un descriptor de despliegue completo, al cul se accedera mediante http://<host>:<port>/<contextApp>/SampleServlet. $CATALINA_HOME/webapps/< contextApp >/WEB-INF/web.xml
<?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd"> <web-app> <servlet> <servlet-name>RequestDetails</servlet-name> <servlet-class>org.stevengould.javaworld.RequestDetails</servlet-class> </servlet> <servlet-mapping> <servlet-name>RequestDetails</servlet-name> <url-pattern>SampleServlet</url-pattern> </servlet-mapping> </web-app>
1) Las declaraciones existentes en el fichero XML de contexto se despliegan en primer lugar. 2) Aquellas aplicaciones web descomprimidas que no estn referenciadas en las declaraciones del fichero XML de contexto sern desplegadas a continuacin; si tienen un fichero WAR asociado y es ms reciente que la aplicacin web descomprimida, el directorio descomprimido se borrar y la aplicacin web se volver a desplegar a partir del fichero WAR. 3) Se despliegan las aplicaciones almacenadas en ficheros WAR. 4) Para cada aplicacin desplegada, se crear el descriptor XML de contexto (distinto al descriptor de despliegue) correspondiente a menos que ya exista uno. Si el servidor Tomcat ya est iniciado y la propiedad "autoDeploy" tiene el valor true, el servidor intentar desplegar y actualizar las aplicaciones web dinmicamente, cuando sea necesario. El servidor necesitar en este caso tener un proceso en segundo plano que se encargue de realizar este trabajo (que es lo que ocurre por defecto). Este proceso incluye: Despliegue de ficheros WAR que se copien al directorio de aplicaciones del servidor. Despliegue de aplicaciones web descomprimidas que se copien al directorio de aplicaciones del servidor. Re-despliegue de aplicaciones web desplegadas a partir de un fichero WAR cuando dicho fichero se actualice: se eliminar la aplicacin descomprimida, y el fichero WAR se volver a descomprimir de nuevo. Esto no pasar si el servidor est configurado para que los ficheros WAR no se descompriman, de modo que la aplicacin web simplemente se volver a desplegar. Volver a desplegar una aplicacin si el fichero /WEB-INF/web.xml se actualiza. Volver a desplegar una aplicacin web si el fichero XML de contexto desde el que se ha desplegado se actualiza.
8. Enlaces de inters.
Eclipse http://www.eclipse.org/ Desplegar Servlets y Aplicaciones Web en Tomcat y WebLogic Server http://www.programacion.com/articulo/desp_servlets/ HOW-TO: Instalacin y configuracin de Tomcat 5 http://www.agiles.org/index.php?module=subjects&func=printpage&pageid=21&scope =all Java http://java.sun.com Netbeans http://www.netbeans.org/ Primeros pasos con Tomcat http://bulma.net/body.phtml?nIdNoticia=1888 Software proporcionado por Sistemas Informticos III http://www.ii.uned.es/cdrom/2004-05/mat-doc-2-ciclo/asig/quinto/sisinfiii/software/ Tomcat http://jakarta.apache.org/tomcat/
11