Cursos subvencionados para trabajadores
Realiza el curso gratis a través de tu empresa.
Cursos SubvencionadosTu portal de
formación online
United States
El punto de partida de todo desarrollador de aplicaciones web es la creación de un document root o directorio raíz de aplicación que va a contener a todos sus componentes. Este directorio raíz colgará del directorio raíz de todas las aplicaciones web del servidor J2EE de trabajo.
En el caso de Tomcat, tomcat_home\webapps.
En el caso de JBoss, jboss_home\server\default\deploy
Hecho esto, el desarrollador deberá
NOTA: el contenido de este fichero es fundamental para el despliegue de la aplicación ya que describe al contenedor web sus elementos y el modo en que se accede a los mismos. Además, define aspectos de seguridad, ficheros de bienvenida, parámetros iniciales, parámetros de contexto, etc. Cuando Tomcat (y, en general cualquier servidor J2EE compatible) se levanta, lee este fichero y, si contiene algún tipo de error, se lanzan excepciones que indican que el servidor no se ha levantado correctamente. Este directorio contiene los recursos privados de la aplicación. No son accesibles directamente desde el cliente, en el sentido de que no puede descargárselos y ver su código
Para ilustrar la etapa de desarrollo de una aplicación web, se va a crear la aplicación que se desplegó al principio partiendo de cero. Se recuerda que constaba de un formulario y dos servlets. Su directorio raíz o document root se llamará Prueba.
Estructura de la aplicación web cuyo directorio raíz es Prueba: es la misma que se obtuvo después de desplegar Prueba.war. Se recomienda eliminar el directorio tomcat_home\webapps\Prueba con el fin de volver a realizar la aplicación paso a paso

|
NOTA 1 PARA TRABAJAR CON APLICACIONES WEB EN JCREATORPRO: se indican los
pasos que deben seguirse para realizar la aplicación web Prueba con JCreator El IDE cuenta con una plantilla para crear aplicaciones web que se va a modificar para ajustarla a nuestro modo de trabajo. Para ello se emplean los subdirs de jcreator_home\Templates.
Por último, se editará el fichero setup.tst y se modificará su contenido de forma que quede como el siguiente: ; This file contains the setup information for a template project. [LABEL] Jesus Web Application [DESTPATH] "WEB-INF\classes" [SRCPATH] "src\trilcejf" En la primera línea, en vez de Jesus, poner vuestro nombre. Cuando se cree un nuevo proyecto aparecerá un nuevo icono con la label o etiqueta definida. En la última línea, en vez de trilcejf, cada alumno pondrá el nombre de su correspondiente package de trabajo (en mi caso, trilcejf). Se recomienda mantener el trilcejf para evitar complicaciones en la descarga de las soluciones La estructura de directorios colgando de Templates quedará así:
El directorio src contendrá al subdirectorio trilcejf (estará vacio) y el WEB-INF al subdirectorio lib (estará vacio) |
|
NOTA 2 PARA TRABAJAR CON APLICACIONES WEB EN JCREATORPRO: hecho lo anterior, se explica a continuación la creación de una aplicación web con JCreator basada en la template o plantilla comentada en la nota anterior:
Para ello, se teclea Prueba en Name y se selecciona desde el botón de
puntitos
Los class resultantes de la compilación de los servlets aparecerán en tomcat_home\webapps\Prueba\WEB-INF\classes\trilcejf. Para comprobarlo, ir al menú Project/Project Settings/Output Path y verificar que aparece tomcat_home\webapps\Prueba\WEB-INF\classes. Si, una vez creado el proyecto, no se ve su contenido, picar con el botón dcho sobre él y seleccionar Show All Files A continuación, se proporcionan los fuentes de cada uno de los ficheros mencionados anteriormente para que el alumno desarrolle la aplicación. En posteriores ocasiones, se proporcionará al alumno la aplicaciones web empaquetada en su correspondiente war. El alumno la desplegará y accederá a todos sus componentes desde JCreator. |
Código del fichero descriptor de despliegue de la aplicación (web.xml)
Si alguien no conoce XML, puede consultar http://www10.brinkster.com/trilcejf/XML.pdf

Una vez pulsado el enlace, conviene ir a menú Ver/Código fuente para obtener el contenido sin ningún tipo de formato.
Después del DTD, debe aparecer la etiqueta <web-app>, que va a ser el elemento raíz del fichero XML. El resto de elementos son característicos de una aplicación web J2EE compatible y tienen que estar contenidos entre <web-app> y su cierre </web-app>.
El fichero descriptor de una aplicación web puede contener muchos elementos. En el curso se van a ver sólo los más importantes y utilizados.
Código de FormularioPrueba.html:

Código del servlet trilcejf.ServletPrueba.java:

Código del servlet trilcejf.ServletEnlace.java:

Finalizada la aplicación en JCreator, se tendrá la siguiente estructura:

Finalizada la etapa de desarrollo de la aplicación, el siguiente paso sería empaquetar sus componentes en un fichero war para que pueda ser desplegada en cualquier servidor J2EE compatible con la especificación de los servlets
Para ello, se utiliza la herramienta jar del JDK (es necesario tenerlo instalado y correctamente configurado).
Para comprobar que el JDK está correctamente configurado tiene que aparecer la ruta del directorio jdk_home\bin, en la variable del sistema Path
En mi máquina (monta WXP Professional) el valor de la variable Path es
%SYSTEMROOT%\SYSTEM32;%SYSTEMROOT%;%SYSTEMROOT%\SYSTEM32\WBEM;C:\Archivos de programa\Java\jdk1.5.0_06\bin
Verificado lo anterior, se abre una sesión del DOS, se accede al directorio raíz de la aplicación y se teclea
tomcat_home\webapps\Prueba>jar cvf Prueba.war *
manifest agregado
agregando: FormularioPrueba.html(entrada = 968) (salida= 456)(desinflado 52%)
agregando: Prueba.jcp(entrada = 1270) (salida= 396)(desinflado 68%)
agregando: src/(entrada = 0) (salida= 0)(almacenado 0%)
agregando: src/trilcejf/(entrada = 0) (salida= 0)(almacenado 0%)
agregando: src/trilcejf/ServletEnlace.java(entrada = 653) (salida= 321)(desinflado 50%)
agregando: src/trilcejf/ServletPrueba.java(entrada = 1225) (salida= 519)(desinflado 57%)
agregando: tomcat.gif(entrada = 1934) (salida= 1939)(desinflado 0%)
agregando: WEB-INF/(entrada = 0) (salida= 0)(almacenado 0%)
agregando: WEB-INF/classes/(entrada = 0) (salida= 0)(almacenado 0%)
agregando: WEB-INF/classes/trilcejf/(entrada = 0) (salida= 0)(almacenado 0%)
agregando: WEB-INF/classes/trilcejf/ServletPrueba.class(entrada = 1803) (salida= 976)(desinflado 45%)
agregando: WEB-INF/classes/trilcejf/ServletEnlace.class(entrada = 922) (salida=549)(desinflado 40%)
agregando: WEB-INF/classes/trilcejf/ServletColor.class(entrada = 2443) (salida=1350)(desinflado 44%)
agregando: WEB-INF/web.xml(entrada = 886) (salida= 334)(desinflado 62%)
agregando: WEB-INF/lib/(entrada = 0) (salida= 0)(almacenado 0%)
Finalmente se ubicará Prueba.war en el raíz del servidor (tomcat_home\webapps, si se emplea Tomcat), se levantará y los clientes podrán acceder al index de la aplicación mediante
| NOTA 1: si se modifica el web.xml de la aplicación, no es necesario tumbar al servidor para que la aplicación se actualice. |
|
NOTA 2: observar en la carpeta tomcat_home\logs los ficheros de texto
asociados a los logs. Un log es un flujo de cadenas de texto que indican lo que
sucede durante la ejecución de una aplicación. Este flujo de cadenas puede
almacenarse en un fichero de texto como ocurre aquí. Habitualmente el programador cuando quiere debuggear o verificar el funcionamiento de un servlet, utiliza System.out.println(mensaje). Con esta línea se muestra por consola el mensaje del argumento. Una mejor aproximación, sobre todo en la etapa de producción, es escribir mensajes en el correspondiente fichero log de la aplicación, mediante los métodos void log(String mensaje) de javax.servlet.http.ServletContext o de javax.servlet.GenericServlet La diferencia entre ambos es que con el segundo se muestra el nombre el servlet donde se ha definido el método. También puede utilizarse void log(String mensaje, Throwable t) para mostrar la pila de métodos ejecutados hasta el momento en que se lanza la excepción o error asociado al segundo argumento. |
Así, si se agregan las siguientes líneas al final de trilcejf.ServletPrueba
![]()
se observa en el fichero tomcat_home\logs\localhost_log.2004-03-21.txt las siguientes entradas:
2004-03-21 13:53:45 StandardContext[/Prueba]log mediante el contexto
2004-03-21 13:53:45 StandardContext[/Prueba]ServletPruebaNombre: log mediante el metodo de GenericServlet
Ahora se recomienda realizar el ejercicio 1 del tema
Copyright 2012© ADR Infor S.L. | Tel.: +34 941 250 116 · Fax: +34 941 236 805 · skype: adrformacion.com
Email |
Política de Privacidad |
Aviso Legal |
Área Privada