Вы находитесь на странице: 1из 374

Gua del desarrollador de aplicaciones web

JBuilder X

Borland Software Corporation 100 Enterprise Way Scotts Valley, California 95066-3249 www.borland.com Consulte el archivo deploy.html ubicado en el directorio redist de su producto JBuilder para acceder a una lista completa de archivos que puede distribuir de acuerdo con su Declaracin de licencia y Garanta limitada de JBuilder. Borland Software Corporation puede tener patentes y/o solicitudes de patente pendientes en lo relativo a los asuntos tratados en este documento. Consulte el CD del producto o el cuadro de dilogo Acerca de para ver la lista de patentes aplicables. La entrega de este documento no supone la cesin de ninguna licencia sobre estas patentes. Copyright 19972004 Borland Software Corporation. Reservados todos los derechos. Todas las marcas y nombres de productos Borland son marcas comerciales o registradas de Borland Sofware Corporation en los Estados Unidos y en otros pases. Las dems marcas pertenecen a sus respectivos propietarios. Para conocer las condiciones y limitaciones de responsabilidad de terceros, consulte las Notas de la versin en el CD de JBuilder. Impreso en los EEUU. JXE0010WW21002webapps 5E6R1103 0304050607-9 8 7 6 5 4 3 2 1 PDF

ndice de materias
Captulo 1

Introduccin
Convenciones de la documentacin . . . . Asistencia y recursos para desarrolladores . El servicio de asistencia tcnica de Borland . . . . . . . . . . . . . . . . . Recursos en lnea . . . . . . . . . . . . World Wide Web . . . . . . . . . . . . . Grupos de noticias de Borland . . . . . . Usenet, grupos de noticias . . . . . . . . Informacin sobre errores . . . . . . . .

1-1
. . 1-3 . . 1-5 . . . . . . . 1-5 . 1-5 . 1-5 . 1-6 . 1-6 . 1-6

La ficha Generar . . . . La ficha Contenido . . . La ficha Distribucin . . El archivo WAR . . . . . . . . Applets en el archivo WAR

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

3-13 3-14 3-19 3-19 3-21

Captulo 4

Los servlets
Servlets y JSP . . . . . . . . . . . . . . . Servlets y servidores web. . . . . . . . . . La API de servlet . . . . . . . . . . . . . . El paquete servlet.HTTP. . . . . . . . . El ciclo de vida de los servlets . . . . . . . Construccin e inicializacin del servlet . Gestin de las peticiones del cliente . . Servlets y multihilo. . . . . . . . . . . . Destruccin de un servlet . . . . . . . . Servlets con enlace a HTML . . . . . . . . Servlets especficos para HTTP . . . . . . Cmo se utilizan los servlets . . . . . . . . Distribucin de servlets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4-1
4-2 4-3 4-3 4-4 4-4 4-4 4-5 4-5 4-5 4-5 4-6 4-6 4-7

Captulo 2

Introduccin general al proceso de desarrollo de aplicaciones web 2-1


Servlets . . . . . . . . . . . . . . . . . . . . Pginas JavaServer (JSP) . . . . . . . . . . Struts . . . . . . . . . . . . . . . . . . . . . JSTL (Biblioteca de etiquetas estndar para Pginas JavaServer). . . . . . . . . . . . . InternetBeans Express . . . . . . . . . . . . Applets . . . . . . . . . . . . . . . . . . . . Java Web Start . . . . . . . . . . . . . . . . Qu tecnologas utilizar en su aplicacin web El proceso bsico de desarrollo de aplicaciones web. . . . . . . . . . . . . . . Aplicaciones web y aplicaciones distribuidas . . 2-2 . 2-3 . 2-5 . 2-5 . 2-6 . 2-6 . 2-7 . 2-7 . 2-8 . 2-9

Captulo 5

Los servlets en JBuilder

5-1

Captulo 3

Los mdulos web y los archivos WAR


Los mdulos web . . . . . . . . . . . . . . . Archivos recopilatorios web (WAR) . . . . . . Herramientas para trabajar con mdulos web y archivos WAR . . . . . . . . . . . . . . . Creacin de mdulos web con el Asistente para mdulos web . . . . . . . . . . . . . . El mdulo web y sus propiedades. . . . . . . Directorio del mdulo. . . . . . . . . . . . Descriptores de distribucin . . . . . . . . Propiedades de Mdulo Web . . . . . . . La ficha Mdulo . . . . . . . . . . . . . La ficha Web . . . . . . . . . . . . . . La ficha Limpiar . . . . . . . . . . . . .

3-1
. 3-1 . 3-2 . 3-2 . 3-3 . 3-7 . 3-8 . 3-9 3-10 3-10 3-11 3-12

Opciones del Asistente para servlets . . . . . . 5-1 Ficha Seleccione el nombre y el tipo de servlet . . . . . . . . . . . . . . . . . . . 5-2 Ficha Modificar detalles del servlet estndar . . . . . . . . . . . . . . . . . . 5-3 Opcin Servlet genera contenido de tipo. 5-4 Opciones de Implementar mtodos . . . 5-5 Opcin Generar archivo HTML con el formulario . . . . . . . . . . . . . . . . 5-6 Ficha Introduzca los detalles del servlet monitor . . . . . . . . . . . . . . . . . 5-6 Ficha Introduzca los parmetros de la peticin del servlet . . . . . . . . . . . . . 5-7 Ficha Introduzca los detalles de webapp . . 5-8 Ficha Introduzca los detalles de WebApp (Servlets de filtro) . . . . . . 5-10 Ficha Definir configuracin de servlet . . . 5-11 Cmo llamar a los servlets . . . . . . . . . . 5-11 Llamada a un servlet desde una ventana de un visualizador . . . . . . . . . . . . 5-12

Llamada a un servlet desde una pgina HTML . . . . . . . . . . . . . . . . . . . 5-13 Internacionalizacin de servlets . . . . . . . . 5-13 Escritura de servlets enlazados a datos. . . . 5-14

Captulo 6

Desarrollo de Pginas JavaServer


Etiquetas JSP . . . . . . . . . . . . . . . . . Marcos de trabajo y bibliotecas de etiquetas JSP . . . . . . . . . . . . . . . . . . . . . JSP en JBuilder . . . . . . . . . . . . . . . . Las bibliotecas de etiquetas JSP y los marcos de trabajo en JBuilder . . . . . . Utilizacin del cuadro de dilogo Configurar bibliotecas para gestionar los marcos de trabajo definidos por el usuario . . . . . . . . . . . . . . . . Desarrollo de las JSP . . . . . . . . . . . El Asistente para JSP . . . . . . . . . . Compilacin de las JSP . . . . . . . . . . Ejecucin web de las JSP . . . . . . . . . Depurar pginas JSP . . . . . . . . . . . Configuracin de ejecucin para depuracin de JSP . . . . . . . . . . El directorio de trabajo Tomcat de su proyecto . . . . . . . . . . . . . . . . Intercambio inteligente y depuracin de JSP. . . . . . . . . . . . . . . . . Depuracin de JSP en subdirectorios . Depuracin de JSP con nombres iguales . . . . . . . . . . . . . . . . . Depuracin remota de JSP . . . . . . . Distribucin de las JSP. . . . . . . . . . . Recursos adicionales de JSP . . . . . . . . .

6-1
. 6-3 . 6-4 . 6-5 . 6-5

. 6-6 6-10 6-10 6-13 6-13 6-14 6-15 6-15 6-15 6-16 6-16 6-16 6-17 6-17

Ficha Mdulo web e informacin de clases para ActionForm . . . . . . . . Ficha Definicin de campos para ActionForm . . . . . . . . . . . . . . Ficha Seleccin de opciones adicionales . . . . . . . . . . . . . . Asistente para Action . . . . . . . . . . . Ficha Nombre y mdulo web para Action . . . . . . . . . . . . . . . . . Ficha Informacin de configuracin . . Asistente para JSP a partir de ActionForm Ficha WebApp, JSP y ActionForm . . . Ficha Tipos de etiquetas para campos ActionForm . . . . . . . . . . . . . . Ficha Indique las opciones para crear esta JSP Struts . . . . . . . . . . . . Asistente para conversin de Struts . . . . Ficha Indique las pginas para su conversin a Struts . . . . . . . . . . Ficha Etiquetas que se han de convertir. . . . . . . . . . . . . . . . Ficha Especifique las opciones para convertir etiquetas a Struts . . . . . . Editor de configuracin de Struts . . . . . El Editor de configuracin de Tiles . . . . Creacin de una aplicacin web preparada para Struts en JBuilder . . . . . . . . . . . Apertura del proyecto Blank de Struts en JBuilder . . . . . . . . . . . . . . . . .

7-10 7-11 7-11 7-12 7-12 7-13 7-13 7-13 7-14 7-15 7-15 7-16 7-16 7-17 7-18 7-19 7-19 7-22

Captulo 8

Las aplicaciones web en IDE de JBuilder

8-1

Captulo 7

El marco de trabajo Struts en JBuilder


Herramientas de JBuilder para Struts . . . . . Vista de Struts en el panel del proyecto . . Adicin de descriptores de distribucin Struts al mdulo web . . . . . . . . . . . Registro de descriptores de distribucin Struts . . . . . . . . . . . . . . . . . . . Aceptacin del marco de trabajo Struts . . Asistente para mdulos web habilitado para Struts . . . . . . . . . . . . . . . . Asistente para JSP preparado para Struts . Asistente para ActionForm . . . . . . . . .

7-1
. 7-2 . 7-3 . 7-4 . 7-4 . 7-7 . 7-8 . 7-9 7-10 ii

Creacin de una configuracin de ejecucin . . 8-2 Creacin de una configuracin de ejecucin con los asistentes . . . . . . . . . . . . . 8-2 Creacin de una configuracin de ejecucin de applets . . . . . . . . . . . . . . . . . 8-3 Creacin de una configuracin de ejecucin del servidor. . . . . . . . . . . . . . . . . 8-5 Cmo los URL ejecutan los servlets . . 8-10 Configuracin de propiedades de ejecucin . 8-13 Configuracin del IDE para ejecutar/depurar web . . . . . . . . . . . . . . . . . . . . . 8-14 Compilacin de servlets o JSP . . . . . . . . 8-15 Ejecucin web de un servlet o una JSP . . . 8-16 Inicio del servidor web . . . . . . . . . . . 8-17 Ver web. . . . . . . . . . . . . . . . . 8-18 Ver cdigo fuente web . . . . . . . . . 8-19

Detencin del servidor web . . . . . . . . 8-19 Depuracin web del servlet o de la JSP. . . . 8-20

Captulo 11

Captulo 9

Modificacin del archivo strutsconfig.xml


El editor de configuracin de Struts. . . . . Configuracin de propiedades. . . . . . El men contextual del Editor de configuracin de Struts. . . . . . . . . Ficha Fuentes de datos (Editor de configuracin de Struts) . . . . . . . . . . Men contextual de la ficha Fuentes de datos . . . . . . . . . . . . . . . . . . Ficha Form Beans (Editor de configuracin de Struts) . . . . . . . . . . . . . . . . . Ficha de visin general . . . . . . . . . Ficha Diseador de Form Bean . . . . . Ficha General . . . . . . . . . . . . . . Men contextual de la ficha Form Beans Ficha Form Property . . . . . . . . . . . Ficha Excepciones globales (Editor de configuracin de Struts) . . . . . . . . . . Men contextual de Excepciones globales . . . . . . . . . . . . . . . . Ficha Reenvos globales (Editor de configuracin de Struts) . . . . . . . . . . Men contextual de Reenvos globales . Ficha Action (Editor de configuracin de Struts) . . . . . . . . . . . . . . . . . . . Ficha de visin general . . . . . . . . . Ficha Diseador de Action. . . . . . . . Ficha General . . . . . . . . . . . . . . Men contextual de Actions . . . . . . . Ficha Controlador (Editor de configuracin de Struts) . . . . . . . . . . . . . . . . . Configuracin de las propiedades Set. . Ficha Recursos de mensajes (Editor de configuracin de Struts) . . . . . . . . . . Men contextual de Recursos de mensajes . . . . . . . . . . . . . . . . Ficha Plug Ins (Editor de configuracin de Struts) . . . . . . . . . . . . . . . . . . . Men contextual de Plug Ins . . . . . . Modificacin del archivo tiles-def.xml . . . . Ficha de visin general . . . . . . . . . Ficha Diseador de Tiles . . . . . . . . Ficha General . . . . . . . . . . . . . . Configuracin de los atributos de las propiedades . . . . . . . . . . . . . . Men contextual de Definition de Tiles .

11-1
. 11-2 . 11-3 . 11-4 . 11-4 . 11-7 . 11-7 . 11-8 . 11-8 . 11-9 .11-11 .11-11 .11-13 .11-16 .11-16 .11-19 .11-19 .11-19 .11-20 .11-21 .11-24 .11-24 .11-28 .11-28 .11-31 .11-31 .11-33 .11-34 .11-34 .11-35 .11-36 .11-38 .11-38

Distribucin de aplicaciones web


Aspectos generales . . . . . . . . . . . . Archivos recopilatorios . . . . . . . . . Descriptores de distribucin . . . . . . Applets . . . . . . . . . . . . . . . . . Servlets . . . . . . . . . . . . . . . . JSP . . . . . . . . . . . . . . . . . . . Comprobacin de su aplicacin web. . Modificacin del descriptor de distribucin Edicin de descriptores de distribucin especficos de un fabricante . . . . . . . . . . . Mas informacin sobre descriptores de distribucin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9-1
. 9-1 . 9-1 . 9-2 . 9-2 . 9-2 . 9-3 . 9-3 . 9-4

. . . 9-4 . . . 9-5

Captulo 10

Modificacin del archivo web.xml 10-1


Men contextual del Editor DD de Mdulo Web . . . . . . . . . . . . . . . . . . . . Ficha Aplicaciones Web . . . . . . . . . . . Ficha Parmetros de contexto . . . . . . . Ficha Referencias EJB . . . . . . . . . . . Ficha Referencias locales del EJB . . . . . Ficha Entradas de entorno . . . . . . . . . Ficha Pginas de error . . . . . . . . . . . Ficha Filtros . . . . . . . . . . . . . . . . . Parmetros de inicializacin . . . . . . . Ficha Mapeos de filtros . . . . . . . . . . . Ficha Monitores . . . . . . . . . . . . . . . Ficha Mapeos MIME . . . . . . . . . . . . Ficha Referencias del entorno de recursos . Ficha Referencias de recurso . . . . . . . . Ficha Restricciones de seguridad . . . . . . Ficha Colecciones de recursos web . . . Ficha Servlets . . . . . . . . . . . . . . . . Parmetros de inicializacin . . . . . . . Referencias de competencia de seguridad . . . . . . . . . . . . . . . . Ficha Mapeos de servlets . . . . . . . . . . Ficha Competencias de seguridad . . . . . Ficha Bibliotecas de etiquetas. . . . . . . . . 10-2 . 10-2 . 10-4 . 10-4 . 10-5 . 10-6 . 10-6 . 10-7 . 10-8 . 10-8 . 10-9 10-10 10-11 10-11 10-12 10-13 10-14 10-16 10-16 10-17 10-18 10-18

iii

Captulo 12

Los diseadores de Struts


El Inspector . . . . . . . . . . . . . . . . El men contextual . . . . . . . . . . . . Arrastre de elementos desde el panel de estructura o el panel del proyecto . . . . Diseador de Action . . . . . . . . . . . . Adicin de un Form Bean a una Action Adicin de un destino de reenvo a una Action . . . . . . . . . . . . . . . . . Adicin de recursos de entrada a una Action . . . . . . . . . . . . . . . . . Adicin de excepciones a una Action . Presentacin de la clase de implementacin . . . . . . . . . . . . El Inspector de Action . . . . . . . . . Diseador de Form Bean . . . . . . . . . Adicin de un Form Bean a una Action Adicin de una propiedad Action Form (Form Bean) a un Form Bean . . . . . . . . . . . Presentacin de la clase de implementacin . . . . . . . . . . . . El inspector de Form Bean . . . . . . . Diseador de Tiles . . . . . . . . . . . . Adicin de definiciones del superior a una definicin . . . . . . . . . . . . . Adicin de un Put a una Definition . . . El inspector de Tiles . . . . . . . . . .

12-1
. . 12-3 . . 12-4 . . 12-4 . . 12-5 . . 12-6 . . 12-7 . . 12-8 . . 12-8 . . . . . 12-9 . 12-9 12-10 12-11

. 12-12 . 12-13 . 12-13 . 12-13 . 12-15 . 12-16 . 12-16

Captulo 13

InternetBeans Express
Descripcin general de las clases de InternetBeans Express. . . . . . . . . . Utilizacin de InternetBeans Express con servlets . . . . . . . . . . . . . . . . . Envo de datos con servlets mediante InternetBeans Express . . . . . . . . Anlisis de pginas . . . . . . . . . . Generacin de tablas . . . . . . . . . Utilizacin de InternetBeans Express con JSP . . . . . . . . . . . . . . . . . . . Tabla de etiquetas de InternetBeans . Formato de internetbeans.tld. . . . . .

13-1
. . 13-2 . . 13-4 . . 13-4 . . 13-4 . . 13-5 . . 13-5 . . 13-7 . . 13-8

La <etiqueta> applet . . . . . . . . . . . . . 14-2 Etiqueta <applet> de ejemplo . . . . . . . 14-2 Atributos de las etiquetas <applet> . . . . 14-3 Errores habituales en la etiqueta <applet> 14-4 Los navegadores . . . . . . . . . . . . . . . 14-5 Compatibilidad con Java. . . . . . . . . . 14-5 Obtencin del navegador apropiado. . . . 14-6 Compatibilidad con varios navegadores. . 14-6 Diferencias en la implementacin de Java 14-6 Soluciones a los problemas con los navegadores . . . . . . . . . . . . . . . 14-7 Consejos adicionales para que funcionen las applets . . . . . . . . . . . . . . . . . . 14-8 La seguridad y el Administrador de seguridad . . . . . . . . . . . . . . . . . .14-10 El espacio de contencin . . . . . . . . .14-10 Restricciones de las applets . . . . . . . .14-11 Soluciones a problemas de seguridad. . .14-11 Utilizacin de bibliotecas de terceros . . . . .14-13 Distribucin de las applets . . . . . . . . . .14-13 Comprobacin de las applets . . . . . . . . .14-14 Pasos bsicos de la comprobacin . . . .14-14 Comprobacin en los navegadores . . . .14-15 JBuilder y las applets . . . . . . . . . . . . .14-16 Creacin de applets con el Asistente para applets . . . . . . . . . . . . . . .14-16 Ejecucin de applets. . . . . . . . . . . .14-20 El Appletestbed de JBuilder y el appletviewer de Sun . . . . . . . . .14-20 Ejecucin de applets JDK 1.1.x en JBuilder . . . . . . . . . . . . . . . .14-21 Ejecucin de applets JDK 1.2 en JBuilder . . . . . . . . . . . . . . . .14-21 Depuracin de applets. . . . . . . . . . .14-22 Depuracin de applets en el Plug-in de Java . . . . . . . . . . . . . . . .14-23 Distribucin de applets en JBuilder . . . .14-24

Captulo 15

JBuilder con Tomcat


Seleccin de Tomcat como servidor web del proyecto . . . . . . . . . . . . . . . . . . . Ejecucin de servlets y JSP con Tomcat . . . Inicio de Tomcat . . . . . . . . . . . . . . Detencin de Tomcat . . . . . . . . . . . Cambio del nmero de puerto de Tomcat . Creacin de un archivo personalizado server.xml con Tomcat . . . . . . . . . .

15-1
15-3 15-3 15-4 15-4 15-4 15-5

Captulo 14

Las applets

14-1

Cmo funcionan las applets . . . . . . . . . . 14-2

iv

Depuracin de pginas JSP con Tomcat 4.1 . . . . . . . . . . . . . . . . 15-6

Captulo 16

Paso 3: Creacin del servlet con el Asistente para servlets. . . . . . . . . . . . . . . . . 18-5 Paso 4: Adicin de cdigo al servlet . . . . . 18-8 Paso 5: Compilacin y ejecucin del servlet . 18-9

Ejecucin de aplicaciones web con Java Web Start


Consideraciones sobre las aplicaciones Java Web Start . . . . . . . . . . . . . . Instalacin de Java Web Start. . . . . . . . Java Web Start y JBuilder . . . . . . . . . . El archivo JAR de la aplicacin . . . . . El archivo JNLP y la pgina de inicio de la aplicacin . . . . . . . . . . . . . . . . . .

16-1
16-2 16-3 16-4 16-6

Captulo 19

Tutorial: Creacin de una JSP mediante el Asistente para JSP


Paso 1: Creacin de proyectos . . . . . . . Paso 2: Seleccin de un servidor . . . . . . Paso 3: Creacin de un mdulo web . . . . Paso 4: Creacin de la JSP. . . . . . . . . Paso 5: Adicin de funciones al JavaBean . Paso 6: Modificacin del cdigo de la JSP . Paso 7: Ejecucin de la pgina JSP . . . . Utilizacin de la pestaa Vista web . . . Depuracin de las JSP . . . . . . . . . Distribucin de la JSP . . . . . . . . . . . . . . . . . . . .

19-1
19-2 19-2 19-2 19-4 19-5 19-6 19-7 19-8 19-9 19-9

. 16-6

Captulo 17

Sugerencias sobre aplicaciones web


Creacin de una JSP en un subdirectorio del mdulo web . . . . . . . . . . . . . . Creacin de JSP con nombres iguales . . . Especificacin de un directorio para un servlet generado a partir de una JSP . . . Cambio del nmero de puerto del servidor web . . . . . . . . . . . . . . . . . . . . Adicin de un archivo XML especfico del servidor al archivo WAR . . . . . . . . . . Adicin de otros tipos de archivo al mdulo web e inclusin en el archivo WAR . . . . Presentacin del contenido del directorio WEB-INF. . . . . . . . . . . . . . . . . . Desactivacin de la generacin automtica del archivo WAR . . . . . . . . . . . . . . Comprobacin de una aplicacin web en un navegador externo . . . . . . . . . . . . . Apertura de un diseador de Struts . . . . . Apertura del diseador de Tiles . . . . . . . Creacin de un archivo tiles-def.xml . . . . Creacin de un archivo validation.xml. . . . Adicin y registro de descriptores de distribucin. . . . . . . . . . . . . . . . .

17-1
. 17-1 . 17-2 . 17-2 . 17-2 . 17-3 . 17-3 . 17-4 . 17-4 . . . . . 17-5 17-5 17-6 17-6 17-6

Captulo 20

Tutorial: Creacin de una JSP con InternetBeans Express 20-1


Paso 1: Creacin de proyectos . . . . . . . Paso 2: Seleccin de un servidor . . . . . . Paso 3: Creacin de un mdulo web . . . . Paso 4: Utilizacin del Asistente para JSP . Paso 5: Diseo de la parte HTML de la JSP Paso 6: Adicin de la etiqueta de base de datos de InternetBeans . . . . . . . . . . Paso 7: Adicin de la etiqueta consulta de InternetBeans . . . . . . . . . . . . . . . Paso 8: Adicin de la etiqueta de tabla de InternetBeans . . . . . . . . . . . . . . . Paso 9: Adicin de las etiquetas de control de InternetBeans . . . . . . . . . . . . . Paso 10: Adicin de la etiqueta de envo de InternetBeans . . . . . . . . . . . . . . . Paso 11: Adicin del mtodo submitPerformed() . . . . . . . . . . . . Paso 12: Adicin del cdigo para insertar una fila. . . . . . . . . . . . . . . . . . . Paso 13: Adicin de la biblioteca JDataStore Server al proyecto . . . . . . Paso 14: Ejecucin de la pgina JSP. . . . Distribucin de la JSP . . . . . . . . . . . . . . . 20-2 20-2 20-2 20-4 20-6

. 20-7 . 20-8 . 20-8 . 20-9 .20-10 .20-10 .20-11 .20-11 .20-12 .20-13

. 17-6

Captulo 18

Tutorial: Creacin de un servlet simple

18-1

Paso 1: Creacin del proyecto y seleccin del servidor . . . . . . . . . . . . . . . . . 18-2 Paso 2: Creacin del mdulo web. . . . . . . 18-3

Captulo 21

Tutorial: Ejecucin de CheckBoxControl con Java Web Start


Paso 1: Abrir y configurar el proyecto . . . Paso 2: Creacin del mdulo web de la aplicacin . . . . . . . . . . . . . . . . Paso 3: El archivo JAR de la aplicacin. . Paso 4: Creacin de la aplicacin de la pgina de inicio y el archivo JNLP . . . . Paso 5: Creacin de una configuracin de ejecucin del servidor . . . . . . . . . . Paso 6: Inicio de la aplicacin . . . . . . .

21-1
. . 21-2 . . 21-3 . . 21-5 . . 21-6 . . 21-9 . 21-10

Paso 6: Diseo de la pgina de plantilla HTML . . . . . . . . . . . . . . . . . . . Paso 7: Conexin del servlet al DataModule Paso 8: Diseo del servlet . . . . . . . . . Paso 9: Edicin del servlet . . . . . . . . . Paso 10: Configuracin de las dependencias del mdulo web . . . . . . Paso 11: Ejecucin del servlet . . . . . . . Distribucin del servlet. . . . . . . . . .

. 23-7 . 23-9 .23-10 .23-12 .23-13 .23-14 .23-14

ndice

I-15

Captulo 22

Tutorial: Creacin de un servlet que actualiza un libro de visitas 22-1


Paso 1: Creacin del proyecto y seleccin del servidor . . . . . . . . . . . . . . . . Paso 2: Creacin del mdulo web. . . . . . Paso 3: Creacin de los servlets . . . . . . Paso 4: Creacin del mdulo de datos . . . Paso 5: Cmo aadir componentes de bases de datos al mdulo de datos . . . . Paso 6: Creacin de la conexin de datos con el DBServlet . . . . . . . . . . . . . . Paso 7: Creacin de un formulario de entrada en el FormServlet . . . . . . . . . Paso 8: Adicin de cdigo al mtodo DBServlet doPost() . . . . . . . . . . . . Paso 9: Adicin de cdigo para convertir la tabla SIGNATURES de Guestbook . . . Qu hace el mtodo doGet() . . . . . . . Paso 10: Cmo aadir la lgica empresarial al mdulo de datos . . . . . . . . . . . . Paso 11: Compilacin y ejecucin del proyecto . . . . . . . . . . . . . . . . . . . . . . 22-2 22-3 22-5 22-9

22-10 22-13 22-14 22-15 22-16 22-17 22-18 22-19

Captulo 23

Tutorial: Creacin de un servlet con InternetBeans Express


Paso 1: Creacin de proyectos . . . . Paso 2: Seleccin de un servidor . . . Paso 3: Creacin de un mdulo web . Paso 4: Creacin del servlet . . . . . Paso 5: Creacin del mdulo de datos . . . . . . . . . . . . . . . . . . . .

23-1
23-2 23-2 23-2 23-4 23-5

vi

Tablas
1.1 1.2 2.1 3.1 3.2 5.1 5.2 5.3 5.4 6.1 6.2 8.1 8.2 10.1 10.2 10.3 10.4 10.5 11.1 11.2 11.3 11.4 11.5 11.6 11.7 Convenciones tipogrficas y de smbolos . . . . . . . . . . . . . . . . . 1-3 Convenciones de plataformas. . . . . . 1-4 Tecnologas para aplicaciones web . . . 2-1 Herramientas de JBuilder para mdulos web y archivos WAR. . . . . . 3-2 Marcos de trabajo disponibles en el Asistente para mdulos web . . . . . . 3-6 Opciones de tipo de Servlet . . . . . . . 5-2 Mtodos de servlets . . . . . . . . . . . 5-5 Parmetros de la peticin del servlet . . 5-7 Ejemplos de URL de servlets en etiquetas HTML . . . . . . . . . . . . 5-13 Etiquetas JSP habituales . . . . . . . . 6-3 Compatibilidad de distintos servidores con la depuracin de JSP . . . . . . . 6-14 rboles URI . . . . . . . . . . . . . . . 8-8 Patrones de URL . . . . . . . . . . . 8-11 Ficha Aplicaciones Web del Editor DD de Mdulo Web . . . . . . . . . . 10-2 Ficha Filtro del Editor DD de Mdulo Web . . . . . . . . . . . . . . . . . . 10-7 Ficha Mapeo de filtros del Editor DD de Mdulo Web . . . . . . . . . . . . 10-9 Ficha Coleccin de recursos web del Editor DD de Mdulo Web. . . . . . 10-14 Ficha Servlet individual del Editor DD de Mdulo Web . . . . . . . . . 10-15 Atributos de Fuente de datos . . . . . 11-6 Men contextual de la ficha Fuentes de datos . . . . . . . . . . . . . . . . 11-7 Atributos de Form Bean . . . . . . . . 11-9 Men contextual de la ficha Form Beans . . . . . . . . . . . . . . . . 11-11 Atributos de Form Property . . . . . 11-12 Atributos de excepciones globales . 11-15 Men contextual de Excepciones globales . . . . . . . . . . . . . . . 11-16 11.8 11.9 11.10 11.11 11.12 11.13 11.14 11.15 11.16 11.17 11.18 12.1 12.2 12.3 12.4 12.5 12.6 13.1 13.2 14.1 15.1 16.1 16.2 18.1 Atributos de Reenvo . . . . . . . . .11-18 Men contextual de Reenvos globales . . . . . . . . . . . . . . . .11-19 Atributos de Action . . . . . . . . . .11-21 Men contextual de Actions . . . . .11-24 Atributos de Controlador . . . . . . .11-25 Atributos de Recursos de mensajes .11-30 Men contextual de Recursos de mensajes . . . . . . . . . . . . . . .11-31 Atributos de Plug Ins . . . . . . . . .11-33 Men contextual de Plug Ins . . . . .11-33 Atributos de Definition de Tiles . . . .11-36 Men contextual de Definition de Tiles . . . . . . . . . . . . . . . . . .11-38 Iconos del Diseador de Action . . . . 12-6 Atributos de Action . . . . . . . . . . 12-9 Iconos del Diseador de Form Bean . . . . . . . . . . . . . . . . .12-11 Atributos de Form Bean. . . . . . . .12-13 Iconos del Diseador de Tiles . . . .12-14 Atributos de Definition . . . . . . . .12-16 Clases de InternetBeans Express . . 13-2 Etiquetas InternetBeans Express . . . 13-7 Atributos de las etiquetas <applet> . . 14-3 Parmetros del cuadro de dilogo Configurar servidores para Tomcat . . 15-2 Opciones del Creador de recopilatorios . . . . . . . . . . . . . 16-4 Opciones del asistente para el inicio de Web Start . . . . . . . . . . 16-5 Opciones de parmetros del Asistente para servlets . . . . . . . . . . . . . 18-6

vii

Figuras
3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 Panel de proyecto con un nodo mdulo web . . . . . . . . . . . . . . . . . . . 3-7 Ficha Mdulo del cuadro de dilogo Propiedades de Mdulo Web . . . . . 3-11 Ficha Web del cuadro de dilogo Propiedades de Mdulo Web . . . . . 3-12 Ficha Limpiar del cuadro de dilogo Propiedades de Mdulo Web . . . . . 3-13 Ficha Generar del cuadro de dilogo Propiedades de Mdulo Web . . . . . 3-14 Ficha Directorios del cuadro de dilogo Propiedades de Mdulo Web . 3-15 Ficha Clases del cuadro de dilogo Propiedades de Mdulo Web . . . . . 3-17 Ficha Dependencias del cuadro de dilogo Propiedades de Mdulo Web . 3-18 Ficha Descriptor del cuadro de dilogo Propiedades de Mdulo Web . 3-18 Ficha Distribucin del cuadro de dilogo Propiedades de Mdulo Web para Borland Enterprise Server . . . . 3-19 Nodo del archivo WAR abierto en JBuilder IDE . . . . . . . . . . . . . . 3-20 Cuadro de dilogo Propiedades del archivo WAR . . . . . . . . . . . . . 3-20 Asistente para servlets ficha Seleccione el nombre y el tipo de servlet . . . . . . . . . . . . . . . . . . 5-3 Asistente para servlets ficha Modificar detalles del servlet estndar . 5-3 Asistente para servlets - ficha Introduzca los detalles del servlet monitor . . . . . . . . . . . . . . . . . 5-7 Asistente para servlets ficha Introduzca los parmetros de la peticin del servlet . . . . . . . . . . . . . . . . 5-8 Asistente para servlets ficha Introduzca los detalles del mdulo web (Servlet estndar) . . . . . . . . 5-10 Asistente para servlets ficha Introduzca los detalles del mdulo web (Servlet de filtro) . . . . . . . . . 5-10 Asistente para Servlets ficha Definir configuracin de servlet . . . . 5-11 Vista de Struts en el panel del proyecto . . . . . . . . . . . . . . . . . 7-3 7.2 7.3 7.4 7.5 Marco de trabajo Struts en Configurar bibliotecas. . . . . . . . . . . . . . . . 7-7 Ficha Configurar parmetros del mdulo web (Asistente Mdulo Web) . . 7-8 Ficha Modificar los detalles del archivo JSP Asistente para JSP . . . . . . . 7-9 Ficha Mdulo web e informacin de clases para ActionForm Asistente para ActionForm . . . . . . . . . . . 7-10 Ficha Definicin de campos para ActionForm Asistente para ActionForm . . . . . . . . . . . . . . 7-11 Ficha Seleccin de opciones adicionales Asistente para ActionForm . . . . . . . . . . . . . . 7-11 Ficha Mdulo web y nombre para ActionForm Asistente para Action . 7-12 Ficha Informacin de configuracin Asistente para Action . . . . . . . . . 7-13 Ficha Mdulo web, JSP y ActionForm Asistente para JSP a partir de ActionForm . . . . . . . . . . . . . . 7-14 Ficha Tipos de etiquetas para campos ActionForm en JSP Asistente para JSP a partir de ActionForm . . . 7-14 Ficha Indique las opciones para crear esta JSP Struts Asistente para JSP a partir de ActionForm . . . 7-15 Ficha Indique las pginas para su conversin a Struts Asistente para conversin a Struts . . . . . . . . . . 7-16 Ficha Etiquetas que se han de convertir Asistente para conversin a Struts . . . . . . . . . . . . . . . . 7-17 Ficha Especifique las opciones para convertir etiquetas a Struts Asistente para conversin a Struts . . . . . . . 7-17 Editor de configuracin de Struts . . . 7-18 Mensajes Tomcat . . . . . . . . . . . 8-17 Salida de Vista web . . . . . . . . . . 8-18 Ver cdigo fuente web . . . . . . . . 8-19 Depuracin web. . . . . . . . . . . . 8-20 Ficha Aplicaciones web del Editor DD de Mdulo Web . . . . . . . . . . 10-3 Ficha Parmetro de contextual del Editor DD de Mdulo Web . . . . . . 10-4

7.6

7.7

7.8 7.9 7.10

3.11 3.12 5.1

7.11

7.12

5.2 5.3

7.13

7.14

5.4

7.15

5.5

5.6

5.7 7.1

7.16 8.1 8.2 8.3 8.4 10.1 10.2

viii

10.3 10.4 10.5 10.6 10.7 10.8 10.9 10.10 10.11 10.12

10.13 10.14 10.15 10.16 10.17

10.18 10.19 10.20 11.1 11.2 11.3 11.4 11.5 11.6 11.7

Ficha Referencia a EJB en el Editor DD de Mdulo Web . . . . . . . . . . 10-5 Ficha Referencia local de EJB en el Editor DD de Mdulo Web . . . . . 10-5 Ficha Entrada de entorno en el Editor DD de Mdulo Web . . . . . . . . . . 10-6 Ficha Pgina de error en el Editor DD de Mdulo Web . . . . . . . . . . 10-6 Ficha Filtro del Editor DD de Mdulo Web . . . . . . . . . . . . . . . . . . 10-7 Nodo Parmetro de inicializacin en el Editor DD de Mdulo Web. . . . 10-8 Ficha Mapeo de filtro del Editor DD de Mdulo Web . . . . . . . . . . . . 10-9 Ficha Monitor del Editor DD de Mdulo Web . . . . . . . . . . . . . 10-10 Ficha Mapeo MIME en el Editor DD de Mdulo Web . . . . . . . . . . . 10-10 Ficha Referencia de entorno de recursos en el Editor DD de Mdulo Web . . . . . . . . . . . . . . . . . 10-11 Ficha Referencias del recurso en el Editor DD de Mdulo Web . . . . 10-12 Restriccin de seguridad en el Editor DD de Mdulo Web . . . . . . . . . 10-13 Nodo Coleccin de recursos web en el Editor DD de Mdulo Web. . . 10-14 Ficha Servlet del Editor DD de Mdulo Web . . . . . . . . . . . . . 10-16 Ficha Referencia de competencia de seguridad del Editor DD de Mdulo Web . . . . . . . . . . . . . . . . . 10-17 Ficha Mapeo de servlets del Editor DD de Mdulo Web . . . . . . . . . 10-17 Ficha Competencia de seguridad en el Editor DD de Mdulo Web. . . 10-18 Ficha Biblioteca de etiquetas en el Editor DD de Mdulo Web. . . . . . 10-18 Ficha Visin general de Fuentes de datos . . . . . . . . . . . . . . . . . 11-5 Ficha General de Fuentes de datos . . 11-6 Ficha Visin general de Form Beans . 11-8 Ficha General de Form Bean . . . . . 11-9 Ficha Propiedad del formulario . . . 11-12 Ficha Visin general de Excepciones globales . . . . . . . . . . . . . . . 11-14 Ficha General de Excepciones globales . . . . . . . . . . . . . . . 11-14

11.8 11.9 11.10 11.11 11.12 11.13 11.14 11.15 11.16 11.17 11.18 12.1 16.1 16.2 18.1 18.2 19.1 19.2 20.1 23.1

Ficha Visin general de Reenvos globales . . . . . . . . . . . . . . . Ficha General . . . . . . . . . . . . Ficha Visin general de Correspondencias Action . . . . . . Ficha General de Action . . . . . . Ficha General de Controlador . . . Ficha de descripcin general de Recursos de mensajes . . . . . . . Ficha General de Recursos de mensajes . . . . . . . . . . . . . . Ficha General de Plug Ins . . . . . Ficha General de Plug In . . . . . . Ficha Visin general de Definitions de Tiles . . . . . . . . . . . . . . . Ficha General de Tiles . . . . . . . Diseador de Action . . . . . . . . Vista web de Java Web Start . . . . Navegador externo para Java Web Start . . . . . . . . . . . . . . . . . Servlet que se ejecuta en la vista web . . . . . . . . . . . . . . . . . Servlet en ejecucin tras enviar el nombre . . . . . . . . . . . . . . . Nodo del mdulo web en el panel del proyecto . . . . . . . . . . . . . JSP en Vista web . . . . . . . . . . Nodo del mdulo web en el panel del proyecto . . . . . . . . . . . . . Nodo del mdulo web en el panel del proyecto . . . . . . . . . . . . .

.11-17 .11-17 .11-20 .11-21 .11-25 .11-29 .11-29 .11-32 .11-32 .11-35 .11-36 . 12-2 . 16-7 . 16-7 .18-10 .18-10 . 19-3 . 19-7 . 20-4 . 23-4

ix

Tutoriales
Creacin de un servlet simple . . . . . . . . Creacin de una JSP mediante el Asistente para JSP . . . . . . . . . . . . . . . . . . Creacin de una JSP con InternetBeans Express . . . . . . . . . . . . . . . . . . Ejecucin de la aplicacin de ejemplo CheckBoxControl con Java Web Start. . . . 18-1 . 19-1 . 20-1 . 21-1 Creacin de un servlet que actualiza un libro de visitas . . . . . . . . . . . . . . . . . . 22-1 Creacin de un servlet con InternetBeans Express . . . . . . . . . . . . . . . . . . . 23-1

Captulo

Captulo 1

Introduccin

El desarrollo web es una funcin de JBuilder Developer y JBuilder Enterprise. El desarrollo de applets es una funcin de todas las ediciones de JBuilder.

La Gua del desarrollador de aplicaciones web presenta algunas de las tecnologas disponibles para el desarrollo de aplicaciones multinivel basadas en la tecnologa web. Una aplicacin web consta de uno o varios mdulos web. Un mdulo web es un conjunto de documentos HTML/XML, componentes web (applets, servlets y pginas JSP) y otros recursos que se encuentran en una estructura de directorio o en un formato de archivo conocido como Web ARchive (WAR). Normalmente, las aplicaciones web se encuentran en un servidor central y prestan servicios a distintos clientes. Este manual detalla cmo aparecen estas tecnologas en JBuilder y cmo trabajar con ellas en el IDE y en el editor. Tambin explica cmo estas tecnologas se complementan entre s en una aplicacin web. Si desea obtener ms informacin, seleccione uno de los siguientes temas:
s

Captulo 2, Introduccin general al proceso de desarrollo de aplicaciones web Presenta las tecnologas analizadas en este libro, incluyendo servlets, JavaServer Pages (JSP) e InternetBeans Express, Struts y applets.

s s

Captulo 3, Los mdulos web y los archivos WAR Explica cmo crear un mdulo web y recopilarlo en un archivo WAR en JBuilder. Este captulo analiza tambin la estructura y los conceptos generales de los mdulos web. Captulo 4, Los servlets Presenta los servlets y la API de servlet.

Captulo 1: Introduccin

1 -1

I n t r o d u c c in
s

Captulo 5, Los servlets en JBuilder Explica las opciones del Asistente para servlets, cmo ejecutar los servlets, cmo internacionalizarlos y cmo crear servlets de enlace a datos.

Captulo 6, Desarrollo de Pginas JavaServer Presenta las JSP y la API de JSP. Explica cmo utilizar el asistente para JSP para crear una JSP.

Captulo 7, El marco de trabajo Struts en JBuilder Explica el marco de trabajo Struts y el modo de crear una aplicacin web preparada para Struts.

Captulo 8, Las aplicaciones web en IDE de JBuilder Explica cmo compilar, ejecutar y depurar servlets y JSP. Captulo 9, Distribucin de aplicaciones web Explica los diferentes aspectos de la distribucin de las aplicaciones web. Captulo 10, Modificacin del archivo web.xml Explica cmo se debe utilizar el Editor DD de Mdulo Web para modificar el archivo web.xml.

Captulo 11, Modificacin del archivo struts-config.xml Explica la forma de utilizar el Editor de configuracin de Struts con el fin de modificar el archivo struts-config.xml.

Captulo 12, Los diseadores de Struts Explica cmo se utilizan los diseadores visuales de Struts para disear las capas Actions, FormBeans y Tiles del mdulo web.

Captulo 13, InternetBeans Express Explica la biblioteca InternetBeans y cmo utilizar los componentes con servlets y JSP.

Captulo 14, Las applets Explica cmo crear applets en JBuilder. Trata de los principales inconvenientes implicados en el desarrollo de un applet y su distribucin, con sus soluciones.

Captulo 15, JBuilder con Tomcat Explica cmo se utiliza Tomcat en el IDE de JBuilder. Captulo 16, Ejecucin de aplicaciones web con Java Web Start Explica cmo utilizar Web Start para lanzar aplicaciones que no sean aplicaciones web desde un navegador web.

Captulo 17, Sugerencias sobre aplicaciones web Muestra una serie de sugerencias para el desarrollo de aplicaciones web.

Si desea una lista de los tutoriales de este libro, consulte Tutoriales en la pgina -x.

1-2

Gua del desarrollador de aplicaciones web

C o n v e n c i o n e s d e l a d o c u m e n t a c i n

Esta gua contiene muchas direcciones web externas. Las direcciones y vnculos facilitados son vlidos a la fecha de impresin de este manual. Los sitios web no pertenecen a Borland, por lo que no se puede garantizar su contenido ni su continuidad. Si tiene preguntas concretas sobre el desarrollo de aplicaciones web en JBuilder, consulte el grupo de noticias Servlet-JSP borland.public.jBuilder.servlet-jsp en http://www.borland.com/newsgroups/.

Convenciones de la documentacin
En la documentacin de Borland para JBuilder, el texto con significado especial se identifica mediante la tipografa y los smbolos descritos en la siguiente tabla. Tabla 1.1 Tipografa
Letra monoespaciada

Convenciones tipogrficas y de smbolos Significado


El tipo monoespaciado representa lo siguiente: texto tal y como aparece en la pantalla s lo que se tenga que escribir como en Escriba Hola a todos en el campo Ttulo del Asistente para aplicaciones s nombres de archivos s nombres de vas de acceso s nombres de directorios y carpetas s comandos como, por ejemplo, SET PATH s cdigo Java s tipos de datos de Java, como boolean, int y long. s identificadores de Java, como nombres de variables, clases, nombres de paquetes, interfaces, componentes, propiedades, mtodos y sucesos s nombres de argumentos s nombres de campos s palabras clave de Java, como void y static
s

Negrita

La negrita se utiliza para las herramientas java, bmj (Borland Make for Java - Make de Borland para Java), bcj (Borland Compiler for Java - Compilador de Borland para Java) y opciones del compilador. Por ejemplo: javac, bmj, -classpath. Las palabras en cursiva indican los trminos nuevos que se definen y los ttulos de libros; ocasionalmente se usan para indicar nfasis. Las teclas, como Pulse Esc para salir de un men. Los corchetes, en las listas de texto o sintaxis, encierran elementos optativos. En estos casos no se deben escribir los corchetes.

Cursiva

Teclas []

C a pt u l o 1 : I n t r o d u c c i n

1 -3

C o n v e n c i o n e s d e l a d o c u m e n t a c i n

Tabla 1.1 Tipografa


<>

Convenciones tipogrficas y de smbolos (continuacin) Significado


Los corchetes angulares se utilizan para indicar las variables en vas de acceso a directorios, opciones de comandos y ejemplos de cdigo. Por ejemplo, <nombredearchivo> se puede utilizar para indicar que es necesario especificar un nombre de archivo (incluida su extensin); <nombredeusuario> indica que se debe escribir un nombre de usuario. Cuando reemplace las variables en vas de acceso a directorios, opciones de comandos y ejemplos de cdigo, sustituya la variable entera, incluidos los corchetes angulares (< >). Por ejemplo, sustituya <nombredearchivo> por el nombre de un archivo, como por ejemplo empleado.jds, y quite los corchetes angulares. Nota: los archivos HTML, XML, JSP y de otros formatos basados en etiquetas utilizan tambin corchetes angulares para delimitar elementos del documento, como por ejemplo: <font color=red> o <ejb-jar>. La siguiente convencin describe la forma de especificar cadenas de variables dentro de los ejemplos de cdigo en cuya sintaxis se utilizan corchetes angulares como delimitadores. Este formato de texto se utiliza para indicar cadenas de variables dentro de los ejemplos de cdigo que ya utilizan corchetes angulares como delimitadores. Por ejemplo, <url="jdbc:borland:jbuilder\\samples\\guestbook.jds">. En los ejemplos de cdigo, los puntos suspensivos (...) indican cdigo que se ha omitido para ahorrar espacio y mejorar la claridad. Si estn en un botn, los puntos suspensivos indican que ste conduce a un cuadro de dilogo de seleccin.

Cursiva, serif

...

JBuilder se puede utilizar con diversas plataformas. En la tabla siguiente se proporciona una descripcin de las convenciones de plataformas utilizadas en la documentacin. Tabla 1.2 Elemento
Vas de acceso

Convenciones de plataformas Significado


En las vas de acceso de la documentacin se utiliza la barra normal (/). En la plataforma Windows se utiliza la barra invertida (\). La ubicacin del directorio inicial vara segn la plataforma y se indica con la variable <home>. s En UNIX y Linux, el directorio inicial puede variar. Por ejemplo, puede ser /user/<nombre de usuario> o /home/ <nombre de usuario>. s En Windows NT, el directorio inicial es C:\Winnt\Profiles\<nombre de usuario>. s En Windows 2000 y XP, el directorio de inicio es C:\Documents and Settings\<nombre de usuario>. Las imgenes o capturas de pantalla utilizan el aspecto Metal en diversas plataformas.

Directorio inicial

Imgenes de pantalla

1-4

Gua del desarrollador de aplicaciones web

Asistencia y recursos para desarrolladores

Asistencia y recursos para desarrolladores


Borland proporciona una serie de opciones de asistencia y recursos de informacin para ayudar a los desarrolladores a obtener el mximo rendimiento de los productos Borland. Entre estas opciones se incluye una gama de programas de asistencia tcnica de Borland, as como servicios gratuitos en Internet, los cuales permiten consultar una amplia base de informacin y ponerse en contacto con otros usuarios de productos Borland.

El servicio de asistencia tcnica de Borland


Borland ofrece varios programas de asistencia para clientes actuales y potenciales. Se puede elegir entre varios tipos de asistencia, que van desde la ayuda en la instalacin de los productos Borland hasta el asesoramiento de expertos y la asistencia pormenorizada. Si desea ms informacin sobre el servicio al desarrollador de borland.com, visite nuestra pgina web, en http://www.borland.com/devsupport. Cuando se ponga en contacto con el servicio tcnico tenga a mano la informacin completa sobre el entorno, la versin del producto utilizada y una descripcin detallada del problema. Si necesita ms informacin sobre las herramientas o la documentacin de otros proveedores, pngase en contacto con ellos.

Recursos en lnea
Tambin puede obtener informacin de los siguientes recursos en lnea: World Wide Web http://www.borland.com/ http://www.borland.com/techpubs/jbuilder/ Newsletters Para suscribirse a las newsletters, rellene el formulario en lnea que aparece en http://www.borland.com/products/ newsletters/index.html

World Wide Web


Visite peridicamente www.borland.com/jbuilder. El equipo de desarrollo de productos Java publica en esta pgina documentacin tcnica, anlisis de competitividad, respuestas a preguntas frecuentes, aplicaciones de ejemplo, software actualizado e informacin sobre productos nuevos y antiguos.

C a pt u l o 1 : I n t r o d u c c i n

1 -5

Asistencia y recursos para desarrolladores

En particular, pueden resultar interesantes las siguientes direcciones:


s

http://www.borland.com/jbuilder/ (actualizaciones de software y otros archivos) http://www.borland.com/techpubs/jbuilder/( actualizaciones de documentacin y otros archivos) http://community.borland.com/ (contiene nuestra revista de noticias para desarrolladores en formato web)

Grupos de noticias de Borland


Puede registrar JBuilder y participar en los grupos de debate sobre JBuilder, estructurados en hilos. Los grupos de noticias de Borland ofrecen un medio para que la comunidad internacional de clientes de Borland pueda intercambiar sugerencias y tcnicas sobre los productos de Borland, as como las herramientas y tecnologas relacionadas. Puede encontrar grupos de noticias, moderados por los usuarios, sobre JBuilder y otros productos de Borland, en http://www.borland.com/newsgroups.

Usenet, grupos de noticias


En Usenet existen los siguientes grupos dedicados a Java y temas relacionados:
s s s s s s s s s s

news:comp.lang.java.advocacy news:comp.lang.java.announce news:comp.lang.java.beans news:comp.lang.java.databases news:comp.lang.java.gui news:comp.lang.java.help news:comp.lang.java.machine news:comp.lang.java.programmer news:comp.lang.java.security news:comp.lang.java.softwaretools

Nota

Se trata de grupos moderados por usuarios; no son pginas oficiales de Borland.

Informacin sobre errores


Si cree que ha encontrado un error en el software, por favor informe a Borland en alguno de los siguientes sitios:
s

La pgina Support Programs en http://www.borland.com/devsupport/ namerica/. Pulse el enlace Reporting Defects para llegar al formulario Entry. Quality Central en http://qc.borland.com. Siga las instrucciones de la seccin Bugs Reports de la pgina Quality Central.

1-6

Gua del desarrollador de aplicaciones web

Asistencia y recursos para desarrolladores

Cuando informe sobre un fallo, incluya todos los pasos necesarios para llegar a l, as como toda la informacin posible sobre la configuracin, el entorno y las aplicaciones que se estaban utilizando junto con JBuilder. Intente explicar con la mayor claridad posible las diferencias entre el comportamiento esperado y el obtenido. Si desea enviar felicitaciones, sugerencias o quejas al equipo de documentacin de JBuilder, enve un mensaje a jpgpubs@borland.com. Tenga en cuenta que los asuntos relacionados con el servicio tcnico se deben enviar al departamento de asistencia tcnica para programadores. JBuilder es una herramienta creada por desarrolladores y para desarrolladores. Valoramos intensamente sus aportaciones.

C a pt u l o 1 : I n t r o d u c c i n

1 -7

1-8

Gua del desarrollador de aplicaciones web

Captulo

Introduccin general al proceso de desarrollo de aplicaciones web


Captulo 2

El desarrollo web es una funcin de JBuilder Developer y JBuilder Enterprise. El desarrollo de applets es una funcin de todas las ediciones de JBuilder.

Este apartado presenta tecnologas para aplicaciones web y algunas de las diferencias que existen entre ellas, y analiza la forma de decidir qu tecnologas hay que utilizar. Comienza con un resumen bsico de las tecnologas que se presentan en este libro: Tabla 2.1 Tecnologa
Servlets Pginas JavaServer (JSP)

Tecnologas para aplicaciones web Descripcin


Una aplicacin Java en el servidor que puede procesar peticiones de los clientes. Una ampliacin de la tecnologa servlet. Las pginas JavaServer utilizan bibliotecas de etiquetas personalizadas y ofrecen un modo sencillo de desarrollar servlets. Parecen diferentes durante el desarrollo pero, cuando se ejecutan por primera vez, el servidor web las compila como servlets. Un marco de trabajo de cdigo abierto, suministrado por el Jakarta Project, que se utiliza para generar aplicaciones web. Struts ofrece una capa de control flexible basada en tecnologas estndar como los Servlets, JSP, JavaBeans, ResourceBundles (conjunto de recursos) y XML. Una biblioteca de etiquetas, suministrada por Sun, que forma parte de Java Web Services Development Pack 1.0 (WSDP). Ofrece un conjunto de etiquetas que permiten a los desarrolladores llevar a cabo las tareas comunes de un modo estndar. La JSTL cuenta con cuatro reas, cada una con su propio TLD (descriptor de bibliotecas de etiquetas) y espacio de nombre.

Struts

JSTL (Biblioteca de etiquetas estndar para Pginas JavaServer)

Captulo 2: Introduccin general al proceso de desarrollo de aplicaciones web

2 -1

Servlets

Tabla 2.1 Tecnologa

Tecnologas para aplicaciones web (continuacin) Descripcin


Un conjunto de componentes y una biblioteca de etiquetas suministrados por Borland, que se utilizan para simplificar la presentacin y manipulacin de los datos de una base de datos. Esta tecnologa se usa en conjuncin con tecnologa servlet o JSP y simplifica el desarrollo de servlets o JSP enlazadas a datos. Cocoon es una funcin de JBuilder Enterprise. Un marco de trabajo de edicin Java basado en servlets para XML, integrado dentro de JBuilder. Cocoon permite la separacin entre contenido, estilo y lgica y utiliza la transformacin XSL para combinar estos elementos. Cocoon tambin puede utilizar hojas lgicas, pginas XSP, con el fin de proporcionar contenido dinmico incrustado con lgica de programacin escrita en Java. Si desea ms informacin sobre el marco de trabajo Cocoon, consulte Presentacin de XML con Cocoon en la Gua del desarrollador de XML. Un tipo especializado de aplicacin Java que se puede descargar desde un navegador cliente y ejecutarse en la mquina del cliente. Permite iniciar cualquier aplicacin o applet de Java desde un vnculo de una pgina web en su navegador.

InternetBeans Express

Cocoon

Applets

Java Web Start

El resumen ofrece alguna idea de la naturaleza de cada una de estas tecnologas, pero, en qu se puede basar la eleccin de una de ellas? Cules son las ventajas y desventajas de cada una de estas tecnologas? Se responder a estas y a ms preguntas en el siguiente estudio.

Servlets
Los servlets son programas Java que se integran en un servidor web para suministrar el procesamiento en el servidor de las peticiones de un navegador web cliente. Requieren un servidor web que admita tecnologa JavaServer, tal como el servidor web Tomcat que se distribuye con las ediciones de JBuilder. (Tomcat tambin puede estar integrado con servidores Web que no admitan tecnologa JavaServer, otorgndoles de esta forma dicha funcionalidad. Un ejemplo de ello es IIS.) Los servlets de Java pueden utilizarse para sustituir programas de Interfaz de enlace comn (Common Gateway Interface - CGI), o en las mismas situaciones en las que previamente se habra utilizado una CGI. La utilizacin de servlets, en lugar de CGI, presenta algunas ventajas:
s s s

Reduccin de la sobrecarga de la memoria Independencia de la plataforma Independencia del protocolo

Se utiliza un programa cliente escrito en cualquier lenguaje para enviar peticiones al servlet. El cliente puede ser tan sencillo como un navegador HTML. Tambin se podra usar un applet para el cliente o un programa escrito

2-2

Gua del desarrollador de aplicaciones web

P g i n a s J a v a S e r v e r ( J S P )

en un lenguaje que no sea Java. En el servidor, el servlet procesa la peticin y genera una salida dinmica que se enva de nuevo al cliente. Habitualmente, los servlets no tienen una IU (interfaz de usuario), pero opcionalmente se puede proporcionar una en el ordenador del cliente. Los servlets tienen algunas ventajas sobre las applets:
s

No hay que preocuparse de en qu JDK esta ejecutndose en el navegador Web cliente. El navegador Web cliente no necesita admitir Java. Todo el cdigo escrito en Java se ejecuta completamente en el servidor. Esto da ms control al administrador del servidor. Despus de que se inicie el servlet, las peticiones de los navegadores web de los clientes se limitan a llamar al mtodo service() de ejecucin del servlet. Esto significa que los clientes no experimentan ningn impacto en el rendimiento mientras esperan que se cargue el servlet. Adems, resulta mucho ms rpido que descargar un applet.

La distribucin de un servlet en el servidor web puede resultar problemtica, pero ciertamente no es imposible. JBuilder proporciona algunas herramientas que facilitan la distribucin. stas se analizan en el Captulo 9, Distribucin de aplicaciones web. Para obtener ms informacin sobre los constructores, consulte el Captulo 4, Los servlets, y el Captulo 5, Los servlets en JBuilder.

Pginas JavaServer (JSP)


Las Pginas JavaServer (JSP) son una extensin de la tecnologa servlet. Bsicamente, son una forma simplificada de escribir servlets que pone ms nfasis en el aspecto de la presentacin de la aplicacin. La diferencia principal entre servlets y JSP es que, con los servlets, la lgica de la aplicacin est en un archivo Java y est totalmente separada del HTML en la capa de presentacin. Con JSP, Java y HTML se combinan en un archivo que tiene una extensin .jsp. Las JSP estn evolucionando de tal forma que ya no contienen nada de cdigo Java y slo utilizan bibliotecas de etiquetas. Por ejemplo, JSTL dispone de etiquetas para condiciones y bucles que podran sustituir al cdigo Java. Cuando el servidor web procesa el archivo JSP, se genera un servlet, pero el desarrollador no ver este servlet. De hecho, cuando se compila y se ejecuta JSP en el IDE de JBuilder, se pueden ver excepciones o errores que se producen en el servlet generado. Esto puede ser un poco confuso, ya que puede ser difcil definir qu parte de su JSP est provocando un problema cuando el mensaje de error se refiere a una lnea de cdigo que en realidad es parte del cdigo generado. (Tenga en cuenta que el depurador de JBuilder le permite visualizar el cdigo fuente original o el cdigo fuente generado.) Las JSP tambin admiten el uso de bibliotecas de etiquetas. Una biblioteca de etiquetas es un conjunto de etiquetas personalizadas relacionadas. Una etiqueta personalizada llama a una accin personalizada, tambin conocida como un mdulo JSP reutilizable.

Captulo 2: Introduccin general al proceso de desarrollo de aplicaciones web

2 -3

P g i n a s J a v a S e r v e r ( J S P )

El Asistente para JSP de JBuilder admite la integracin automtica de las siguientes bibliotecas de etiquetas, al igual que cualquier biblioteca de etiquetas definida por el usuario, en sus JSP:
s

InternetBeans Express 1.1: una biblioteca de etiquetas suministrada por Borland, utilizada para presentar y manipular fcilmente los datos de una base de datos. JSTL 1.0: una biblioteca de etiquetas, suministrada por Sun, que ofrece un conjunto de etiquetas que permiten a los desarrolladores realizar tareas comunes de un modo estndar. Struts: una biblioteca de etiquetas de cdigo abierto, suministrada por el Jakarta Project, que se utiliza para generar aplicaciones web.

Nota

Tambin puede definir sus propias bibliotecas de etiquetas y utilizarlas en JBuilder. Adems, terceras partes pueden suministrar bibliotecas de etiquetas ms avanzadas y otros marcos de trabajo mediante OpenTools. Las JSP tienen algunas ventajas y algunos inconvenientes en comparacin con los servlets. Algunas de las ventajas son:
s s s

Hay que escribir menos cdigo. Fcil incorporacin de JavaBeans existentes. La distribucin es ms sencilla. La mayora de las emisiones de distribucin se ocupan automticamente de s mismas, ya que las JSP se asocian con un servidor web de la misma forma que lo hacen los archivos HTML. Puede utilizar las etiquetas HTML directamente, y no es necesario que escriba cdigo Java en las JSP para producir cdigo HTML. Esto significa que los diseadores de pginas no necesitan saber programar en Java. Con una planificacin cuidadosa, el cdigo HTML se puede separar claramente del cdigo Java, facilitando la lectura de la JSP. El cdigo invisible del servlet generado puede ser confuso, como ya se indic previamente. Dado que los cdigos HTML y Java no estn en archivos separados, un desarrollador de Java y un diseador de pginas web que trabajen juntos en una aplicacin deben tener cuidado para no sobrescribir los cambios entre s. HTML y Java combinados en un solo archivo pueden hacer que ste sea difcil de leer, y este problema se incrementa si no se practica una programacin cuidadosa y limpia. El diseador de JBuilder no admite el diseo de archivos .jsp.

Algunas de las desventajas de las JSP son:


s

El sistema JSP se parece mucho a las ASP (pginas del servidor Active) de Microsoft. La principal diferencia entre las JSP y las ASP es que los objetos manejados en el primero de los sistemas son JavaBeans, que son independientes de plataforma. ASP maneja objetos COM, por lo que depende completamente de las plataformas Microsoft. Para obtener ms informacin sobre la tecnologa JSP, consulte el Captulo 6, Desarrollo de Pginas JavaServer.
2-4 Gua del desarrollador de aplicaciones web

Struts

Struts
El marco de trabajo de cdigo abierto Struts se basa en el concepto de diseo de software Modelo 2 o Controlador Modelo-Vista. En este marco de trabajo, el modelo contiene los datos, la vista es la presentacin de los datos y el controlador supervisa la interaccin entre el modelo y la vista.
s s

La vista es normalmente una pgina JSP. El modelo puede ser cualquier tecnologa de acceso a datos, desde JDBC a un EJB. El controlador es un servlet Struts de nombre ActionServlet.

Este marco de trabajo, que es una coleccin de clases, servlets, etiquetas JSP, una biblioteca de etiquetas y clases de utilidades, separa limpiamente el HTML del cdigo Java y la presentacin visual de la lgica empresarial. La ventaja ms importante de utilizar Struts es la divisin entre el cdigo Java y las etiquetas HTML. Gracias a los Struts, la aplicacin web es ms fcil de comprender. Un diseador web ya no tiene que buscar por el cdigo Java para realizar cambios en la presentacin, y un desarrollador ya no tiene que volver a compilar el cdigo al disear de nuevo el flujo de la aplicacin. Aparte de su complejidad, el marco de trabajo Struts presenta pocos inconvenientes al desarrollador en Java. JBuilder ofrece un slido conjunto de herramientas que simplifican la complejidad y que mantienen sincronizados las clases y los archivos xml. Si desea ms informacin sobre Struts en JBuilder, consulte el Captulo 7, El marco de trabajo Struts en JBuilder. Para ms informacin sobre Struts, consulte The Jakarta Project: Struts en http://jakarta.apache.org/struts/ index.html.

JSTL (Biblioteca de etiquetas estndar para Pginas JavaServer)


La JSTL es una biblioteca de etiquetas de Sun que forma parte de Java Web Services Development Pack 1.0 (WSDP). Ofrece un conjunto de etiquetas que permiten a los desarrolladores llevar a cabo las tareas comunes de un modo estndar. Por ejemplo, en lugar de utilizar distintas etiquetas de iteracin de varios fabricantes, JSTL define una etiqueta estndar que funciona del mismo modo en todas partes. Esta estandarizacin permite conocer una etiqueta y utilizarla en varios contenedores JSP. La biblioteca JSTL est dividida en cuatro reas, cada una con su propio TLD (descriptor de bibliotecas de etiquetas) y espacio de nombre. Estas cuatro reas son Ncleo, procesamiento de XML, internacionalizacin y acceso a bases de datos. Si desea obtener ms informacin acerca de JSTL, consulte sobre la biblioteca JSTL en http://java.sun.com/products/jsp/jstl/.

Captulo 2: Introduccin general al proceso de desarrollo de aplicaciones web

2 -5

InternetBeans Express

InternetBeans Express
La tecnologa InternetBeans Express de JBuilder se integra en la tecnologa servlet y JSP con el fin de ofrecer un valor aadido a sus aplicaciones y simplificar las tareas de desarrollo de servlet y JSP. InternetBeans Express es un conjunto de componentes y extensiones de etiquetas de pginas JavaServer (JSP) utilizado para la generacin de presentaciones y la interaccin con aplicaciones web. Toma pginas estticas de plantilla, inserta contenido dinmico desde un modelo dinmico de datos y lo presenta al cliente. A continuacin, escribe en el modelo los datos que enva el cliente. Esto facilita la creacin de servlets y JSP enlazados a datos. InternetBeans Express contiene soporte incorporado para DataExpress DataSets y DataModules. Tambin puede utilizarse con modelos genricos de datos y EJB. Para obtener ms informacin sobre Struts, consulte el Captulo 13, InternetBeans Express.

Applets
Cuando apareci el lenguaje Java, haba mucha confusin acerca de las applets. En aquellos tiempos, la tecnologa Web estaba menos desarrollada y las applets prometan soluciones a algunos de los problemas a los que se enfrentaban los desarrolladores en ese momento. De hecho, las applets se hicieron tan populares que, hasta el da de hoy, el desarrollo de un applet es a menudo una de las primeras tareas previstas en el comienzo de los cursos de Java. Como resultado, un error comn entre los desarrolladores de Java es confiar demasiado en las applets. Las applets evidentemente tienen su utilidad, pero no son una solucin mgica a todos los problemas de desarrollo web. Algunos de los inconvenientes de las applets son:
s s

Su distribucin y comprobacin puede ser difcil. Se confa en que la mquina del cliente tenga activado Java en su navegador web. Los diferentes navegadores web soportan diferentes versiones del JDK, y habitualmente no la ltima versin. El applet puede tardar en iniciarse la primera vez, ya que necesita ser descargada por el cliente.

Algunos de estos problemas tienen soluciones que se tratan con ms detalle en el Captulo 14, Las applets. Cuando se considere la utilizacin de un applet, hay que pensar si alguna otra tecnologa de Java puede servir mejor a nuestros propsitos. Existen algunas ventajas en la utilizacin de applets. Entre otras, destacan las siguientes:

2-6

Gua del desarrollador de aplicaciones web

Java Web Start


s

Las applets pueden proporcionar interfaces de usuario (IU) ms complejas que los servlets o las JSP. Desde el momento en que las applets se descargan y se ejecutan en el ordenador del cliente, el servidor web no necesita ser compatible con Java. Esto puede ser importante si se est escribiendo una aplicacin web para una web en la que no se tenga control sobre el servidor web (tal como una web alojada por un ISP externo). Las applets pueden validar localmente los datos introducidos por el usuario, en lugar de validarlos en el servidor. Esto tambin se puede llevar a cabo con JavaScript en conjuncin con un servlet o una JSP. Despus de la descarga inicial del applet, puede reducirse el nmero de peticiones del navegador web al servidor, dado que una gran cantidad de procesamiento puede llevarse a cabo en la mquina del cliente.

Si desea ms informacin sobre las applets y la forma de solucionar los posibles problemas, consulte el Captulo 14, Las applets.

Java Web Start


Java Web Start, una tecnologa de distribucin de Sun Microsystems, inicia las applets o aplicaciones Java desde un enlace de una pgina web en su navegador. Si la aplicacin no est presente en su ordenador, Java Web Start descarga todos los archivos necesarios y los almacena localmente en el cach de forma que el programa pueda volverse a iniciar desde un icono en su escritorio o desde el vnculo de la pgina web. Para obtener ms informacin sobre Java Web Start, consulte el Captulo 16, Ejecucin de aplicaciones web con Java Web Start.

Qu tecnologas utilizar en su aplicacin web


Ahora que ya se ha hecho una introduccin general de las diferentes tecnologas Web, en qu debemos basarnos para decidir qu tecnologa vamos a usar en una aplicacin Web? Las sugerencias siguientes pueden ayudar a tomar esa decisin:
s

Se necesita una IU (interfaz de usuario) muy compleja? Si la IU requiere elementos ms complejos que los componentes habituales para la introduccin de datos (como campos de texto, botones de radio, cuadros combinados o cuadros de lista, botones de envo, etc.) e imgenes, se debe utilizar un applet. Si se pretende otorgar mucha carga de trabajo al servidor, se debe utilizar un servlet o una JSP. Si se quiere evitar que los usuarios tengan que descargar mucho cdigo y acelerar el inicio de la aplicacin, se debe utilizar un servlet o una JSP.

Captulo 2: Introduccin general al proceso de desarrollo de aplicaciones web

2 -7

E l p r o c e s o b s i c o d e d e s a r r o l l o d e a p l i c a c i o n e s w e b
s

Si se quiere controlar la versin del JDK para la aplicacin (sin necesidad de usar descargas) o si se est preocupado por los usuarios que no tienen Java activado en sus navegadores web, se debe utilizar un servlet o una JSP. Si se busca un substituto para CGI, con menos sobrecarga de memoria, se debe utilizar un servlet o una JSP. Si se quiere algo similar a un ASP, pero se prefiere que sea independiente de la plataforma, se debe utilizar una JSP. Si se necesita una IU compleja, pero tambin se quieren algunas de las caractersticas de los servlets o de JSP, se debe considerar combinar un applet y un servlet. Se puede tener un applet en el navegador web cliente que se comunique con un servlet en el servidor. Si se quiere utilizar un servlet o una JSP y se quiere hacer enlace de datos, se debe utilizar InternetBeans Express. Si est pensando en desarrollar una biblioteca de etiquetas de rutinas estndar, tales como control de estructuras o datos y formato de nmeros, verifique primero si JSTL dispone de las rutinas que necesita. Si desea separar el cdigo HTML del cdigo Java, utilice una aplicacin web Struts.

Tenga en cuenta que los servlets y las JSP son lo suficientemente parecidos como para que la decisin entre uno y otra dependa, ante todo, de las preferencias personales. Adems, recuerde que muchas aplicaciones web utilizarn una combinacin de dos o ms de estas tecnologas.

El proceso bsico de desarrollo de aplicaciones web


Independientemente de la tecnologa web que se escoja, todava se tendrn que seguir los mismos pasos bsicos para desarrollar una aplicacin web y para mantenerla en funcionamiento en el servidor web. Estos son los pasos necesarios: Paso
Disee su aplicacin

Descripcin
Decida cmo va a estructurar su aplicacin y que tecnologas utilizar. Defina qu es lo que tiene que hacer la aplicacin y el aspecto que tendr. Opcionalmente se puede configurar el servidor web para que trabaje en el IDE de JBuilder, de forma que se puedan compilar, ejecutar y depurar las aplicaciones con el mismo servidor web que se piensa utilizar para su distribucin. Tambin puede utilizar Tomcat, el servidor web que se suministra con JBuilder, para compilar, ejecutar y depurar. Si desea ms informacin, consulte JBuilder con Tomcat en Desarrollo de aplicaciones para servidores J2EE.

Configure su servidor web en el IDE de JBuilder

2-8

Gua del desarrollador de aplicaciones web

Aplicaciones web y aplicaciones distribuidas

Paso
Desarrolle su aplicacin

Descripcin
Cree un mdulo web y, a continuacin, escriba el cdigo de la aplicacin. Independientemente de que la aplicacin est compuesta de applets, servlets, pginas JavaServer o clases Struts, la utilizacin de muchas de las herramientas de JBuilder simplifica las tareas de desarrollo. Compile la aplicacin en el IDE de JBuilder. Ejecute la aplicacin en el IDE de JBuilder. Esto le da una vista previa de la aplicacin, sin necesidad de distribuirla primero. En esta etapa, se deben hacer algunas comprobaciones locales de la aplicacin. Modifique los archivos web.xml y struts-config.xml y distribuya la aplicacin en el servidor web. (Si se utilizan las herramientas de JBuilder tools, quizs no sea necesario modificar estos archivos.) Las particularidades de su aproximacin a este paso dependern en gran medida del servidor que se est utilizando. Compruebe su aplicacin ejecutndola en el servidor web. Esto ayudar a identificar cualquier problema que se d con la distribucin o con la aplicacin misma. Se deben efectuar comprobaciones desde el navegador web cliente en una mquina diferente del servidor web. Tambin se pueden probar diferentes navegadores web, ya que la aplicacin puede aparecer de forma ligeramente diferente en cada uno de ellos.

Compile la aplicacin Ejecute su aplicacin

Distribuya su aplicacin

Compruebe su aplicacin

Aplicaciones web y aplicaciones distribuidas


Se podra considerar el uso de una aplicacin distribuida para el programa en vez de una aplicacin web. Ambas pueden gestionar la programacin cliente/ servidor. Existen, sin embargo, ciertas diferencias entre las dos tecnologas. Las aplicaciones web requieren un navegador web en el ordenador del cliente y un servidor web en el servidor. Por ejemplo, las applets se descargan a mltiples plataformas cliente, donde se ejecutan en una mquina virtual (MV) de Java suministrada por el navegador instalado en el ordenador cliente. Los servlets y las JSP se ejecutan dentro de un servidor web con Java que admita las especificaciones de JSP/Servlet. Las aplicaciones web pueden estar disponibles para cualquiera que tenga acceso a Internet, o se pueden poner detrs de un cortafuegos y utilizarlas solamente dentro de la intranet de la empresa. Una aplicacin web puede ser parte de una aplicacin distribuida mayor que, a su vez, puede ser parte de una aplicacin enterprise o J2EE. Si desea ver un ejemplo de una aplicacin J2EE y la documentacin de apoyo, consulte Java 2 Platform, Enterprise Edition Blueprints en http://java.sun.com/j2ee/ blueprints/.

Captulo 2: Introduccin general al proceso de desarrollo de aplicaciones web

2 -9

Aplicaciones web y aplicaciones distribuidas

En general, las aplicaciones distribuidas administran y recuperan datos de sistemas previamente instalados. El sistema de herencia puede existir en numerosos ordenadores que ejecuten diferentes sistemas operativos. Una aplicacin distribuida utiliza un servidor de aplicaciones, como el Borland Enterprise Server, para la gestin de aplicaciones. Las aplicaciones distribuidas no tienen que estar basadas en Java. De hecho, una aplicacin distribuida puede contener muchos programas diferentes, sin tener en cuenta en que lenguaje estn escritos o dnde residen. Las aplicaciones distribuidas estn habitualmente confinadas a una red dentro de una empresa. Ciertas partes de la aplicacin distribuida pueden estar a disposicin de los usuarios a travs de Internet, pero entonces se estar combinando una aplicacin distribuida con una aplicacin web. Las tecnologas que se usan en una aplicacin distribuida incluyen CORBA (Common Object Request Broker Architecture - La Arquitectura de Intermediador de Objetos Remotos) y RMI (Remote Method Invocation Llamada a mtodos remotos):
s

La ventaja primaria de CORBA es que clientes y servidores pueden escribirse en cualquier lenguaje de programacin. Esto es posible porque los objetos se definen utilizando el lenguaje de definicin de interfaces (IDL: Interface Definition Language), y la comunicacin entre los objetos, los clientes y los servidores se realiza por medio de ORB (Object Request Brokers Intermediador de objetos). Si desea ms informacin sobre CORBA, consulte CORBA con JBuilder en Desarrollo de aplicaciones para servidores J2EE. La llamada a mtodos remotos permite crear aplicaciones distribuidas Java a Java en las que se puede llamar a los mtodos de los objetos remotos de Java desde otras mquinas virtuales de Java, incluso en distintos anfitriones. Si desea obtener ms informacin acerca de RMI, consulte el ejemplo de RMI en la carpeta <jbuilder>/samples.

2-1 0

Gu a d e l d e s a r r o l l a d o r d e a p l i c a c i o n e s w e b

Captulo

Captulo 3

Los mdulos web y los archivos WAR

Desarrollo web es una funcin de JBuilder Developer y JBuilder Enterprise

JBuilder posee algunas funciones importantes para gestionar la estructura de las aplicaciones web. Existen dos conceptos principales que es necesario comprender con el fin de hacer un uso efectivo de estas funciones: los mdulos web y los archivos recopilatorios web (WAR).

Los mdulos web


Los mdulos web describen la estructura de la totalidad o una parte de las aplicaciones web, y la parte correspondiente a la web de las aplicaciones J2EE. Bsicamente, son rboles de directorios en los que se encuentra el contenido web utilizado en la aplicacin. Se asocian a un ServletContext. Un archivo descriptor de distribucin llamado Web.xml est asociado siempre con cada mdulo web. Este descriptor de distribucin contiene la informacin que se necesita suministrar al servidor web cuando se distribuye una aplicacin. Es necesario utilizar mdulos web si en el proyecto hay servlets o JSP. Aunque probablemente no sea conveniente usar un mdulo web si la aplicacin web contiene una sola applet, se debe utilizar si la aplicacin web contiene un applet y un servlet o una JSP. De esta forma se puede almacenar el mdulo web completo en un nico archivo WAR. Es posible tener varios mdulos web en una sola aplicacin web. JBuilder lo permite, ya que se pueden tener mltiples mdulos web en un solo proyecto.

C a p tulo 3: L o s m d u l o s w e b y l o s a r c h i v o s W A R

3 -1

Archivos recopilatorios web (WAR)

Es importante meditar sobre la estructura de las aplicaciones web durante la etapa de planificacin. Cuantos mdulos web tiene? Como se llamarn? Se almacenarn estos mdulos web en archivos WAR? Necesitan los mdulos web compatibilidad con algn marco de trabajo? Proyectando la estructura desde el principio, la distribucin terminar por ser ms fcil. Si desea ms informacin sobre la forma en que JBuilder trabaja con los mdulos web, consulte Creacin de mdulos web con el Asistente para mdulos web en la pgina 3-3 y El mdulo web y sus propiedades en la pgina 3-7.

Archivos recopilatorios web (WAR)


Un archivo WAR es un archivo recopilatorio de una aplicacin web. Es similar a un archivo JAR. Al almacenar su aplicacin completa y los recursos que sta necesita en un archivo WAR, se hace ms fcil la distribucin. Copie solamente el archivo WAR en su servidor web, en vez de tener que asegurarse de que multitud de pequeos archivos se copien en el sitio adecuado. JBuilder puede generar automticamente un archivo WAR cuando se genera el proyecto, cuando se genera el mdulo web o cuando se generan ambos. Tambin puede decidir no crear nunca un archivo WAR, lo que puede ser de gran utilidad durante las etapas iniciales de desarrollo, antes de que est preparado para comprobar la distribucin. Si desea ms informacin sobre la forma en que JBuilder trabaja con los mdulos web, consulte El archivo WAR en la pgina 3-19.

Herramientas para trabajar con mdulos web y archivos WAR


A continuacin, se presenta una lista de las herramientas que proporciona JBuilder para trabajar con mdulos web y archivos WAR: Tabla 3.1 Herramientas de JBuilder para mdulos web y archivos WAR Descripcin
Un sencillo asistente para crear un mdulo web. Permite especificar el nombre del mdulo web, el directorio del mdulo de los documentos del mdulo web, el momento de generacin del archivo WAR, los marcos de trabajo JSP/Servlet que debe admitir el mdulo web y el URI de inicio por defecto. Es un nodo del panel del proyecto de JBuilder IDE que representa el mdulo web. Este nodo tiene un cuadro de dilogo de propiedades que permite configurar el mdulo web. Dentro del nodo mdulo web existen otros nodos para los descriptores de distribucin, el directorio del mdulo y un archivo WAR optativo.

Herramienta
Asistente para mdulos web

Nodo mdulo web

3-2

Gua del desarrollador de aplicaciones web

C r e a c i n d e m d u l o s w e b c o n e l A s i s t e n t e p a r a m d u l o s w e b

Tabla 3.1

Herramientas de JBuilder para mdulos web y archivos WAR (continuacin) Descripcin


Es un nodo en el panel del proyecto de JBuilder IDE que representa el archivo WAR. Tiene un cuadro de dilogo de propiedades y un visualizador que permite observar su contenido. Es una interfaz y un editor para el archivo descriptor de distribucin web.xml que necesitan todos los mdulos web. En JBuilder, tambin se pueden editar descriptores de distribucin especficos de servidor, tales como Weblogic.xml de WebLogic. Los descriptores de distribucin se tratan con ms detalle en Descriptores de distribucin en la pgina 9-2. Una interfaz de usuario y un editor para el archivo del descriptor de distribucin struts-config.xml necesario para admitir el marco de trabajo Struts.

Herramienta
Nodo de archivo WAR

Editor DD de Mdulo Web

Editor de configuracin de Struts

Nota

Los asistentes slo estn habilitados en la ficha Web de la galera de objetos si hay un servidor seleccionado para el proyecto.

Creacin de mdulos web con el Asistente para mdulos web


El Asistente para aplicaciones web crea un mdulo web. Para crear un mdulo web:

1 Seleccione Archivo|Nuevo. Haga clic en el nodo Web de la galera de


objetos.

2 Seleccione Mdulo Web (WAR). Pulse Aceptar. 3 Si no hay ningn servidor seleccionado para el proyecto, aparece el cuadro
de dilogo Seleccione el servidor para proporcionar el servicio de JSP/ Servlet. Este cuadro de dilogo se utiliza para seleccionar un servidor. Pulse Aceptar. Si ya hay un servidor seleccionado, o cuando se selecciona, se abre el Asistente para mdulos web.

4 En la ficha Seleccionar origen del mdulo web, indique cmo desea crear
el mdulo web. Seleccione Crear mdulo web vaco para crear un mdulo web vaco en el proyecto. Seleccione Copiar mdulo web desde un directorio o recopilatorio para crear una copia de un directorio o ampliar un recopilatorio ya creado. Si el mdulo web es vlido y los descriptores de distribucin son correctos para el servidor web configurado, se puede ejecutar inmediatamente desde el IDE de JBuilder.

C a p tulo 3: L o s m d u l o s w e b y l o s a r c h i v o s W A R

3 -3

C r e a c i n de m d u l o s w e b c o n e l A s i s t e n t e p a r a m d u l o s w e b

La ficha Seleccione el origen de Mdulo Web del asistente tiene el siguiente aspecto:

5 Pulse Siguiente para dirigirse a la ficha Introduzca atributos bsicos de


Mdulo Web.

6 Escriba un nombre para el mdulo web. El campo Directorio se rellena


automticamente mientras escribe.

7 Introduzca la ubicacin del directorio del mdulo del mdulo web. Este
campo se rellena automticamente a medida que se va escribiendo. De esta forma se crea un subdirectorio del directorio del proyecto. Tambin se puede pulsar el botn de puntos suspensivos (...) para examinar y crear o para elegir un directorio. No se recomienda la eleccin del directorio raz del proyecto, del directorio src o del de clases.

3-4

Gua del desarrollador de aplicaciones web

C r e a c i n d e m d u l o s w e b c o n e l A s i s t e n t e p a r a m d u l o s w e b

8 Para indicar cundo se debe generar un archivo WAR, seleccione una de


las siguientes opciones de la lista desplegable Generar el recopilatorio web:
s s s s

Al generar el proyecto o el mdulo web Slo al generar el mdulo web Slo al generar el proyecto Nunca

Siempre que se genera un archivo WAR, tiene por defecto el mismo nombre que el mdulo web y se coloca en el directorio raz del proyecto. Si selecciona Nunca, puede elegir una opcin posteriormente. Esta lista desplegable corresponde a una configuracin del cuadro de dilogo Propiedades de Mdulo Web. Tambin se puede cambiar el nombre del archivo WAR en el cuadro de dilogo Propiedades de Mdulo Web.

9 Seleccione los Estndares JSP/Servlet disponibles que admite el mdulo


web: Servlet 2.3 2.2 y JSP 1.2, 1.1 1.0.

10 Pulse Siguiente para dirigirse a la ficha Configurar parmetros del mdulo


web del asistente.

11 Escriba la raz de contexto del mdulo web. La raz de contexto es el


directorio bajo el que se distribuye el mdulo en el servidor.

C a p tulo 3: L o s m d u l o s w e b y l o s a r c h i v o s W A R

3 -5

C r e a c i n de m d u l o s w e b c o n e l A s i s t e n t e p a r a m d u l o s w e b

12 Seleccione los marcos de trabajo JSP/Servlet que desea que admita el


mdulo web. Tabla 3.2 Marcos de trabajo disponibles en el Asistente para mdulos web Descripcin
JSTL ofrece un modo estndar de llevar a cabo tareas de codificacin comunes mediante la utilizacin de etiquetas. Si desea ms informacin, visite la pgina http://java.sun.com. InternetBeans Express: una biblioteca de componentes que facilita la creacin de servlets enlazados a datos y de pginas JSP. Consulte el Captulo 13, InternetBeans Express. Struts es un marco de trabajo de cdigo abierto para el diseo de software basado en Modelo 2 o Controlador Modelo-Vista. Consulte el Captulo 7, El marco de trabajo Struts en JBuilder. Cocoon es una funcin de JBuilder Enterprise. Cocoon es un marco de trabajo de edicin Java basado en servlets para XML. Consulte Presentacin de documentos XML en la Gua del desarrollador de XML.

Marco de trabajo
JSTL (Biblioteca de etiquetas estndar para pginas JavaServer) InternetBeans Express

Struts

Cocoon

Puede hacer que las bibliotecas de etiquetas JSP definidas por el usuario estn disponibles en este asistente si las aade en el cuadro de dilogo Configurar bibliotecas. Si desea ms informacin, consulte Utilizacin del cuadro de dilogo Configurar bibliotecas para gestionar los marcos de trabajo definidos por el usuario en la pgina 6-6. A travs de OpenTools, terceras partes pueden proporcionar otros marcos de trabajo.

1 Defina una URI de inicio por defecto, si lo desea. Si el marco de trabajo


seleccionado admite una URI de inicio, se debe rellenar este campo. Por ejemplo, si selecciona el marco de trabajo Cocoon, el valor de URI de inicio es index.xml. Si se especifica un URI de inicio, los comandos Ejecutar web, Depurar web y Optimizar web estn disponibles en el men contextual del nodo mdulo web del panel del proyecto.

2 Pulse Aceptar para cerrar el asistente y crear el mdulo web.

3-6

Gua del desarrollador de aplicaciones web

E l m d u l o w e b y s u s p r o p i e d a d e s

El mdulo web y sus propiedades


Los servidores web habilitados para Java localizan los mdulos web mediante su ServletContext, que apunta hacia el mdulo web. El IDE de JBuilder representa los mdulos web mediante un nodo mdulo web. Se trata de un nodo del rbol del panel del proyecto que tiene el nombre del mdulo web. Figura 3.1 Panel de proyecto con un nodo mdulo web

El nodo mdulo web tiene varios nodos descendientes, entre los que se incluyen:
s s

Un nodo optativo Archivo WAR. El nodo Descriptores de distribucin, que representa los descriptores de distribucin del mdulo web. Si el mdulo web est preparado para Struts, tambin incluye un nodo Struts 1.1, en el que se agrupan los descriptores de distribucin de Struts. Consulte Vista de Struts en el panel del proyecto en la pgina 7-3 para obtener ms informacin. El nodo Directorio del mdulo del mdulo web.

Nota

Si el mdulo web se ha creado a partir de un archivo WAR, los directorios creados a partir del recopilatorio se muestran en el panel del proyecto. Los archivos de contenido web (tales como los archivos HTML, SHTML y JSP) se deben colocar en el directorio raz del mdulo web o en uno de sus subdirectorios. Los archivos de contenido web son archivos a los que se puede acceder directamente mediante el navegador web del cliente. Los recursos de Java utilizados por el mdulo web (tales como servlets o JavaBeans) deben tener sus archivos fuente en el directorio fuente del proyecto. El navegador web del cliente no puede acceder directamente a estos archivos, pero pueden ser llamados por otros componentes tales como un archivo JSP. El Asistente para servlets de JBuilder, el Asistente para JSP y el Asistente para el inicio de Web Start facilitan la creacin de mdulos web que sigan estas reglas. Asegrese de especificar un mdulo web existente cuando utilice estos asistentes. Para asegurarse de que los archivos se incluyen en el recopilatorio, compruebe que sus tipos de archivo estn seleccionados en la lista Tipos de archivo incluidos de la ficha Mdulo del cuadro de dilogo Propiedades del mdulo.

C a p tulo 3: L o s m d u l o s w e b y l o s a r c h i v o s W A R

3 -7

E l m d u l o w e b y s u s p r o p i e d a d e s

Directorio del mdulo


El directorio del mdulo define la ubicacin base del mdulo web. Todos los componentes del mdulo web se sitan en relacin con el directorio del mdulo. Los archivos de contenido web, tales como los archivos HTML, SHTML, JSP o de imagen, deben situarse en este directorio. Los archivos de contenido web son archivos a los que se puede acceder directamente mediante el navegador web del cliente. Los archivos del directorio del mdulo del mdulo web (y cualquier subdirectorio del directorio del mdulo) se muestran automticamente en el nodo del directorio del mdulo del panel del proyecto. Slo se muestran los archivos del tipo especificado en la ficha Mdulo Web del cuadro de dilogo Propiedades de Mdulo Web. Los tipos de archivo por defecto son los nicos con los que se trabaja habitualmente en los mdulos web. Esto le permite trabajar con archivos HTLM o con archivos de imagen utilizando sus herramientas favoritas para trabajar con esos tipos de archivo. Guarde estos archivos en el directorio del mdulo del mdulo web o en uno de sus subdirectorios. Slo le resta pulsar el botn Actualizar del panel del proyecto para ver los archivos actuales definidos en JBuilder. Los asistentes para desarrollo web de JBuilder aaden los archivos y directorios adecuados al directorio del mdulo. Tambin es posible aadir archivos y directorios de contenido web al directorio del mdulo sin la ayuda de un asistente. Para aadir un archivo al directorio del mdulo:

1 Seleccione el nodo Directorio del mdulo o cualquiera de sus nodos


descendientes, en el panel del proyecto. Si selecciona un directorio, esa ser la ubicacin por defecto del nuevo archivo. Si selecciona un archivo, el directorio en el que se encuentra ser la ubicacin por defecto.

2 Pulse el botn derecho en el nodo seleccionado. 3 Seleccione Nuevo|Archivo en el men contextual. 4 Indique el nombre y tipo de archivo, y el directorio en el que se debe
aadir. Tenga en cuenta que el directorio por defecto es el directorio seleccionado en el panel del proyecto.

5 Deje marcado Aadir archivo al proyecto si desea aadir un nodo para el


archivo creado en la raz del proyecto. No es necesario hacer esto. El nuevo archivo se muestra automticamente bajo el Directorio del mdulo, siempre que el tipo de archivo est incluido en el contenido web de la lista Tipos de archivo incluidos de la ficha Mdulo Web del cuadro de dilogo Propiedades de Mdulo Web.

6 Pulse Aceptar. Se aade un archivo en blanco del tipo especificado al


directorio elegido.

3-8

Gua del desarrollador de aplicaciones web

E l m d u l o w e b y s u s p r o p i e d a d e s

Para aadir un directorio al directorio del mdulo:

1 Seleccione el nodo Directorio del mdulo o cualquiera de sus nodos


descendientes, en el panel del proyecto. Si selecciona un directorio, ste ser la ubicacin por defecto del nuevo subdirectorio. Si selecciona un archivo, el directorio en el que se encuentra ser la ubicacin por defecto.

2 Pulse el botn derecho en el nodo seleccionado. 3 Seleccione Nuevo|Directorio en el men contextual. 4 Indique el nombre y directorio superior del nuevo directorio. 5 Pulse Aceptar. Se aade al directorio del mdulo un directorio vaco con el
nombre especificado, en la ubicacin indicada. Para iniciar el Asistente para JSP desde el directorio del mdulo:

1 Seleccione el nodo Directorio del mdulo o cualquiera de sus nodos


descendientes, en el panel del proyecto. Si selecciona un directorio, ese directorio ser la ubicacin por defecto de la nueva JSP. Si selecciona un archivo, el directorio en el que se encuentra ser la ubicacin por defecto.

2 Pulse el botn derecho en el nodo seleccionado. 3 Seleccione Nuevo|JSP en el men contextual. Se inicia el Asistente para
JSP. Si desea ms informacin, consulte El Asistente para JSP en la pgina 6-10.

Descriptores de distribucin
Cada mdulo web debe tener un directorio WEB-INF. Este directorio contiene la informacin que necesita el servidor web cuando se distribuye la aplicacin. Esta informacin tiene la forma de archivos descriptores de distribucin. Dichos archivos tienen extensiones .xml. Se muestran en el nodo Descriptores de distribucin en el panel del proyecto. En realidad, el directorio WEB-INF es un subdirectorio del directorio del mdulo del mdulo web. Se muestra bajo el nodo Directorio del mdulo del panel del proyecto. Tenga en cuenta que este directorio no puede obtener servicios de un servidor web. La presentacin de este directorio se puede ocultar en la ficha Directorios del cuadro de dilogo Propiedades de Mdulo Web. El nodo de descriptores de distribucin del mdulo web contiene siempre un archivo descriptor de distribucin llamado web.xml. Necesitan este archivo todos los servidores web habilitados para Java, y lo crea JBuilder cuando se crea el mdulo web. Si se est utilizando el marco de trabajo Struts en el mdulo web, el archivo struts-config.xml se encuentra en el nodo Descriptores de distribucin|<Struts 1.1> del mdulo web. Su servidor web tambin puede necesitar descriptores de distribucin adicionales que sean nicos para ese servidor web en particular. Estos pueden modificarse en JBuilder y se crean si se especifica su necesidad por el plug-in del servidor web actualmente configurado.

C a p tulo 3: L o s m d u l o s w e b y l o s a r c h i v o s W A R

3 -9

E l m d u l o w e b y s u s p r o p i e d a d e s

Compruebe la documentacin de su servidor web para averiguar qu descriptores de distribucin requiere. JBuilder proporciona un Editor DD de Mdulo Web que permite modificar el archivo web.xml y un Editor de configuracin de Struts que permite modificar el archivo struts-config.xml. Tambin puede modificar descriptores de distribucin especficos del servidor en JBuilder. Es necesario establecer ciertas correspondencias en el archivo web.xml para que el mdulo web funcione de la forma esperada en el IDE de JBuilder. Estas asignaciones se crean automticamente cuando se utilizan los asistentes de JBuilder para crear las partes del mdulo web. Pueden necesitarse otras asignaciones cuando se distribuya la aplicacin. Si desea ms informacin sobre los descriptores de distribucin y Editor DD de Mdulo Web, consulte el Captulo 10, Modificacin del archivo web.xml.

Propiedades de Mdulo Web


El nodo mdulo web del panel del proyecto tiene diferentes propiedades que se pueden modificar. Si desea modificar las propiedades del nodo mdulo web, haga clic en l con el botn derecho del ratn y seleccione Propiedades en el men. El cuadro de dilogo Propiedades de Mdulo Web cuenta con varias fichas:
s s s s s

Mdulo Web Limpiar Generar Contenido


s

s s s
s

Directorio Clases Dependencias Archivo descriptor

Distribuir

La ficha Mdulo
La ficha Mdulo del cuadro de dilogo Propiedades de Mdulo Web indica el nombre, la ubicacin del directorio, la ubicacin del directorio del recopilatorio WAR y los estndares seleccionados del mdulo web. Una casilla de seleccin permite indicar si se desea incluir la documentacin del proyecto en el recopilatorio. Si se activa esta casilla se puede especificar el nombre del directorio para la documentacin. La ficha Tipos de archivo incluidos contiene los tipos de archivo que se incluyen tanto para la exploracin de archivos como para la generacin del archivo WAR. Slo se incluirn los tipos de archivo que estn seleccionados, dependiendo de sus extensiones.

3-1 0

Gu a d e l d e s a r r o l l a d o r d e a p l i c a c i o n e s w e b

E l m d u l o w e b y s u s p r o p i e d a d e s

Las extensiones de archivo asociadas a cada tipo de archivo se pueden ver y modificar mediante Herramientas|Preferencias|Visualizador|Tipos de archivo. Una casilla de seleccin permite indicar si se desea comprimir el contenido del recopilatorio. Figura 3.2 Ficha Mdulo del cuadro de dilogo Propiedades de Mdulo Web

Consulte
s

Creacin de mdulos web con el Asistente para mdulos web en la pgina 3-3.

La ficha Web
La ficha Web permite configurar la raz de contexto del mdulo web. La raz de contexto es el directorio bajo el que se distribuye el mdulo en el servidor. Esta ficha tambin permite seleccionar los marcos de trabajo JSP/Servlet que se van a utilizar en el mdulo web. La ficha cuenta automticamente con cuatro marcos de trabajo que se suministran con JBuilder: Cocoon, InternetBeans Express, JSTL (Biblioteca de etiquetas estndar para pginas JavaServer) y Struts. Si utiliza el cuadro de dilogo Configurar bibliotecas para aadir marcos de trabajo definidos por el usuario, estos marcos de trabajo estn disponibles en la lista. La lista desplegable URI de inicio se utiliza para especificar el URI que se inicia al ejecutar el mdulo web. Si un mdulo web dispone de un URI de inicio especfico, se puede Ejecutar/Depurar/Optimizar web directamente desde el men contextual del nodo mdulo web del panel del proyecto. Algunos marcos de trabajo, como Cocoon, disponen de una URI de inicio
C a pt u l o 3 : L o s m d u l o s w e b y l o s a r c h i v o s W A R 3 -1 1

E l m d u l o w e b y s u s p r o p i e d a d e s

predilecta, que se establece automticamente cuando se selecciona el marco de trabajo. Esta URI de inicio predilecta se puede redefinir. Si la URI que desea no aparece en la lista desplegable, bsquela pulsando el botn de puntos suspensivos. Figura 3.3 Ficha Web del cuadro de dilogo Propiedades de Mdulo Web

Consulte
s s s s

Presentacin de documentos XML en la Gua del desarrollador de XML Captulo 13, InternetBeans Express Captulo 7, El marco de trabajo Struts en JBuilder Utilizacin del cuadro de dilogo Configurar bibliotecas para gestionar los marcos de trabajo definidos por el usuario en la pgina 6-6

La ficha Limpiar
La ficha Limpiar del cuadro de dilogo Propiedades de Mdulo Web permite aadir, modificar y eliminar los filtros que controlan los archivos y carpetas que se van a eliminar del directorio del mdulo cuando ste se genera.

3-1 2

Gu a d e l d e s a r r o l l a d o r d e a p l i c a c i o n e s w e b

E l m d u l o w e b y s u s p r o p i e d a d e s

Figura 3.4

Ficha Limpiar del cuadro de dilogo Propiedades de Mdulo Web

La ficha Generar
La ficha Generar del cuadro de dilogo Propiedades de Mdulo Web contiene una lista desplegable que indica cundo se genera o se actualiza el recopilatorio web (archivo WAR). La configuracin para crear el recopilatorio corresponde a la lista desplegable Generar rel ecopilatorio web del Asistente para mdulos web. En ocasiones es conveniente desactivar la generacin del recopilatorio web durante el desarrollo, y activarla justo antes de generar el proyecto por ltima vez antes de la distribucin. La casilla de seleccin Sincronizar el directorio del mdulo con el contenido del recopilatorio indica si se actualiza el directorio del mdulo para que refleje fielmente el contenido del recopilatorio cada vez que se genera el recopilatorio web.

C a pt u l o 3 : L o s m d u l o s w e b y l o s a r c h i v o s W A R

3 -1 3

E l m d u l o w e b y s u s p r o p i e d a d e s

Figura 3.5

Ficha Generar del cuadro de dilogo Propiedades de Mdulo Web

La ficha Contenido
La ficha Contenido del cuadro de dilogo Propiedades de Mdulo Web est vaca. Sirve para agrupar otras fichas relacionadas con el contenido del mdulo web:
s s s s

Directorios Clases Dependencias Archivo descriptor

La ficha Directorios
La ficha Directorios del cuadro de dilogo Propiedades de Mdulo Web permite aadir, modificar y eliminar los filtros que excluyen archivos y directorios del directorio del mdulo web. Algunos directorios, como el subdirectorio CVS, que aparece en todos los directorios sometidos a control de versiones, no deben incluirse nunca. La ficha Directorios ofrece la posibilidad de especificar una lista de filtros para los directorios que se van a excluir. Algunos directorios estn excluidos por defecto. Por ejemplo, el directorio CVS del sistema de control de versiones CVS est excluido. Si desea incluir un directorio excluido, seleccinelo en la ficha Directorios y pulse el botn Eliminar para eliminar el filtro de exclusin que se le aplica.

3-1 4

Gu a d e l d e s a r r o l l a d o r d e a p l i c a c i o n e s w e b

E l m d u l o w e b y s u s p r o p i e d a d e s

Figura 3.6

Ficha Directorios del cuadro de dilogo Propiedades de Mdulo Web

La ficha Clases
La ficha Clases controla qu clases y recursos de Java se copian en el subdirectorio de WEB-INF/classes relativo al directorio raz del proyecto en el disco (utilizado durante el desarrollo) y al subdirectorio WEB-INF/classes del archivo WAR generado. La ficha Clases ofrece las siguientes funciones:
s s

La capacidad de especificar los archivos que se excluyen. La capacidad de especificar los filtros de inclusin y exclusin, y dnde permiten los filtros la utilizacin de comodines y recursividad. La capacidad de colocar archivos desde cualquier ubicacin en el archivo WAR.

Pueden existir filtros de inclusin y de exclusin. La sintaxis de un filtro es parecida a la de una plantilla Ant. Es un patrn de correspondencia de archivos que admite *, ** y ? como comodines.
s s s s

* - coincide con 0 o ms caracteres. ** - coincide con todos los directorios a partir de ese punto. ? - coincide con un solo carcter. ! - niega el filtro.

Todos los filtros se aplican de forma relativa, en la va de salida de archivos generados del proyecto de JBuilder. Ejemplos de filtros tpicos:
s s

**/Test*.class - Filtro para todas las clases de prueba de un proyecto. **/*BeanInfo.class - Filtro para todas las clases BeanInfo.
C a pt u l o 3 : L o s m d u l o s w e b y l o s a r c h i v o s W A R 3 -1 5

E l m d u l o w e b y s u s p r o p i e d a d e s
s s

**/*Color??.gif - Filtro para todas las imgenes BeanInfo. com/mycompany/servlet/*.class - Filtro para todas las clases del paquete com.mycompany.servlet.

En los ejemplos anteriores no se especifica si los filtros son de exclusin o de inclusin. Segn la situacin, un filtro determinado se puede utilizar para incluir o para excluir archivos. Los filtros slo funcionan correctamente si se observan las convenciones de escritura de cdigo correspondientes. Por ejemplo, el primer filtro de los ejemplos anteriores slo funcionar correctamente si todos los nombres de clases de prueba y slo los nombres de clases de prueba, empiezan con Test. El cuadro de lista de la ficha Clases recoge los filtros y archivos. Cada filtro del cuadro de lista tiene un icono junto a l que indica si se trata de un filtro de inclusin o de un filtro de exclusin. Cada archivo tiene un icono de archivo junto a l.
Nota

Si la opcin Archivo de clase Java no est seleccionada en la lista Tipos de archivo incluidos de la ficha Mdulo del cuadro de dilogo Propiedades de Mdulo Web, los filtros de esta ficha se obvian. En el caso de los archivos aadidos con el botn Aadir archivos, es posible incluir un archivo desde una ubicacin y especificar su nombre y va de acceso de destino. En otras palabras, el archivo abc/goo/abc.txt se puede escribir en el recopilatorio como bz/def.txt. En el cuadro de lista, los archivos muestran su va de acceso de destino (bz/ def.txt en el ejemplo anterior). La ayuda inmediata muestra el archivo fuente. Los archivos que coinciden con un patrn de filtro de exclusin no se incluyen nunca, aun si cumplen con un patrn de filtro de inclusin. La regla de filtros que se sigue consiste en que excluir tiene prioridad sobre incluir. Cuando se excluye un archivo no es posible incluirlo posteriormente. Por ejemplo, si se excluyen todas las clases cuyos nombres empiezan por Test, pero se incluyen las clases que cumplan con el filtro de inclusin **/*.class, las clases que empiecen por Test no se incluirn. Los archivos de contenido web no se deben incluir en la ficha Clases. El contenido web se debe colocar en el directorio del mdulo del mdulo web o en uno de sus subdirectorios. Se copia en la ubicacin correspondiente en el archivo WAR cuando ste es generado. Los tipos de archivo considerados contenido web se seleccionan en la ficha Mdulo Web del cuadro de dilogo Propiedades de Mdulo Web. Recuerde que las clases se copian en WEB-INF/classes o en sus subdirectorios. Por lo tanto, las clases que se seleccionen deben ser clases a las que pueda accederse desde el servidor, no clases a las que tenga que prestar servicio el servidor web. Por ejemplo, pueden seleccionarse las clases servlet, pero no las clases applet. Los archivos incluidos en el filtro desde dentro de la va de acceso a fuentes del proyecto se copiarn en su ubicacin correspondiente de WEB-INF/classes. Por ejemplo, /myproject/src/com/whatever/whatever.properties se copia a / WEB-INF/classes/com/whatever/whateverproperties.

3-1 6

Gu a d e l d e s a r r o l l a d o r d e a p l i c a c i o n e s w e b

E l m d u l o w e b y s u s p r o p i e d a d e s

Figura 3.7

Ficha Clases del cuadro de dilogo Propiedades de Mdulo Web

La ficha Dependencias
La ficha Dependencias permite indicar qu se hace con las dependencias de las bibliotecas del mdulo web. Generalmente, deber incluir las bibliotecas necesarias. A diferencia de los archivos normales, los archivos JAR de bibliotecas se almacenan tal cual en el directorio WEB-INF/lib (cuando la Configuracin de biblioteca en esta pestaa es Incluir siempre todas las clases y recursos - la configuracin recomendada). Las bibliotecas se configuran por defecto como Incluir todas, excepto las bibliotecas que no necesiten incluirse en el archivo WAR (como lo biblioteca Servlet, proporcionada por el servidor web). Se deben excluir tambin todas las bibliotecas suministradas por el servidor y las que no se utilizan en el mdulo web. La exclusin de estas bibliotecas innecesarias reduce el tamao del archivo WAR y acelera la generacin del mdulo web. La ficha Dependencias del cuadro de dilogo Propiedades de Mdulo Web tiene el mismo aspecto que la ficha Dependencias de cualquier otro tipo de archivo. Si desea ms informacin, consulte el tema de ayuda en pantalla El creador de recopilatorios: determinar cmo tratar las dependencias de las bibliotecas.

C a pt u l o 3 : L o s m d u l o s w e b y l o s a r c h i v o s W A R

3 -1 7

E l m d u l o w e b y s u s p r o p i e d a d e s

Figura 3.8

Ficha Dependencias del cuadro de dilogo Propiedades de Mdulo Web

La ficha Descriptor
La ficha Descriptor del cuadro de dilogo Propiedades de Mdulo Web es igual que la ficha Descriptor de cualquier otro tipo de archivo. Si desea ms informacin, consulte el tema de ayuda en pantalla Creador de recopilatorios: definicin de las opciones del descriptor de recopilatorios. Figura 3.9 Ficha Descriptor del cuadro de dilogo Propiedades de Mdulo Web

3-1 8

Gu a d e l d e s a r r o l l a d o r d e a p l i c a c i o n e s w e b

El archivo WAR

La ficha Distribucin
La ficha Distribucin slo aparece si el servidor seleccionado en la ficha Servidor del cuadro de dilogo Propiedades de proyecto cuenta con un servicio de distribucin. La ficha Distribucin contiene propiedades especficas del servidor, con lo que su contenido vara segn el servidor de aplicaciones que est utilizando. Figura 3.10 Ficha Distribucin del cuadro de dilogo Propiedades de Mdulo Web para Borland Enterprise Server

El archivo WAR
Un archivo WAR es un recopilatorio del mdulo web. La recopilacin en el archivo WAR de todos los archivos y recursos que se necesitan para el mdulo web facilita su distribucin. Asumiendo que todo est correctamente configurado y que todos los recursos necesarios se encuentran en el archivo WAR, todo lo que se necesita para la distribucin es copiar el archivo WAR en la ubicacin correcta del servidor web. Si hay un archivo WAR, aparece un nodo que lo representa debajo del nodo del mdulo web en el rbol del proyecto. Al abrir el nodo del archivo WAR, se muestran sus contenidos en el panel de estructura y tambin se muestran los visualizadores de archivo WAR en el Visualizador de aplicaciones. Los visualizadores del archivo WAR constan de las pestaas Contenido e Histrico.

C a pt u l o 3 : L o s m d u l o s w e b y l o s a r c h i v o s W A R

3 -1 9

El archivo WAR

Figura 3.11 Nodo del archivo WAR abierto en JBuilder IDE

El nodo del archivo WAR tiene un cuadro de dilogo de Propiedades, al que se accede haciendo clic con el botn derecho sobre el nodo y seleccionando Propiedades. En el cuadro de dilogo Propiedades se puede especificar si el archivo WAR se considera un recurso de Java. Esta es la misma ficha Recursos que est disponible en el cuadro de dilogo Generar propiedades de todos los tipos de archivos distintos de Java. Si desea ms informacin sobre Propiedades de recursos, consulte el apartado Recursos del tema de ayuda en pantalla Ficha Generar (Cuadro de dilogo Propiedades de proyecto). Tenga en cuenta que las propiedades ms importantes del archivo WAR se encuentran en el cuadro de dilogo Propiedades de Mdulo Web. El cuadro de dilogo Propiedades del archivo WAR puede tener tambin una ficha Distribucin, segn el servidor de aplicaciones que haya elegido para su proyecto. Si existe, la ficha Distribucin es la misma ficha Distribucin que aparece en el cuadro de dilogo Propiedades de Mdulo Web. Figura 3.12 Cuadro de dilogo Propiedades del archivo WAR

3-2 0

Gu a d e l d e s a r r o l l a d o r d e a p l i c a c i o n e s w e b

El archivo WAR

Para que JBuilder cree un archivo WAR para un mdulo web es necesario tener un nodo mdulo web en el proyecto. Este mdulo web se puede crear mediante el Asistente para mdulos web, que se encuentra disponible en la galera de objetos. Puede indicar a JBuilder que cree o actualice automticamente un archivo WAR siempre que se genere el proyecto, siempre que se genere el mdulo web, en ambos casos o en ninguno de los dos. Para cambiar la configuracin del archivo WAR del mdulo web:

1 Haga clic con el botn derecho del ratn el nodo mdulo web, en el panel
del proyecto, y seleccione Propiedades en el men.

2 Seleccione la ficha Generar del cuadro de dilogo Propiedades de Mdulo


Web.

3 Elija la opcin deseada en la lista desplegable Generar el recopilatorio


web. Existen las siguientes opciones de generacin de recopilatorios web:
s s s s

Al generar el proyecto o el mdulo web Slo al generar el mdulo web Slo al generar el proyecto Nunca

4 Seleccione la ficha Mdulo del cuadro de dilogo Propiedades de Mdulo


Web.

5 Compruebe que el nombre y la ubicacin del archivo WAR deseado son


correctos. Existe la opcin de comprimir el archivo WAR, si as se desea. Esta opcin se encuentra en la ficha Mdulo del cuadro de dilogo Propiedades de Mdulo Web. Ahora tiene un archivo WAR asociado al mdulo web. Recuerde que las diferentes piezas de la aplicacin web deben estar asociadas al mdulo web que se aadir al archivo WAR. Muchos de los asistentes disponen de una lista desplegable Mdulo Web en la que se puede seleccionar un mdulo web cuando se crean estas piezas.

Applets en el archivo WAR


Se puede aadir un applet al archivo WAR, pero se requiere algn trabajo adicional. Para que el applet funcione en el mdulo web, las clases deben ser accesibles. Esto significa que el archivo HTML y las clases del applet deben situarse bajo el directorio raz del mdulo web o en uno de sus subdirectorios. No pueden estar bajo el directorio WEB-INF o sus subdirectorios.

C a pt u l o 3 : L o s m d u l o s w e b y l o s a r c h i v o s W A R

3 -2 1

El archivo WAR

El Asistente para applets no permite que se coloquen los archivos de applet dentro de un mdulo web. Por tanto, es necesario desplazar el archivo HTML del applet y los archivos de clase compilados al directorio raz del mdulo web (o a uno de sus subdirectorios). Dependiendo de a dnde se muevan los archivos de clase, quizs deba modificar el atributo codebase de la etiqueta <applet> de forma que pueda encontrarlos. Si se incluyen archivos de clase applet sueltos (sin recopilar) en un mdulo web, se debe seleccionar Archivo de clase Java como uno de los tipos de archivo incluidos en la ficha Mdulo Web del cuadro de dilogo Propiedades de Mdulo Web. De otra forma, los archivos de clase no se incluirn en el WAR. Tambin se puede poner un archivo JAR de applet en el archivo WAR. Se aplican las mismas reglas. El archivo JAR necesita estar accesible. Esto significa que debe situarse bajo el directorio del mdulo del mdulo web, o de uno de sus subdirectorios, pero no bajo el directorio WEB-INF.

3-2 2

Gu a d e l d e s a r r o l l a d o r d e a p l i c a c i o n e s w e b

Captulo

Captulo 4

Los servlets

Desarrollo web es una funcin de JBuilder Developer y JBuilder Enterprise

Los servlets Java proporcionan un protocolo y un mtodo independiente de las plataformas para crear aplicaciones web sin las limitaciones de rendimiento de los programas CGI. Un servlet se ejecuta dentro de un servidor web y, al contrario que un applet, no necesita una interfaz grfica de usuario. Lo que hacen los servlets es interactuar, por medio de peticiones y respuestas, con el motor de servlets que funciona en el servidor web. Un programa cliente, que puede estar escrito en cualquier lenguaje de programacin, acceder al servidor web y efectuar una solicitud. La solicitud es procesada entonces por el motor de servlets del servidor Web, que la pasa al servlet. Entonces, el servlet, a travs del servidor web, devuelve una respuesta al cliente. En la actualidad, los servlets se utilizan con frecuencia para crear aplicaciones web interactivas. Existe una amplia variedad de servidores web creados por otras compaas con extensiones de motores de servlets: Tomcat (la implementacin de referencias de la API Servlet/JSP), iPlanet de Sun y otros. Los servidores web con motores para servlets, conocidos adems como contenedores servlet, pueden tambin integrarse con servidores de aplicaciones preparados para web. JBuilder Enterprise incluye el Borland Enterprise Server y tambin es compatible con WebLogic, WebSphere e iPlanet de Sun.

Nota

JBuilder Enterprise incorpora Tomcat como el servidor web por defecto. Una ventaja fundamental de la tecnologa servlet es la velocidad. A diferencia de los programas CGI, los servlets se cargan en la memoria una vez y se ejecutan desde la memoria despus de su carga inicial. Los servlets se generan como un hilo y son, por naturaleza, multi-hilo. Y, desde el momento en que estn basados en lenguaje Java, son independientes de la plataforma.
Captulo 4: Los servlets 4 -1

Servlets y JSP

La tecnologa JSP (JavaServer Page - Pgina de servidor Java) es una ampliacin de la tecnologa de servlets, creada especficamente para aceptar el diseo de pginas HTML y XML. La tecnologa JSP facilita la combinacin de datos de plantillas fijas o estticas y contenido dinmico. Incluso aunque los servlets sean suficientes de momento, existen buenas razones para considerar la posibilidad de utilizar la tecnologa JSP como complemento. Para obtener ms informacin sobre la creacin de las JSP. Consulte el Captulo 6, Desarrollo de Pginas JavaServer. Si desea obtener ms informacin sobre los servlets, consulte las siguientes sedes web. Las direcciones y vnculos facilitados son vlidos a la fecha de impresin de este manual. Las sedes web no pertenecen a Borland, por lo que no se puede garantizar su contenido ni su continuidad.
s

Java Servlet Technology en http://java.sun.com/products/servlet/ index.html. Java Servlet Technology: Artculo de fondo en http://java.sun.com/ products/servlet/whitepaper.html. La pgina Java Servlet Technical Resources en http://java.sun.com/ products/servlet/technical.html. La pgina Java Servlet Third-Party Resources en http://java.sun.com/ products/servlet/resources.html. El Servlet Trail del tutorial de Java en http://java.sun.com/docs/books/ tutorial/servlets/index.html.

Tambin puede consultar los siguientes tutoriales con el fin de obtener ms informacin sobre la creacin de servlets en JBuilder:
s s

Captulo 18, Tutorial: Creacin de un servlet simple. Captulo 22, Tutorial: Creacin de un servlet que actualiza un libro de visitas. Captulo 23, Tutorial: Creacin de un servlet con InternetBeans Express.

Servlets y JSP
Las tecnologas JSP y Servlets tienen distintas ventajas. Cmo decidir cul es la ms adecuada para cada situacin?
s

Los servlets son una herramienta de programacin adecuada para las funciones de aplicacin de bajo nivel que no requieren elevadas prestaciones de presentacin. Las pginas JSP constituyen una forma declarativa, centrada en las presentaciones, de enlazar contenido dinmico y lgica de programacin. Las pginas JSP son adecuadas para gestionar la representacin del cdigo HTML que generan las pginas. Estn escritas como pginas similares a las HTML, con una estructura y un contenido que no resultan ajenos a los proveedores de contenido web. Sin embargo, las pginas JSP son mucho ms verstiles que las pginas HTML convencionales. Las

4-2

Gua del desarrollador de aplicaciones web

Servlets y servidores web

pginas JSP pueden gestionar cdigo de aplicaciones mediante el uso de componentes JavaBeans, Enterprise JavaBeans (EJB) y etiquetas personalizadas. Tambin se pueden utilizar como componentes de presentaciones modulares y reutilizables, que pueden asociarse con un mecanismo de plantillas. Las pginas JSP se compilan en servlets, por lo que, en teora, se pueden escribir servlets que acepten las aplicaciones web. Sin embargo, la tecnologa JSP se ha desarrollado con el objeto de simplificar el proceso de creacin de pginas separando la presentacin del contenido. En muchas aplicaciones, la respuesta que se enva al cliente es una combinacin de datos de plantilla y datos generados dinmicamente. En estos casos resulta mucho ms fcil trabajar con pginas JSP que hacerlo todo con servlets.

Servlets y servidores web


En 1999, Sun Microsystems entreg las hasta entonces ltimas versiones de las API de Servlet y JSP a la Apache Software Foundation. Apache, junto con Sun y otras muchas compaas, desarroll e hizo pblica la implementacin oficial de referencia para JSP/Servlet, denominada Tomcat. Es la nica implementacin de referencia disponible. Tomcat est disponible de forma gratuita para cualquier compaa o desarrollador. JBuilder Developer y Enterprise proporcionan Tomcat para utilizarlo como servidor web.
s

Si desea obtener ms informacin acerca de la Apache Software Foundation y Tomcat, dirjase a http://jakarta.apache.org. Si desea ms informacin sobre JBuilder y los servidores web, consulte JBuilder con Tomcat en Desarrollo de aplicaciones para servidores J2EE.

Existen otros muchos servidores web que admiten los servlets de Sun y las API de JSP. Si desea obtener una lista de estos productos, consulte el tema Servers and Engines en la pgina Servlet Technology Industry Momentum de Sun, en http://java.sun.com/products/servlet/industry.html.

La API de servlet
La API de servlet est contenida en el paquete javax.servlet. Todos los servlets deben implementar, directa o indirectamente, la interfaz javax.servlet.Servlet. Esta interfaz permite al servlet ejecutarse en un motor servlet (una extensin de un navegador web). Tambin define el ciclo de vida de los servlets. La API de servlet est incrustada en muchos servidores web, incluyendo Tomcat, el servidor web por defecto suministrado con JBuilder. La siguiente tabla ofrece una lista de las clases e interfaces utilizadas con ms frecuencia en el paquete servlet y suministra una breve descripcin de cada una.

Captulo 4: Los servlets

4 -3

El ciclo de vida de los servlets

El paquete servlet.HTTP
El paquete javax.servlet.http se utiliza para crear servlets que admiten el protocolo HTTP y la generacin de HTML. El protocolo HTTP utiliza un conjunto de mtodos de solicitudes y de respuestas basadas en texto (mtodos HTTP), que incluyen:
s s s s s s s s

GET POST PUT DELETE HEAD TRACE CONNECT OPTIONS

La clase HttpServlet implementa estos mtodos HTTP. Para empezar, simplemente se extiende HttpServlet y se redefinen los mtodos doGet() o doPost(). Con el fin de obtener un mayor control, tambin se pueden redefinir los mtodos doPut() y doDelete(). Si se crea un servlet con el asistente para Servlets de JBuilder, se pueden seleccionar los mtodos que se quieren redefinir y JBuilder genera el esqueleto del cdigo automticamente.

El ciclo de vida de los servlets


La interfaz javax.servlet.Servlet contiene los mtodos del ciclo de vida del servlet. Estos mtodos se implementan para:
s s s

Construir el servlet e inicializarlo con el mtodo init(). Gestionar las llamadas de los clientes al mtodo service(). Dejar fuera de servicio el servlet, destruyndolo con el mtodo destroy() y realiza tareas de liberacin de la memoria no utilizada.

Construccin e inicializacin del servlet


Cuando se inicia el motor de servlets o cuando un servlet necesita responder a una solicitud, el motor de servlets llama al mtodo init() para informar a un servlet que est siendo puesto en servicio. El motor de servlets llama a init() solamente una vez tras haber instanciado el servlet. Debe completarse el mtodo init() antes de que el servlet pueda recibir solicitudes. El parmetro ServletConfig del mtodo init() es un objeto que contiene la configuracin del servlet y sus parmetros de inicializacin. (Despus de que se haya inicializado el servlet, se puede utilizar getServletConfig() para recuperar esta informacin.)

4-4

Gua del desarrollador de aplicaciones web

Servlets con enlace a HTML

Una vez que el servlet se ha cargado en memoria, puede residir en un sistema de archivos local, en un sistema de archivos remoto o en una red.

Gestin de las peticiones del cliente


El motor de servlets llama al mtodo service() para permitir que el servlet responda a una solicitud. Los objetos de solicitud y de respuesta se pasan como parmetros al mtodo service() cuando un cliente efecta una solicitud. El servlet tambin puede implementar las interfaces ServletRequest y/o ServletResponse para permitir que el servlet acceda a los parmetros de la solicitud y a los datos de la respuesta. Los parmetros de la solicitud incluyen datos o mtodos de protocolo. Los datos de la respuesta incluyen las cabeceras de la respuesta y los cdigos de estado.

Servlets y multihilo
Tpicamente, los servlets son multihilo, lo que permite que un servlet sencillo gestione mltiples solicitudes de forma concurrente. Como desarrollador, debe hacer que cualquier recurso, tales como archivos, conexiones de red y variables de clase y de instancia del servlet, pueda ser gestionado mediante hilos con garanta. Si desea ms informacin sobre los hilos y su seguridad, consulte Tcnicas de hilos en Procedimientos iniciales con Java. Se puede crear un servlet con un hilo nico, utilizando la interfaz SingleThreadModel. Estas interfaz permite que un servlet responda solamente a una solicitud a la vez. Esto no suele ser prctico para los servlets. Si un servlet est restringido a un solo hilo, el servidor web coloca las solicitudes en cola e inicia otra instancia del servlet para dar respuesta a la demanda.

Destruccin de un servlet
Un motor de servlets no mantiene cargado un servlet durante un cierto perodo de tiempo especificado o durante el tiempo de vida del servidor. Los motores de servlets pueden retirar los servlets en cualquier momento. A causa de ello, se deben programar los servlets de forma que no almacenen informacin de estado. Con el fin de liberar recursos, utilice el mtodo destroy().

Servlets con enlace a HTML


Los servlets pueden generar fcilmente texto con formato HTML, lo que permite utilizar los servlets para generar o modificar dinmicamente pginas HTML. Con la tecnologa servlet, no se necesita usar lenguajes de script. Por ejemplo, se pueden utilizar los servlets para personalizar la utilizacin que un usuario hace de una pgina Web modificando continuamente dicha pgina HTML.
Captulo 4: Los servlets 4 -5

S e r v l e t s e s p e c f i c o s p a r a H T T P

Si su servidor web cuenta con la funcionalidad SSI, puede utilizar la etiqueta del <servlet> para preprocesar pginas web. Esta etiqueta debe estar en un archivo con una extensin .shtml. La etiqueta <servlet> informa al servidor web de que un servlet preconfigurado debera cargarse e inicializarse con el conjunto dado de parmetros de configuracin. La salida del servlet se incluye en una respuesta con formato HTML. Al igual que ocurre con la etiqueta <applet>, se pueden utilizar los atributos class y codebase para especificar las ubicaciones del servlet. Un ejemplo de una etiqueta <servlet> es como sigue: <servlet> codebase="" code="dbServlet.Servlet1.class" param1=in param2=out </servlet>

Servlets especficos para HTTP


Los servlets utilizados con protocolo HTTP (mediante la extensin de HTTPServlet), pueden admitir cualquier mtodo HTTP. Pueden redireccionar las solicitudes hacia otras ubicaciones y enviar mensajes de error especficos para HTTP. Adicionalmente, pueden acceder a los parmetros que se hayan pasado a travs de formularios HTML estndar, incluyendo el mtodo HTTP a realizar y el URI que identifica el destino de la solicitud: String String String String String String method uri name phone address city = = = = = = request.getMethod(); request.getRequestURI(); request.getParameter("name"); request.getParameter("phone"); request.getParameter("address"); request.getParameter("city");

En el caso de los servlets HTTP, los datos de solicitud y respuesta se suministran como datos con el formato MIME. El servlet especifica el tipo de datos y los escribe codificados en ese formato. Eso permite que el servlet reciba datos de entrada de un tipo determinado y devuelva datos con la forma apropiada para esa solicitud.

Cmo se utilizan los servlets


Debido a la robusta funcionalidad de la API de los servlets, stos pueden utilizarse en una gran variedad de formas:
s

Como parte de un sistema de introduccin y procesamiento de rdenes, que trabajan con las bases de datos de clientes, productos e inventarios. Por ejemplo, un servlet podra procesar datos, como los de una tarjeta de crdito, y enviarlos (POST) sobre HTTPS utilizando una etiqueta <form> HTML.

4-6

Gua del desarrollador de aplicaciones web

Distribucin de servlets
s

En conjuncin con una applet, como parte de una intranet corporativa, para seguir la trayectoria de la informacin de los empleados o de los historiales de salarios. Como parte de un sistema colaborativo (p.e., un sistema de envo de mensajes) en donde uno o varios servlets manejan solicitudes mltiples de forma concurrente. Como parte de un proceso de equilibrado de carga, en donde los servlets envan solicitudes en cadena. Como un servlet de enlace a HTML, para insertar datos formateados en una pgina web desde una consulta de base de datos o desde una bsqueda en la web, o para crear banners publicitarios con destino personalizado.

Distribucin de servlets
Los servlets pueden distribuirse autnomamente a un servidor web de produccin. Tambin pueden distribuirse como un mdulo J2EE. Un mdulo J2EE consta de uno o ms componentes J2EE del mismo tipo (web, EJB, cliente, etc.) que comparten un descriptor de distribucin. Si desea ms informacin y sugerencias sobre la distribucin, consulte el Captulo 9, Distribucin de aplicaciones web.

Captulo 4: Los servlets

4 -7

4-8

Gua del desarrollador de aplicaciones web

Captulo

Captulo 5

Los servlets en JBuilder

Desarrollo web es una funcin de JBuilder Developer y JBuilder Enterprise

En JBuilder Enterprise, puede utilizar el Asistente para servlets con el fin de crear un archivo Java que derive de javax.servlet.http.HttpServlet. El Asistente para servlets de JBuilder crea servlets que generan los siguientes tipos de contenido:
s s s s

HTML: HyperText Markup Language (Lenguaje de marcado de hipertexto). XHTML: una reformulacin de HTML 4.0 como aplicacin de XML. WML: Wireless Markup Language (Lenguaje de marcado inalmbrico). XML: eXtensible Markup Language (Lenguaje de marcado extensible).

Con el Asistente para servlets, tambin se pueden crear servlets estndar, servlets de filtro o servlets de monitor (si su servidor web admite las especificaciones Java Servlets v2.3).

Opciones del Asistente para servlets


El Asistente para servlets facilita la creacin de servlets. Para iniciar el asistente, seleccione Archivo|Nuevo. Pulse el nodo Web de la galera de objetos, seleccione Servlet y pulse Aceptar. (En primer lugar hay que activar un servidor para el proyecto.)

C a p t u l o 5 : L o s s e r v l e t s e n J B u i l d e r

5 -1

Opciones del Asistente para servlets

Ficha Seleccione el nombre y el tipo de servlet


En el primer paso del Asistente para servlets, se puede seleccionar el paquete al que pertenecer el servlet. Tambin se puede introducir el nombre del servlet en el campo Clase. Si se quieren reproducir los comentarios de la cabecera aadidos a otras clases en el proyecto (consulte el tema de Ayuda en lnea Asistente para proyectos), seleccione la opcin Generar comentarios de cabecera. La opcin Modelo de hilo nico implementa la interfaz SingleThreadModel. Si se selecciona esta opcin, el servlet ser un poco menos eficaz, ya que el servidor web pondr en cola las solicitudes e iniciar otra instancia del servlet para atender la demanda. En la lista desplegable Mdulo web, seleccione el nombre del mdulo web del que forma parte este servlet. Todos los archivos de contenido web, como un archivo HTML de un servlet, se colocan en el directorio del mdulo web. Los archivos descriptores de distribucin tambin se colocan en este directorio. Tambin se puede crear un mdulo web aqu, mediante el botn Nuevo que se encuentra junto al campo Mdulo web. Las opciones en la parte inferior del cuadro de dilogo permiten seleccionar el tipo de servlet que se est creando.
Nota

Estas opciones estn disponibles solamente si su servidor web admite las especificaciones de Java Servlets v2.3. (Tomcat 4.x es la implementacin de referencia de estas especificaciones.) De otra forma, se crear por defecto un servlet estndar. Tabla 5.1 Opciones de tipo de Servlet Descripcin
Un servlet que no es de filtro ni monitor. La opcin Servlet estndar est disponible siempre que se selecciona el mdulo web <default> o un mdulo web con nombre. Cuando esta opcin se encuentra seleccionada como mdulo web por defecto, el nombre del servlet es por defecto el nombre de la clase simple del servlet, en minsculas (consulte el apartado Ficha Introduzca los detalles de webapp en la pgina 5-8). Si el mdulo web tiene nombre, la direccin URL del servlet (tambin en la ficha Introduzca los detalles de webapp) tiene por defecto el modelo URL: /servletname (todo en minsculas). Un servlet que acta como filtro para otro servlet o para el mdulo web. Adems del nombre, se debe seleccionar un modelo de URL para el otro servlet (que debe tener un nombre). Si est opcin est seleccionada, la ficha Introduzca los detalles de webapp, donde se da nombre al servlet y se especifica la asignacin del filtro, es la otra nica ficha disponible del asistente para servlets. Un servlet que se aade a la lista de monitores del mdulo web. Si selecciona esta opcin, la ficha Introduzca los detalles del servlet monitor es la nica disponible en el Asistente para servlets.

Tipo de servlet
Servlet estndar

Servlet de filtro

Servlet monitor

5-2

Gua del desarrollador de aplicaciones web

Opciones del Asistente para servlets

Figura 5.1

Asistente para servlets ficha Seleccione el nombre y el tipo de servlet

Ficha Modificar detalles del servlet estndar


Si se ha seleccionado Servlet estndar como tipo de servlet en la ficha Seleccione el nombre y el tipo de servlet del Asistente para servlets, la ficha Introduzca los detalles del servlet estndar es el Paso 2 del asistente. Esta ficha permite elegir el tipo de contenido del servlet, los mtodos que se implementan y seleccionar si se genera un archivo HTML para probar el servlet. Figura 5.2 Asistente para servlets ficha Modificar detalles del servlet estndar

C a p t u l o 5 : L o s s e r v l e t s e n J B u i l d e r

5 -3

Opciones del Asistente para servlets

Opcin Servlet genera contenido de tipo


Se utiliza la lista desplegable Servlet genera contenido de tipo para seleccionar el tipo de contenido del servlet. Entre las opciones estn:
s

HTML: HyperText Markup Language (Lenguaje de marcado de hipertexto). Un lenguaje de marcas para documentos de hipertexto utilizados en Internet. HTML permite incrustar imgenes, sonidos, videos, campos de formulario y referencias a otros objetos mediante direcciones URL, as como un funciones bsicas de formato de texto. XHTML: una reformulacin de HTML 4.0 como aplicacin de XML. Las etiquetas y los atributos son casi idnticos a los de HTML, pero XHTML es ms estricto y mejor estructurado. Por ejemplo, todas las etiquetas XHTML se escriben en minsculas y todas las etiquetas de apertura deben tener una etiqueta de cierre. XHTML permite a los diseadores web evolucionar hacia una web ms modular y ampliable basada en XML, a la vez que se mantiene la compatibilidad con los navegadores HTML 4 actuales. Se aade al archivo generado .java una lnea de cdigo que indica que DOC TYPE corresponde a XHTML. Su aspecto es el siguiente: private static final String DOC_TYPE = <!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"\n" + " \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">"; Se aade un texto de las mismas caractersticas en la parte superior del archivo HTML, si se ha generado.

WML: Wireless Markup Language (Lenguaje de marcado inalmbrico). Los archivos WML son archivos de texto normales con contenido XML. Debido a las restricciones de ancho de banda y capacidad de memoria de los dispositivos mviles, el contenido debe compilarse en formato binario compacto para poder suministrarlo a los dispositivos compatibles con WAP (Protocolo de aplicaciones inalmbricas). Para servlets WML, solamente se genera un archivo de clase .java. No existe la opcin de generar archivos HTML con servlets de tipo WML. El archivo de clase .java contiene una lnea de cdigo que indica que el TIPO DE DOCUMENTO es WML y el TIPO DE CONTENIDO es WAP. Tiene el siguiente aspecto: private static final String CONTENT_TYPE = "text/vns.wap.wml"; private static final String DOC_TYPE = "<!DOCTYPE wml PUBLIC \"-//WAPFORUM//DTD WML 1.2//EN\"\n" + " \"http://www.wapforum.org/DTD/wml12.dtd\">"; Tambin se aade cdigo que indica que la solicitud GET del servlet se debe ejecutar a peticin del servlet WML. Su aspecto es el siguiente: out.println(<?xml version=\1.0\?>); out.println(DOC_TYPE); out.println("<wml>"); out.println("<card>"); out.println("<p>The servlet has received a GET. This is the reply.</p>"); out.println("</card></wml>");

5-4

Gua del desarrollador de aplicaciones web

Opciones del Asistente para servlets


s

XML: eXtensible Markup Language (Lenguaje de marcado extensible). Lenguaje de marcas que permite definir las etiquetas (marcas) necesarias para identificar los datos y el texto de los documentos XML. Si desea ms informacin sobre la compatibilidad de XML en JBuilder, consulte la Introduccin de la Gua del desarrollador de XML. Para servlets XML, se genera una clase .java. La opcin para crear un archivo HTML se elimina. El archivo .java incluye cdigo para identificar el servlet como un servlet-XML. Tiene el siguiente aspecto: private static final String CONTENT_TYPE = "text/xml"; El mtodo doGet() de la versin HTML del servlet se modifica con el cdigo siguiente: out.println(<?xml version=\1.0\?>); if (DOC_TYPE != null) { out.println(DOC_TYPE); }

Opciones de Implementar mtodos


Este rea del Asistente para servlets proporciona opciones para la redefinicin de los mtodos estndar. HttpServlet proporciona una clase abstracta que se puede utilizar como subclase para crear un servlet HTTP, que recibe peticiones y enva respuestas a un cliente web. Cuando se utiliza HttpServlet como subclase, se debe modificar al menos un mtodo, normalmente uno de los siguientes. Si desea obtener ms informacin sobre los mtodos, consulte la documentacin de los servlets en http:// java.sun.com/products/servlet/index.html. Los siguientes mtodos pueden generarse automticamente en el servlet: Tabla 5.2 Mtodo doGet Mtodos de servlets Descripcin
Permite a un cliente leer informacin del servidor web mediante una cadena de consulta aadida a una direccin URL que indica al servidor qu informacin debe devolver. Tambin se produce un GET cuando se escribe una direccin, se pulsa un enlace o se utiliza un marcador. Pase por alto este mtodo si su servlet va a admitir solicitudes GET HTTP. Permite que el cliente enve datos de longitud ilimitada al servidor web. Tambin se produce un POST cuando se pulsa un botn Enviar en el navegador. Pase por alto este mtodo si su servlet va a admitir solicitudes POST HTTP. Permite a un cliente colocar un archivo en el servidor, de forma similar al envo de un archivo mediante FTP. Pase por alto este mtodo si el servlet admite peticiones HTTP PUT. Permite a un cliente eliminar un documento o pgina web del servidor. Pase por alto este mtodo si el servlet admite peticiones HTTP DELETE.

doPost

doPut

doDelete

C a p t u l o 5 : L o s s e r v l e t s e n J B u i l d e r

5 -5

Opciones del Asistente para servlets

Opcin Generar archivo HTML con el formulario


La opcin Generar archivo HTML con el formulario permite probar directamente el mtodo doPost() en un servlet o probar diferentes parmetros en un mtodo doGet(). Esta opcin aade un archivo HTML que utiliza una etiqueta form al nodo Directorio del mdulo del mdulo web. Por defecto, se le da el mismo nombre que al servlet, pero con la extensin de archivo HTML. Seleccione el color de fondo del archivo HTML de la lista desplegable Color de fondo.
Nota

Se pueden configurar parmetros de comprobacin en la siguiente ficha del asistente, la ficha Introduzca los parmetros de la peticin del servlet. La opcin Generar archivo HTML con el formulario y el atributo action del formulario resultante depende de las selecciones de los mtodos doGet() y doPost(): doGet()
No seleccionado Seleccionados No seleccionado Seleccionados

doPost()
No seleccionado No seleccionado Seleccionados Seleccionados

Result
Opcin Generar archivo HTML con el formulario desactivado. Valor get para el atributo action del formulario generado. Valor post. para el atributo action del formulario generado. Valor post. para el atributo action del formulario generado.

Ficha Introduzca los detalles del servlet monitor


Esta ficha est disponible solamente si se ha seleccionado Servlet monitor como tipo de servlet en la ficha Seleccione el nombre y el tipo de servlet del Asistente para servlets. Esta ficha se utiliza para implementar una o ms interfaces de servlet monitor. Los mtodos correspondientes se aaden al servlet. El Asistente para servlets aade automticamente los monitores seleccionados a la seccin Monitores del archivo descriptor de distribucin web.xml. Si desea ms informacin, consulte Ficha Monitores en Modificacin del archivo web.xml.

5-6

Gua del desarrollador de aplicaciones web

Opciones del Asistente para servlets

Figura 5.3

Asistente para servlets - ficha Introduzca los detalles del servlet monitor

Ficha Introduzca los parmetros de la peticin del servlet


En esta ficha Introduzca los parmetros de la peticin del servlet se especifican los parmetros del servlet. Los parmetros son valores que se pasan al servlet. Los valores podran ser valores de entrada simples. No obstante, tambin podran afectar a la lgica de ejecucin del servlet. Por ejemplo, el valor introducido por el usuario podra determinar la tabla de la base de datos que se presentar o actualizar. Alternativamente, un valor introducido por el usuario podra determinar el color de fondo de una pgina HTML que genera el servlet. Tabla 5.3 Parmetro
Nombre

Parmetros de la peticin del servlet Descripcin


El nombre del parmetro, por ejemplo UserName o Password. En el archivo de formulario HTML generado automticamente, el parmetro Name almacena la informacin introducida en el campo de entrada de texto del formulario. Este valor se pasa entonces desde el archivo HTML a la variable local (el parmetro Variable) del servlet. Campo obligatorio. El tipo de parmetro, por ejemplo String, boolean, o int. Campo obligatorio. Una descripcin del parmetro. Este texto describe el campo de entrada del formulario.

Tipo Desc

C a p t u l o 5 : L o s s e r v l e t s e n J B u i l d e r

5 -7

Opciones del Asistente para servlets

Tabla 5.3 Parmetro


Variable

Parmetros de la peticin del servlet (continuacin) Descripcin


El nombre de la variable local en el mtodo doGet() del archivo servlet generado automticamente. Esta variable almacena el valor del parmetro Name que se pasa desde el formulario HTML al servlet. Campo obligatorio. El valor por defecto del parmetro. El servlet generado automticamente asigna este valor al parmetro Variable si se encuentra vaco.

Valor por defecto

El servlet del tutorial del Captulo 18, Tutorial: Creacin de un servlet simple utiliza un parmetro de tipo String para permitir la introduccin del nombre de usuario. El nombre del parmetro en el archivo HTML es UserName. La variable correspondiente, utilizada en el archivo de clase del servlet, es userName. Figura 5.4 Asistente para servlets ficha Introduzca los parmetros de la peticin del servlet

Ficha Introduzca los detalles de webapp


Esta ficha permite definir rpidamente las asignaciones bsicas de mdulo web. (El mdulo web seleccionado se utiliza para ejecutar o depurar el servlet.) El Asistente para servlets aade automticamente las asignaciones de los servlets a las secciones Servlet o Filtros del archivo descriptor de distribucin web.xml. Si desea ms informacin, consulte Servlets en la pgina 9-2.
s

Si se ha seleccionado Servlet Estndar como tipo de servlet en la ficha Seleccione el nombre y el tipo de servlet del asistente, ste es el Paso 3. Si se ha seleccionado Servlet de filtro, ste es el Paso 2 del asistente.

5-8

Gua del desarrollador de aplicaciones web

Opciones del Asistente para servlets

Si desea ms informacin sobre la asignacin de nombres de servlet y los patrones URL, consulte Cmo los URL ejecutan los servlets en la pgina 8-10. El campo Nombre se aplica a servlets tanto estndar como de filtro. Este campo se presenta para los servlets estndar que se ejecutan tanto en el mdulo web <default> como en los mdulos web con nombre, y para los servlets de filtro. El asistente sugiere un nombre de servlet que es el mismo que el de la clase en minsculas. Se sugiere el mismo nombre para el URI, precedido por una barra (todas las URI deben comenzar con una barra). Sin embargo, puede cambiar estos nombres por otros, siempre que sean vlidos. Por ejemplo, podra tener el patrn de URL /myhtmlfile.html ejecutando el servlet llamado custlist que realmente es la clase package.subpackage.CustomerList. La entrada en el campo Nombre es el nombre utilizado para identificar al servlet en el archivo web.xml. El nombre se muestra en el nodo Servlets en el panel de estructura para el archivo web.xml. Tambin se utiliza para asignar el patrn de URL al servlet. El patrn de URL se corresponde explcitamente con un servlet mediante el nombre del mismo; no hay una asignacin implcita entre el nombre del servlet y la URL. Por ejemplo, el siguiente URL: http://localhost:8080/guestbook/formservlet genera la siguiente URI (la URI permanece despus de que el protocolo, el nombre de host y el nmero de puerto son eliminados de la URL): /guestbook/formservlet El principio de la URI se compara con todos los nombres de mdulo web conocidos. Una coincidencia hace que la parte restante de la URI se dirija a ese mdulo web o contexto en concreto.
Nota

Si no hay coincidencia de mdulo web o contexto, la URI se pasa tal cual al mdulo web por defecto. La URI es entonces comparada con todos los patrones de URL conocidos. Estos patrones se encuentran en la ficha Servlets del Editor DD de Mdulo Web. Un patrn determinado, tiene un correspondiente nombre de servlet. Ese nombre identifica al servlet, que podra ser tambin un archivo JSP, puesto que stos se compilan en servlets.

Nota

Si pulsa Finalizar antes de llegar a este paso del asistente, se crea una correspondencia de servlets por defecto (/servletname, todo en minscula).

C a p t u l o 5 : L o s s e r v l e t s e n J B u i l d e r

5 -9

Opciones del Asistente para servlets

Figura 5.5

Asistente para servlets ficha Introduzca los detalles del mdulo web (Servlet estndar)

Ficha Introduzca los detalles de WebApp (Servlets de filtro)


Para los servlets de filtro, puede seleccionarse cmo asignar el servlet, bien con la opcin Patrn de URL o con la opcin Servlet. La lista desplegable Servlet permite seleccionar otro servlet en el proyecto que ser filtrado por este servlet. (Este campo contiene por defecto el nombre en minsculas del primer servlet del proyecto, precedido por una barra. Por ejemplo, si su proyecto ya contiene Servlet1.java y Servlet2.java, ambos servlets estndar, el campo Servlet asignado contendra por defecto / servlet1.) La lista desplegable muestra, por orden alfabtico, todos los servlets estndar del proyecto. Si no hay ninguno, la opcin est desactivada. Figura 5.6 Asistente para servlets ficha Introduzca los detalles del mdulo web (Servlet de filtro)

5-1 0

Gu a d e l d e s a r r o l l a d o r d e a p l i c a c i o n e s w e b

Cmo llamar a los servlets

Ficha Definir configuracin de servlet


Esta ficha crea una configuracin de ejecucin para su servlet. Solamente necesita crear una configuracin para el servlet que inicia el flujo de procesos en la aplicacin, pero no para los servlets que llaman otros servlets. Para crear la configuracin, asegrese de que est activada la opcin Crear una configuracin de ejecucin. Escriba el nombre de la configuracin en el campo Nombre. Puede utilizar una configuracin existente como base. Seleccinela en la lista desplegable Configuracin base. Si desea ms informacin, consulte:
s s

Creacin de una configuracin de ejecucin en la pgina 8-2. Definicin de configuraciones de ejecucin en el captulo Ejecucin de programas en Java de Creacin de aplicaciones con JBuilder. Asistente para Servlets ficha Definir configuracin de servlet

Figura 5.7

Cmo llamar a los servlets


Se puede abrir un servlet desde una ventana del navegador o desde una pgina HTML.
s

Para abrir un servlet desde una ventana del navegador, escriba la URL en el campo de direccin del navegador. Para abrir un servlet desde una pgina HTML, utilice la URL del servlet en una etiqueta HTML.

C a p t u l o 5 : L o s s e r v l e t s e n J B u i l d e r

5 -1 1

Cmo llamar a los servlets

Llamada a un servlet desde una ventana de un visualizador


Se puede llamar a un servlet directamente escribiendo su URL dentro del campo de ubicacin del navegador Web. No obstante, esto slo funciona cuando el servidor web tiene un servlet llamador de servidor (un servlet cuyo nico propsito es ejecutar otros servlets). Tomcat tiene un servlet llamador, pero muchos otros servidores no. El uso de un servlet llamador no se recomienda por no ser transportable. Si decide utilizar un servlet llamador, la forma general del URL del servlet, donde nombredeclasedeservlet corresponde al nombre de clase del servlet, es: http://nombredeequipo:nmerodepuerto/servlet/nombredeclasedeservlet Por ejemplo, cualquier URL que cumpliera con uno de los siguientes formatos podra servir para ejecutar un servlet:
s s s

http://localhost:8080/servlet/Servlet1 (que se ejecuta en el ordenador local). http://www.borland.com/servlet/Servlet1 (ejecucin desde su URL) http://127.0.0.1/servlet/Servlet1 (que se ejecuta desde esta direccin IP).

Nota

Si se omite el nmero de puerto, el protocolo HTTP escoge por defecto el puerto 80.La primera URL del ejemplo anterior se usara en el IDE si se ha configurado como puerto de configuracin de ejecucin el 80 y no se est ejecutando ya un servidor web en este puerto. Los otros ejemplos se utilizaran en situaciones reales, despus de que la aplicacin web haya sido distribuida en un servidor web. Las direcciones URL de servlets pueden contener consultas para las peticiones HTTP GET. Por ejemplo, el servlet del Captulo 18, Tutorial: Creacin de un servlet simple, se puede ejecutar introduciendo la siguiente URL para el servlet: http://localhost:8080/servlet/simpleservlet.Servlet1?userName=Mary simpleservlet.Servlet1 es el nombre de clase completo. El ? indica que una cadena de consulta se aade a la URL. userName=Mary es el nombre y el valor del parmetro. Si simpleservlet.Servlet1 se asigna al patrn de URL /firstservlet, debera escribir: http://localhost:8080/firstservlet?userName=Mary Si desea ms informacin sobre la forma en que se ejecutan los servlets, consulte Cmo los URL ejecutan los servlets en la pgina 8-10.

5-1 2

Gu a d e l d e s a r r o l l a d o r d e a p l i c a c i o n e s w e b

Internacionalizacin de servlets

Llamada a un servlet desde una pgina HTML


Para llamar a un servlet desde una pgina HTML basta con utilizar la direccin URL del servlet dentro de la correspondiente etiqueta HTML. Las URL de servlets se pueden utilizar como etiquetas HTML en cualquier parte de una URL normal, como el destino de un ancla, una accin de un formulario y la ubicacin que deber utilizarse cuando una etiqueta meta indique que hay que actualizar una pgina. Tabla 5.4 Etiqueta form
Una etiqueta meta que usa una direccin URL de servlet como parte del valor del atributo http-equiv.

Ejemplos de URL de servlets en etiquetas HTML Descripcin <form action="simpleservlet/servlet1 method="post"> <meta http-equiv="refresh" content="4; url=simpleservlet/servlet1">

Nota

Tenga en cuenta que se puede substituir el patrn de URL por el nombre completo de la clase del servlet.

Internacionalizacin de servlets
Los servlets plantean un interesante problema de internacionalizacin. Puesto que el servlet enva al cliente cdigo fuente HTML, si ese cdigo HTML contiene caracteres no disponibles en el juego de caracteres que admite el servidor sobre el que se ejecuta el servlet, podra suceder que el visualizador del cliente fuese incapaz de leerlos. Por ejemplo, si el sistema de codificacin utilizado en el servidor es ISO-8859-1, pero el cdigo HTML generado por el servlet contiene caracteres de doble byte, esos caracteres no aparecern correctamente en el visualizador del cliente, incluso aunque se haya configurado correctamente para visualizarlos. Especificando un tipo de codificacin en el servlet, podemos situar el servlet en cualquier servidor, sin necesidad de conocer el tipo de codificacin que dicho servidor utiliza. Los servlets pueden responder tambin a los datos introducidos por el cliente, y generar cdigo HTML en un determinado idioma. He aqu un ejemplo que muestra cmo especificar el tipo de codificacin dentro del servlet. En el cdigo fuente Java generado por el Asistente para servlets, el mtodo doPost() contiene la siguiente lnea: PrintWriter out = response.getWriter(); Esta lnea puede sustituirse por lo siguiente: OutputStreamWriter writer = new OutputStreamWriter( response.getOutputStream(), "encoding"); PrintWriter out = new PrintWriter(writer);

C a p t u l o 5 : L o s s e r v l e t s e n J B u i l d e r

5 -1 3

Escritura de servlets enlazados a datos

El segundo argumento del constructor OutputStreamWriter es una cadena que representa el tipo de codificacin deseado. Esta cadena puede residir en un recurso, estar codificada directamente en el programa, o definirse mediante una variable. Una llamada a System.getProperty("file encoding") devuelve una cadena que representa el tipo de codificacin utilizado por el sistema. Si en la llamada al constructor OutputStreamWriter slo se especifica el primer argumento, se emplear el tipo de codificacin actual.

Escritura de servlets enlazados a datos


Las tecnologas de desarrollo de JBuilder incluyen el InternetBeans Express API para simplificar la creacin de servlets con enlace a datos. InternetBeans Express es un conjunto de componentes que leen fichas HTML y generan cdigo HTML a partir de modelos de datos DataExpress, facilitando la creacin de servlets y pginas JSP asociados a datos. Los componentes generan HTML y se utilizan con servlets y JSP para crear contenido dinmico. Las asociaciones y optimizaciones estn ideadas para su uso con determinadas funciones de los componentes DataExpress, pero se pueden utilizar con modelos de datos Swing genricos. Si desea ms informacin sobre el uso de InternetBeans Express, consulte el Captulo 13, InternetBeans Express. Tambin puede consultar el Captulo 23, Tutorial: Creacin de un servlet con InternetBeans Express.

5-1 4

Gu a d e l d e s a r r o l l a d o r d e a p l i c a c i o n e s w e b

Captulo

Captulo 6

Desarrollo de Pginas JavaServer

Desarrollo web es una funcin de JBuilder Developer y JBuilder Enterprise

La tecnologa de Pginas JavaServer (JSP) permite a los programadores y diseadores de web desarrollar rpidamente y mantener con facilidad el contenido de pginas web dinmicas y ricas en informacin, que aprovechan los sistemas empresariales existentes. La tecnologa JSP, que forma parte de la familia Java, permite desarrollar con rapidez aplicaciones web que se ejecutan en cualquier sistema informtico. En teora, la tecnologa de Pginas JavaServer separa la interfaz de usuario de la generacin de los contenidos, lo que permite cambiar el diseo general de la pgina sin alterar el contenido dinmico subyacente. En la prctica, se necesita una pequea planificacin y algunos estndares de codificacin para asegurarse de que el HTML se diferencie claramente del cdigo Java en la JSP, ya que ambos residen en el mismo archivo. Los diseadores web que manejan la parte de HTML debern tener una mnima idea de qu etiquetas se refieren al cdigo Java incrustado, con el fin de evitar problemas a la hora de disear la IU. La tecnologa de Pginas JavaServer utiliza etiquetas estilo XML y scriptlets escritos en el lenguaje de programacin Java, para encapsular el cdigo que genera el contenido de la pgina. Adems, el cdigo de la aplicacin puede encontrarse en recursos situados en el servidor (como la arquitectura de componentes JavaBeans) a los que accede la pgina mediante estas etiquetas y scriptlets. Devuelve cualquier etiqueta de formato (HTML o XML) directamente a la pgina de respuesta. Al separar la lgica de la pgina de su diseo y al aceptar un diseo reutilizable basado en componentes, la tecnologa JSP agiliza y facilita ms que nunca la creacin de aplicaciones web.
C a p t u l o 6 : D e s a r r o l l o d e P g i n a s J a v a S e r v e r 6 -1

D e s a r r o l l o d e Pg i n a s J a v a S e r v e r

La tecnologa JSP es una extensin de la API para servlets Java. La tecnologa JSP suministra esencialmente una forma simplificada de escribir servlets. Los servlets son mdulos de servidor que se ejecutan en cualquier sistema informtico, escritos al 100% en Java, que encajan directamente en el entorno de servidor web y se pueden utilizar para ampliar sus funciones con un mnimo de gastos y mantenimiento. A diferencia de otros lenguajes de guin, los servlets no implican consideraciones o modificaciones especficas con la plataforma. Juntos, la tecnologa JSP y los servlets proporcionan una atractiva alternativa a otros tipos de guin/programacin de web dinmica. La tecnologa JSP y los servlets ofrecen independencia de plataforma, prestaciones mejoradas, separacin entre lgica y presentacin, facilidad de administracin, capacidad de ampliacin en la empresa y, lo ms importante, facilidad de uso. El sistema JSP se parece mucho a las ASP (pginas del servidor Active) de Microsoft. La principal diferencia entre las JSP y las ASP es que los objetos manejados en el primero de los sistemas son JavaBeans, que son independientes de plataforma. ASP maneja objetos COM, por lo que depende completamente de las plataformas Microsoft. Todo lo que se necesita para una JSP es una pgina basada en la tecnologa JSP. Las pginas JSP incluyen etiquetas, declaraciones y en ocasiones scriptlets propios de JSP, en combinacin con contenidos estticos (HTML o XML). Una pgina JSP tiene como extensin .jsp; esto indica al servidor web que el motor compatible con tecnologa JSP procesar elementos en esta pgina. Una JSP opcionalmente tambin puede utilizar una o ms JavaBeans en archivos.java independientes. Cuando se compila una JSP mediante el motor de JSP en el servidor web, se convierte en un servlet. Como desarrollador, habitualmente no ver el cdigo del servlet generado. Esto significa que cuando se compilan JSP en JBuilder IDE, se pueden ver mensajes de error que se refieren directamente al servlet generado y slo indirectamente al cdigo de la JSP. Recuerde que si tiene mensajes de error cuando compile su JSP, podran referirse a lneas de cdigo del servlet generado. Ser mas fcil identificar los problema en su JSP si tiene una clara nocin de cmo las JSP se traducen en servlets. Para conseguirlo, se necesita conocer la API JSP. Cuando JBuilder compila las JSP, traslada las ubicaciones del servlet generado de nuevo a las ubicaciones de la JSP originaria. Lo que significa que hacer clic en un error en el panel de estructura o en la vista de mensajes, le llevar directamente a la ubicacin correspondiente de la JSP. Cuando el servidor web compila la JSP, no obstante, no realiza esta traslacin. Cuando vea un seguimiento de la pila en el navegador o en Vista web, o en la salida del servidor web, el nombre de archivo y los nmeros de lnea no estn traducidos. Las JSP estn evolucionando de tal forma que ya no contienen nada de cdigo Java y slo utilizan bibliotecas de etiquetas. Por ejemplo, la JavaServer Pages Standard Tag Library (Biblioteca de etiquetas estndar para pginas JavaServer, JSTL) cuenta con etiquetas para condiciones y bucles, que sustituyen al cdigo Java. El marco de trabajo Struts tambin

6-2

Gua del desarrollador de aplicaciones web

Etiquetas JSP

separa el cdigo Java del HTML. Para obtener ms informacin sobre Struts, consulte el Captulo 7, El marco de trabajo Struts en JBuilder. El Captulo 19, Tutorial: Creacin de una JSP mediante el Asistente para JSP, muestra cmo crear una JSP utilizando el Asistente para JSP como punto de partida. Si desea visitar otras pginas que contienen ms informacin sobre la tecnologa de pginas JavaServer, consulte Recursos adicionales de JSP en la pgina 6-17.

Etiquetas JSP
Una JSP incluye habitualmente numerosas etiquetas especializadas que contienen cdigo Java o fragmentos de cdigo Java. Esta es una lista de algunas de las etiquetas JSP ms importantes: Tabla 6.1 Etiquetas JSP habituales Descripcin
Etiqueta Scriptlet. Contiene un fragmento de cdigo, que contiene una o ms lneas de cdigo que pueden aparecer normalmente dentro del cuerpo de un mtodo en una aplicacin Java. No se necesita declarar ningn mtodo, ya que estos fragmentos de cdigo se convierten en parte del mtodo service() del servlet cuando se compila la JSP. Declaracin de mtodos o de variables. Cuando se declara un mtodo en esta etiqueta, el mtodo completo debe estar contenido en la etiqueta. Se compila en una declaracin de mtodo o variable en el servlet. Comentario. Este es un comentario de estilo de JSP que no se pasa al navegador cliente. (Tambin se pueden usar comentarios HTML, pero estos pasan al navegador cliente.) Expresin. Contiene una expresin vlida de Java. El resultado se presenta en ese punto de la pgina. Directiva page. Especifica atributos de la pgina JSP. Directivas como sta y como la directiva taglib deben estar en las primeras lneas de la JSP. Uno de los atributos ms comunes que se especifican en la directiva page es una sentencia de importacin. Ejemplo: <%@ page

Sintaxis de etiqueta <% fragmento de cdigo %>

<%! declaracin %>

<%-- comentario --%>

<%= expresin %> <%@ page [atributos] %>

import="com.borland.internetbeans.*" %>. <%@ taglib uri="va de


acceso a la biblioteca de etiquetas" prefix="prefijo de etiqueta" %>
Directiva taglib. Hace que la biblioteca de etiquetas est disponible para su uso en la JSP, especificando la ubicacin de la biblioteca y el prefijo que se debe utilizar en sus etiquetas asociadas. Directivas como sta y como la directiva page deben estar en las primeras lneas de la JSP.

C a p t u l o 6 : D e s a r r o l l o d e P g i n a s J a v a S e r v e r

6 -3

Marcos de trabajo y bibliotecas de etiquetas JSP

La especificacin JSP incluye etiquetas estndares para la utilizacin y manipulacin de beans. La etiqueta useBean crea una instancia de una clase de JavaBeans especfica. Si la instancia ya existe, se recupera. Si no existe, se crea. Las etiquetas setProperty y getProperty permiten manipular propiedades del bean determinado. stas y otras etiquetas se describen ms detalladamente en la especificacin JSP y la gua del usuario, que se encuentra en http://java.sun.com/products/jsp/techinfo.html. Es importante tener en cuenta que la mayora del cdigo Java contenido en las etiquetas de la JSP se convierte en parte del mtodo service() del servlet cuando la JSP se compila en un servlet. Esto no incluye el cdigo contenido en las etiquetas de declaracin, que se convierten en declaraciones de mtodos o de variables por derecho propio. Se llama al mtodo service() cada vez que el cliente hace un GET o un POST.

Marcos de trabajo y bibliotecas de etiquetas JSP


Los marcos de trabajo y las bibliotecas de etiquetas JSP facilitan el desarrollo de JSP al proporcionar funcionalidad y etiquetas JSP adicionales que no se encuentran disponibles en la API de JSP. Una biblioteca de etiquetas en un conjunto de cdigo Java al que se puede llamar desde las marcas de un archivo JSP. Un marco de trabajo define una disciplina para el desarrollo de aplicaciones. Si acepta el paradigma de desarrollo de un marco de trabajo, a cambio recibe ayuda en el desarrollo y una aplicacin ms limpia y estandarizada. Una biblioteca de etiquetas JSP consiste en un archivo descriptor de bibliotecas de etiquetas (TLD) y clases manejadoras de etiquetas que implementan o llaman a las funciones que necesitan las etiquetas. Una biblioteca de etiquetas JSP tambin puede formar parte de un marco de trabajo. Un marco de trabajo puede contener una o ms bibliotecas de etiquetas. Tambin puede haber otros tipos de marcos de trabajo, algunos de los cuales no estn diseados para utilizar con JSP. Existen tres marcos de trabajo ms conocidos que se suministran e integran con JBuilder y que resultan tiles para el desarrollo de JSP. Se describen del siguiente modo.
s

Struts El marco de trabajo Struts ofrece un concepto de diseo de software basado en Modelo 2 o Controlador Modelo-Vista. JSTL (Biblioteca de etiquetas estndar para pginas JavaServer): JSTL proporciona un modo estndar de llevar a cabo las tareas de codificacin ms habituales mediante sencillas etiquetas. Puede encontrar ms informacin en http://java.sun.com/products/jsp/jstl. InternetBeans Express - InternetBeans Express es una biblioteca de componentes Borland que facilita la creacin de JSP y servlets enlazados a datos.

6-4

Gua del desarrollador de aplicaciones web

JSP en JBuilder

Consulte
s

Las bibliotecas de etiquetas JSP y los marcos de trabajo en JBuilder en la pgina 6-5. Captulo 7, El marco de trabajo Struts en JBuilder. Captulo 13, InternetBeans Express.

s s

JSP en JBuilder
JBuilder ofrece un completo sistema de desarrollo para JSP. A continuacin se incluye una lista de las funciones de desarrollo de JSP de JBuilder.
s

Compatibilidad con los marcos de trabajo y las bibliotecas de etiquetas JSP. JSP TagInsight para completar etiquetas especficas de JSP. Depuracin del archivo JSP. Depuracin remota de JSP. Ejecucin y comprobacin de JSP desde el entorno de desarrollo de JBuilder en cualquier motor de servlets compatible con JSP para el que hay disponible un plug-in de servidor. Un Asistente para JSP para crear una JSP que pueda admitir uno o ms marcos de trabajo.

s s s s

Nota

No puede abrir una JSP en el diseador de JBuilder, porque no es un archivo .java.

Las bibliotecas de etiquetas JSP y los marcos de trabajo en JBuilder


JBuilder admite la utilizacin de bibliotecas de etiquetas JSP y marcos de trabajo de las siguientes maneras.
s

El cuadro de dilogo Configurar bibliotecas permite gestionar los marcos de trabajo y las bibliotecas de etiquetas definidas por el usuario. El Asistente para mdulos web permite seleccionar uno o varios marcos de trabajo con el fin de utilizarlos en el mdulo web. El asistente aade las bibliotecas del marco de trabajo seleccionado al mdulo web, aade las bibliotecas de etiquetas necesarias, aade las entradas requeridas al archivo web.xml y copia los JAR del marco de trabajo a WEB-INF/lib. Tambin es posible aadir los nodos dependientes al panel del proyecto e, incluso, aadir archivos de configuracin si se necesitan. Todo esto contribuye a garantizar que el marco de trabajo se distribuye correctamente y que se puede utilizar al ejecutar el mdulo web en el IDE de JBuilder. El Asistente para JSP permite seleccionar una o ms bibliotecas de etiquetas con el fin de utilizarlas en la JSP que genera el asistente. El asistente aade las directivas page y taglib adecuadas a la JSP generada.

C a p t u l o 6 : D e s a r r o l l o d e P g i n a s J a v a S e r v e r

6 -5

JSP en JBuilder

Consulte
s

Creacin de mdulos web con el Asistente para mdulos web en la pgina 3-3. Creacin de una JSP mediante el Asistente para JSP en la pgina 6-11. Utilizacin del cuadro de dilogo Configurar bibliotecas para gestionar los marcos de trabajo definidos por el usuario en la pgina 6-6. TagInsight en Introduccin a JBuilder.

s s

Utilizacin del cuadro de dilogo Configurar bibliotecas para gestionar los marcos de trabajo definidos por el usuario
Cocoon es una funcin de JBuilder Enterprise.

La pestaa Marco de trabajo del cuadro de dilogo Configurar bibliotecas (Herramientas|Configurar bibliotecas) permite configurar las bibliotecas de etiquetas JSP definidad por el usuario con el fin de utilizarlos con las JSP en JBuilder. Un marco de trabajo consta de una biblioteca de etiquetas y elementos especficos de taglib contenidos en un archivo JAR. Los siguientes marcos de trabajo se suministran con JBuilder, y no es necesario que se configuren:
s s s s

Struts JSTL InternetBeans Express Cocoon

Estos marcos de trabajo se encuentran disponibles directamente en los asistentes adecuados. Por ejemplo, si selecciona el Asistente para JSP, los marcos de trabajo InternetBeans, JSTL y Struts estn disponibles en la lista Bibliotecas de etiqueta, de la ficha Introducir detalles del archivo JSP del asistente. Las bibliotecas de etiquetas definidas por el usuario tambin estn disponibles en el Asistente para mdulos web y en el Asistente para JSP si la biblioteca de etiquetas est configurada correctamente mediante el cuadro de dilogo Configurar bibliotecas.

Cmo aadir una biblioteca de etiquetas JSP definida por el usuario


Cuando se aade una biblioteca de etiquetas JSP definida por el usuario, sta pasa a estar disponible en los Asistentes para JSP y para mdulos web. Para aadir una biblioteca de etiquetas:

1 Seleccione Herramientas|Configurar bibliotecas y se abrir el cuadro de


dilogo homnimo.

6-6

Gua del desarrollador de aplicaciones web

JSP en JBuilder

2 Pulse el botn Nuevo, abajo a la izquierda, para abrir el Asistente para


bibliotecas.

3 Escriba el nombre de la biblioteca de etiquetas en el campo Nombre. Elija


su ubicacin en la lista desplegable Ubicacin.

4 Pulse Aadir para aadir los archivos JAR que contienen la biblioteca de
etiquetas. Busque cada archivo JAR, seleccinelo y pulse Aceptar.

5 Pulse Aceptar con el fin de cerrar el Asistente para bibliotecas. Se vuelve a


abrir el cuadro de dilogo Configurar bibliotecas. La nueva biblioteca aparece en la carpeta asignada, a la izquierda del cuadro de dilogo.

6 Pulse la pestaa Marco de trabajo en la parte derecha del cuadro de


dilogo Configurar bibliotecas.

7 Seleccione Biblioteca de etiquetas JSP definidas por el usuario, en la lista


desplegable Marco de trabajo.

Aparece la pestaa Bibliotecas de etiquetas JSP.

C a p t u l o 6 : D e s a r r o l l o d e P g i n a s J a v a S e r v e r

6 -7

JSP en JBuilder

8 Pulse el botn Aadir para mostrar el cuadro de dilogo Definir nueva


biblioteca de etiquetas.

9 Pulse el botn de puntos suspensivos, junto al campo Archivo TLD, con el


fin de buscar el archivo TLD que desee definir en su biblioteca de etiquetas. El TLD puede ser un archivo externo distribuido con el JAR, dentro del JAR o ambos. El archivo TLD debe tener una extensin .TLD. Es necesario que las clases manejadoras de etiquetas se encuentren en un archivo JAR. Una vez elegido un archivo TLD vlido, los campos Nombre, Prefijo y URI se rellenan automticamente a partir de la definicin TLD. La Ubicacin es por defecto una ubicacin dentro de WEB-INF/lib.

10 Pulse Aceptar y se cerrar el cuadro de dilogo Definir nueva biblioteca de


etiquetas.

11 Pulse Aceptar otra vez, con el fin de cerrar el cuadro de dilogo Configurar
bibliotecas.
Nota

Puede aadir todos los TLD que desee a un marco de trabajo.

Modificacin de las propiedades de una biblioteca de etiquetas en un marco de trabajo


Despus de definir el marco de trabajo, la tarea ms habitual consiste en cambiar el prefijo de una biblioteca de etiquetas. Tanto el prefijo como el URI se utilizan en la etiqueta taglib generada por el Asistente para JSP. Puede utilizar cualquier prefijo, siempre y cuando no contenga espacios o caracteres especiales. Es recomendable evitar utilizar el mismo prefijo para dos bibliotecas de etiquetas distintas. Si solamente desea modificar el prefijo, puede cambiarlo en la tabla sin necesidad de abrir el cuadro de dilogo Modificar biblioteca de etiquetas. No olvide pulsar Intro para guardar su modificacin.
Nota

Si modifica una definicin de biblioteca, se arriesga a daar algn proyecto que utilice esa biblioteca. Para modificar las propiedades de una biblioteca de etiquetas en un marco de trabajo:

1 Seleccione Herramientas|Configurar bibliotecas y se abrir el cuadro de


dilogo homnimo.

6-8

Gua del desarrollador de aplicaciones web

JSP en JBuilder

2 A la izquierda del cuadro, elija el nombre de la biblioteca del marco de


trabajo que contenga la biblioteca de etiquetas cuyas propiedades desee modificar.

3 Pulse sobre la pestaa Marco de trabajo. 4 En la pestaa Bibliotecas de etiquetas JSP, seleccione la definicin de
biblioteca de etiquetas que desee modificar.
Nota

Si no aparece la pestaa Biblioteca de etiquetas JSP, significa que el marco de trabajo seleccionado no contiene bibliotecas de etiquetas JSP o que no se pueden modificar.

5 Pulse el botn Modificar. Aparece el cuadro de dilogo Modificar biblioteca


de etiquetas.

6 Cambie el Archivo TLD, Nombre, Prefijo, URI o Ubicacin y pulse Aceptar. 7 Pulse de nuevo Aceptar para guardar los cambios y cerrar el cuadro de
dilogo Configurar bibliotecas.
Nota

Puede aadir todos los TLD que desee a un marco de trabajo.

Eliminacin de una biblioteca de etiquetas de un marco de trabajo


Un buen motivo para eliminar una biblioteca de etiquetas de un marco de trabajo sera si nunca utilizara esa biblioteca. Para eliminar una biblioteca de etiquetas de un marco de trabajo:

1 Seleccione Herramientas|Configurar bibliotecas y se abrir el cuadro de


dilogo homnimo.

2 A la izquierda del cuadro, elija la biblioteca del marco de trabajo que


contenga la biblioteca de etiquetas que desee eliminar.

3 Pulse sobre la pestaa Marco de trabajo. 4 En la pestaa Bibliotecas de etiquetas JSP, seleccione la definicin de
biblioteca de etiquetas que desee eliminar.
Nota

Si no aparece la pestaa Biblioteca de etiquetas JSP, significa que el marco de trabajo seleccionado no contiene bibliotecas de etiquetas JSP o que no se pueden modificar.

5 Pulse Eliminar. 6 Si desea eliminar toda la biblioteca, elija la biblioteca a la izquierda del
cuadro y pulse Borrar en la parte inferior izquierda.

7 Haga clic en Aceptar para cerrar el cuadro de dilogo Configurar


bibliotecas.

C a p t u l o 6 : D e s a r r o l l o d e P g i n a s J a v a S e r v e r

6 -9

JSP en JBuilder

Desarrollo de las JSP


El Asistente para JSP es un punto de partida opcional para desarrollar una JSP. El Asistente para JSP genera el esqueleto de una JSP. Para abrir el Asistente para JSP, haga clic con el botn derecho del ratn en Directorio del mdulo de un nodo de mdulo web, en el panel del proyecto, o bien, haga clic con el botn derecho del ratn en cualquier nodo subordinado de Directorio del mdulo y seleccione Nuevo|JSP en el men contextual. Tambin se puede abrir si selecciona Pgina JavaServer en la ficha Web de la galera de objetos (Archivo|Nuevo). Debe haber seleccionado un servidor para el proyecto para que el Asistente para JSP se encuentre disponible. Como alternativa al Asistente para JSP, se puede crear un archivo en blanco con la extensin .jsp. Para ello, haga clic con el botn derecho del ratn en Directorio del mdulo de un nodo de mdulo web, en el panel del proyecto, o bien, haga clic con el botn derecho del ratn en cualquier nodo subordinado de Directorio del mdulo, seleccione Nuevo|Archivo en el men contextual y elija JSP en Tipo. Tambin se puede crear una JSP en otra herramienta, colocarla en el directorio raz de la WebApp y utilizarla en JBuilder. El editor de JBuilder resalta la sintaxis de las JSP. JBuilder tambin proporciona CodeInsight para el cdigo Java incrustado en una pgina JSP. El panel de estructura en el IDE de JBuilder muestra la estructura de las etiquetas dentro de la JSP, adems de cualquier error de HTML y de Java en el cdigo. Estos errores son muy tiles, por ejemplo, a menudo le recuerdan que tiene que acabar una etiqueta que estaba incompleta.

El Asistente para JSP


JBuilder proporciona un Asistente para JSP. Este es un punto de partida lgico cuando se desarrolla una JSP. Para iniciar este asistente, seleccione Pgina JavaServer en la ficha Web de la galera de objetos (Archivo|Nuevo). Para abrir el asistente, tambin clic con el botn derecho del ratn en Directorio del mdulo de un nodo de mdulo web, en el panel del proyecto, o bien, hacer clic con el botn derecho del ratn en cualquier nodo subordinado de Directorio del mdulo y seleccionar Nuevo|JSP en el men contextual. Debe haber seleccionado un servidor para el proyecto para que el Asistente para JSP se encuentre disponible. El Asistente para JSP genera el esqueleto de una JSP. Crea los archivos bsicos de su JSP, cuyos detalles se rellenan ms tarde. El asistente para JSP crea los siguientes archivos:
s

Una JSP. Una JSP incluye etiquetas especficas de la tecnologa JSP, declaraciones y posiblemente scriptlets, junto a otras etiquetas estticas (HTML o XML). El archivo JSP tiene la extensin .jsp. Este archivo se crea siempre con el asistente para JSP. Un archivo Java. Este archivo es optativo y lo puede crear el asistente activando Generar bean de ejemplo. El archivo Java contiene un JavaBean que el archivo JSP utiliza.

6-1 0

Gu a d e l d e s a r r o l l a d o r d e a p l i c a c i o n e s w e b

JSP en JBuilder
s

Una pgina JSP de errores. El asistente para Pginas JavaServer puede crear optativamente una pgina de error que muestra los errores de tiempo de ejecucin, de una manera til y ordenada.

En el Asistente para JSP se puede especificar a qu mdulo web pertenece la JSP, si se debe configurar la JSP para utilizar una o varias de las bibliotecas de etiquetas disponibles, y si la JSP utiliza JavaBeans. Puede tambin crear una configuracin de ejecucin para su JSP.

Consulte
s s

Asistente para JSP en la ayuda en pantalla. Captulo 19, Tutorial: Creacin de una JSP mediante el Asistente para JSP.

Creacin de una JSP mediante el Asistente para JSP


El Asistente para JSP resulta valioso como punto de partida opcional para desarrollar una JSP. Si todava no dispone de un mdulo web en el proyecto, debe crearlo con ayuda del Asistente para mdulos web antes de usar el Asistente para JSP. Creacin de una JSP mediante el Asistente para JSP:

1 Seleccione la galera de objetos seleccionando Archivo|Nuevo. Seleccione


la ficha Web de la galera de objetos. (Antes, el proyecto debe tener un servidor activado.)

2 Seleccione Pgina JavaServer. Pulse Aceptar. 3 Seleccione el mdulo web que contendr la nueva JSP. Si en el proyecto
slo hay un mdulo web, la lista desplegable Mdulo Web est desactivada. Cuando se pulsa el botn Nuevo se inicia el Asistente para mdulos web.

4 Defina un nombre para la JSP. Tenga en cuenta que puede crear una JSP
en un subdirectorio del mdulo web si escribe el nombre del directorio con una barra delante.

5 Defina si desea crear un bean de ejemplo y una pgina de errores.


s

Si est marcado Generar bean de ejemplo, el asistente crea un JavaBean de ejemplo que puede utilizar la JSP. Si se marca esta opcin, se aade un paso al asistente. Si se marca Generar pgina de error, el asistente crea una pgina de error que muestra los errores de ejecucin de un modo til y ordenado. Si se marca esta opcin, se aade un paso al asistente.

Pulse Siguiente para pasar al siguiente paso. Tambin puede pulsar Finalizar para evitar los pasos restantes, cerrar el asistente y crear la JSP.

6 Seleccione el color de fondo para la JSP. 7 Marque Generar formulario de envo si desea que el Asistente para JSP
genere una etiqueta HTML <form> en el archivo JSP.

8 Seleccione las bibliotecas de etiquetas que desee que utilice la JSP,


marcando las casillas adecuadas en la lista Bibliotecas de etiqueta. El

C a pt u l o 6 : D e s a r r o l l o d e P g i n a s J a v a S e r v e r

6 -1 1

JSP en JBuilder

asistente aade las directivas apropiadas page y taglib para las bibliotecas de etiquetas seleccionadas en la JSP creada. Las bibliotecas de etiquetas para los marcos de trabajo InternetBeans Express, Struts y JSTL estn disponibles automticamente. Tambin estn disponibles todas las bibliotecas de etiquetas definidas por el usuario que haya aadido en el cuadro de dilogo Configurar bibliotecas. Cuando termine de seleccionar bibliotecas de etiquetas, pulse Siguiente para dirigirse al siguiente paso. Tambin puede pulsar Finalizar para evitar los pasos restantes, cerrar el asistente y crear la JSP.

9 Defina Paquete y Nombre de clase para el bean de ejemplo. Marque


Generar comentarios de cabecera, si desea crearlos en el bean de ejemplo. Si no ha marcado Generar bean de ejemplo en el primer paso del asistente, este paso no aparece. Pulse Siguiente para pasar al siguiente paso. Tambin puede pulsar Finalizar para evitar los pasos restantes, cerrar el asistente y crear la JSP.

10 Utilice los botones Aadir Bean y Eliminar Bean con el fin de determinar los
JavaBeans que desea que utilice la JSP. Si ha marcado Generar Bean de ejemplo en el primer paso del asistente, el bean de ejemplo ya se encuentra en este paso. El asistente genera una etiqueta jsp:useBean para cada JavaBean que especifique. Puede modificar el ID y el mbito de los beans. El ID debe ser un nombre de variable Java vlido. No puede especificar un ID duplicado o en blanco. Los valores disponibles para mbito son Pgina, Solicitud, Sesin y Aplicacin. Cuando termine de especificar los JavaBeans, pulse Siguiente para dirigirse al siguiente paso. Tambin puede pulsar Finalizar para evitar los pasos restantes, cerrar el asistente y crear la JSP.

11 Defina el Nombre y el color de fondo para la pgina de error. Si no ha


marcado Generar pgina de error en el primer paso del asistente, este paso no aparece. Pulse Siguiente para pasar al siguiente paso. Tambin puede pulsar Finalizar para evitar los pasos restantes, cerrar el asistente y crear la JSP.

12 Marque Crear una configuracin de ejecucin si desea crear una de tipo


Servidor. Si esta opcin est marcada, especifique un Nombre. Tambin puede seleccionar una configuracin base para copiar, si ya existe otra configuracin de ejecucin de tipo Servidor en su proyecto. Pulse Finalizar para cerrar el asistente y crear la JSP.

6-1 2

Gu a d e l d e s a r r o l l a d o r d e a p l i c a c i o n e s w e b

JSP en JBuilder

Consulte
s s

Asistente para JSP en la ayuda en pantalla. Captulo 19, Tutorial: Creacin de una JSP mediante el Asistente para JSP. Utilizacin del cuadro de dilogo Configurar bibliotecas para gestionar los marcos de trabajo definidos por el usuario en la pgina 6-6. Las bibliotecas de etiquetas JSP y los marcos de trabajo en JBuilder en la pgina 6-5. El marco de trabajo Struts en JBuilder en la pgina 7-1. Captulo 13, InternetBeans Express.

s s

Compilacin de las JSP


Las JSP son una extensin de la Servlet API y se compilan con los servlets antes de utilizarse. Esto requiere que el proceso de compilacin convierta los nombres de los archivos JSP y los nmeros de lnea en sus equivalentes Java. En JBuilder, las JSP pueden compilarse durante la generacin. Si desea activar esta funcin para todas las JSP del proyecto:

1 Seleccione Proyecto|Propiedades de proyecto. 2 Seleccione la ficha Generar. 3 Seleccione Comprobar errores en JSP durante la generacin. 4 Pulse Aceptar.
Puede configurar esta propiedad por cada archivo JSP de su proyecto mediante el men contextual de las JSP en el panel del proyecto. Esto le permite excluir determinados archivos JSP de la compilacin. Por ejemplo, es probable que las JSP cuya finalidad es la de incluirse en otras JSP no se compilen correctamente por s solas, por lo que se deben excluir esos archivos. Para compilar su proyecto, incluidas las JSP configuradas para compilarse en la generacin, seleccione Proyecto|Ejecutar Make del proyecto o Proyecto| Generar el proyecto. Si desea ms informacin sobre la compilacin de las pginas JSP, consulte Compilacin de servlets o JSP en la pgina 8-15.

Ejecucin web de las JSP


Para ejecutar una JSP en el IDE de JBuilder, haga clic sobre ella con el botn derecho en el panel del proyecto y seleccione Ejecutar web en el men contextual. Ejecutar web est habilitado si existe una configuracin de ejecucin adecuada y el servidor actualmente seleccionado admite el servicio JSP/Servlet. Si desea ms informacin sobre la ejecucin de las pginas JSP, consulte Ejecucin web de un servlet o una JSP en la pgina 8-16.
6 -1 3

C a pt u l o 6 : D e s a r r o l l o d e P g i n a s J a v a S e r v e r

JSP en JBuilder

Depurar pginas JSP


Para depurar una JSP en el IDE de JBuilder, haga clic en ella con el botn derecho del ratn, en el panel del proyecto, y seleccione Depurar web en el men contextual. Depurar web est habilitado si existe una configuracin de ejecucin adecuada y el servidor actualmente seleccionado admite el servicio JSP/Servlet. Si cuenta con una configuracin de ejecucin de tipo Servidor, tambin puede Depurar Web (al igual que Ejecutar Web o Optimizar Web). Puede configurar el URI de inicio de esa Configuracin de ejecucin para que coincida con la JSP que le interese, pero se trata simplemente de una ventaja el alcanzar esa JSP cuando se inicia el servidor. Al igual que con las clases normales, puede depurar cualquier JSP durante una sesin, no slo la que haya iniciado. Al depurar JSP, es importante que tenga en cuenta que no todos los servidores ofrecen el mismo nivel de compatibilidad con la depuracin de JSP. En la siguiente tabla se detalla el nivel de compatibilidad con la depuracin de JSP que ofrecen los servidores web y de aplicaciones que funcionan con JBuilder. Tabla 6.2 Compatibilidad de distintos servidores con la depuracin de JSP Comprobacin de errores de sintaxis Java para JSP
S S S S S S S S S S S S

JBuilder Enterprise admite servidor de aplicaciones

Servidor
Borland Enterprise Server AppServer Edition 5.2.1 (basado en Tomcat 4.1) Weblogic 6,1 SP 5 Weblogic 7.0 SP 4 Weblogic 8.1 SP 0/SP 1 WebSphere 4.0.6 AE WebSphere 4.0.6 AES WebSphere 5.0.2 JBoss 3x+ iPlanet 6.0/6.5 Tomcat 3.3.1 autnomo Tomcat 4.0.6 autnomo Tomcat 4.1.27 autnomo

Depuracin de fuente JSP


N S S S S S S S S S S N

Importante

Tomcat 4.1 y Jetty (utilizado por JBoss) no admiten la depuracin del cdigo fuente JSP, ya que ambos utilizan Jasper. Para corregir este problema, haga lo siguiente:

1 Busque el directorio <jbuilder>/thirdparty/jakarta-tomcat-4.0.6-LE-jdk14/


lib.

2 En el caso de Tomcat, copie jasper-compiler.jar y jasper-runtime.jar en el


directorio <jbuilder>/thirdparty/jakarta-tomcat-4.1.27-LE-jdk14/common/lib.

6-1 4

Gu a d e l d e s a r r o l l a d o r d e a p l i c a c i o n e s w e b

JSP en JBuilder

3 En el caso de Jetty, busque jasper-compiler.jar y jasper-runtime.jar en la


instalacin de JBoss y sustityalos por jasper-compiler.jar y jasper-runtime.jar, que se encuentran en el directorio <jbuilder>/ thirdparty/jakarta-tomcat-4.1.0.6-LE-jdk14/common/lib.

Configuracin de ejecucin para depuracin de JSP


La ficha Ejecutar del cuadro de dilogo Propiedades de configuracin de ejecucin se utiliza para establecer una opcin de configuracin para la depuracin de JSP. Para abrir este cuadro de dilogo, seleccione Ejecutar| Configuraciones. Seleccione Nuevo para crear una configuracin o bien elija una configuracin y seleccione Modificar para modificar una configuracin ya creada. En la ficha Ejecutar, compruebe que el valor de Tipo es Servidor. Seleccione la opcin Desactivar la inspeccin en las clases de los servidores. As se evita que el depurador inspeccione las clases de los servidores. Si elige esta opcin tambin se evita que aparezca el siguiente tipo de mensaje de error mientras intenta inspeccionar u omitir la inspeccin de una lnea de cdigo Java de un archivo JSP: Cannot locate XXXXX.java from project source/class path
Nota

El nombre del archivo en el mensaje de error puede ser el nombre de la JSP generada o el nombre de un archivo de clase de una de las bibliotecas de servidor, Servlet o JSP.

El directorio de trabajo Tomcat de su proyecto


Si se depuran pginas JSP de un mdulo web y se utiliza Tomcat (como servidor web autnomo o como parte de un servidor de aplicaciones), en ocasiones se debe eliminar la carpeta Tomcat/work del proyecto. De vez en cuando, los archivos de la subcarpeta <mdulo web> de la carpeta Tomcat/work pueden desincronizarse con los archivos del mdulo web del proyecto. Si elimina esta carpeta tambin se corregir la causa del siguiente tipo de mensaje de error: Error # 901: package org.apache.jsp stated in source ...project\Tomcat\work\<mdulo web>\filename does not match directory project.Tomcat.work.XXXXfile at line 1, column 20 Para solucionar este mensaje de error, puede tambin elegir su JSP en el panel del proyecto, pulsar el botn derecho y seleccionar Propiedades. Desactive la opcin Comprobar errores en JSP durante la generacin. As se desactiva la comprobacin de errores de la JSP seleccionada al generar el proyecto. La JSP se compilar durante la ejecucin.

Intercambio inteligente y depuracin de JSP


Intercambio inteligente, la capacidad de modificar archivos y actualizarlos durante la depuracin, no est activada para JSP. Intercambio inteligente no se aplica a JSP porque el servidor es responsable de traducir la JSP a Java y compilar la clase resultante. La mayora de los servidores permiten que se cambien las pginas JSP mientras se ejecuta el servidor. Si se est
C a pt u l o 6 : D e s a r r o l l o d e P g i n a s J a v a S e r v e r 6 -1 5

JSP en JBuilder

ejecutando directamente la JSP, y no desde un recopilatorio, slo tiene que realizar un cambio en el archivo y guardarlo. El servidor detectar que la JSP ha cambiado y volver a compilarla, conservando los puntos de interrupcin y de observacin. En el caso de otros servidores, puede que sea necesario que la JSP se vuelva a recopilar y distribuir.

Depuracin de JSP en subdirectorios


Es posible crear JSP en un subdirectorio del mdulo web escribiendo el nombre del directorio con barras en el campo Nombre de la JSP del Asistente para JSP. Por ejemplo, si se escribe sub/myjsp, se crea myjsp.jsp en el subdirectorio sub del mdulo web. Puede depurar una JSP en un subdirectorio si pulsa el botn derecho del ratn en el panel del proyecto y selecciona Depurar Web. Una vez que se ha iniciado el depurador, ya no est restringido a depurar la JSP que eligi en Depurar Web.

Depuracin de JSP con nombres iguales


El Asistente para JSP permite crear pginas JSP con el mismo nombre y colocarlas en directorios diferentes del mdulo web. Si el servidor crea nombres de clase nicos para las clases generadas, se pueden depurar las JSP. Si el servidor no crea nombres de clase nicos, se puede depurar una sola JSP por vez si la selecciona en el panel del proyecto, pulsa el botn derecho y elige Depurar Web. Las JSP con puntos de interrupcin tienen prioridad, y no las JSP que se han cargado primero. Esto significa que si el servidor no genera nombres de clase nicos para las JSP que tengan el mismo nombre (en directorios diferentes), debe evitar colocar puntos de interrupcin en ms de un archivo JSP con el mismo nombre.

Depuracin remota de JSP


Segn este manual, slo WebLogic admite la depuracin remota de JSP, lo que significa conectar la JSP a un servidor WebLogic que se est ejecutando en un ordenador diferente de una red. Si desea ms informacin sobre la forma de hacer esto, consulte Depuracin remota de pginas JavaServer en Desarrollo de aplicaciones para servidores J2EE. En el caso de los servidores que admiten la depuracin local de JSP, es decir, la depuracin en la misma instancia del IDE de JBuilder, consulte la tabla de Depurar pginas JSP en la pgina 6-14. JBuilder admite la depuracin de cdigo fuente distinto de Java, incluido JSP, SQLJ y LegacyJ para servidores que implementan JSR-45. En el momento de la publicacin no se conocen servidores que implementen JSR-45. En teora, si lo hicieran, se podra depurar tanto de forma local como remota. Para conseguir esto, JBuilder utiliza la informacin de mapeo que se guarda en el archivo de clase. Esto le permite depurar del modo en que lo haga normalmente. Puede ejecutar e interrumpir el programa, establecer y ejecutar puntos de interrupcin, inspeccionar el cdigo y examinar y cambiar los valores de los datos.

6-1 6

Gu a d e l d e s a r r o l l a d o r d e a p l i c a c i o n e s w e b

Recursos adicionales de JSP

Distribucin de las JSP


Si desea sugerencias sobre la distribucin de las pginas JSP, consulte el Captulo 9, Distribucin de aplicaciones web.

Recursos adicionales de JSP


Si desea obtener ayuda para desarrollar pginas JSP en JBuilder, visite el grupo de noticias de Borland, en borland.public.jbuilder.servlets-jsp. Se puede acceder a todos los grupos de noticias sobre JBuilder desde la sede web de Borland, en http://www.borland.com/newsgroups/#jbuilder. Si desea ms informacin sobre el desarrollo de Pginas JavaServer, visite las siguientes sedes web. Las direcciones y vnculos facilitados son vlidos a la fecha de impresin de este manual. Las sedes web no pertenecen a Borland, por lo que no se puede garantizar su contenido ni su continuidad.
s

Es posible obtener una descripcin de la sintaxis JSP en formato HTML en http://java.sun.com/products/jsp/tags/tags.html. En http://java.sun.com/products/jsp/technical.html puede encontrar una tarjeta de sintaxis de JSP en formato PDF, que se puede abrir con Adobe Acrobat Reader. Esta pgina contiene tambin otros recursos tcnicos sobre la tecnologa JSP. Consulte las FAQs sobre las JSP en java.sun.com. Dirija el navegador a http://java.sun.com/products/jsp/faq.html. La actual especificacin JSP se puede leer en el sitio web java.sun.com, en http://java.sun.com/products/jsp/download.html. GNUJSP es una implementacin gratuita de JavaServer Pages de Sun. Si desea ms informacin sobre el compilador GNUJSP, visite http:// klomp.org/gnujsp. Puede encontrar un servidor de lista sobre las JSP en JSP-INTEREST@JAVA.SUN.COM. Para poder suscribirse a la lista de correo, enve un mensaje a listserv@java.sun.com con el siguiente contenido: subscribe jsp-interest Nombre completo o busque informacin en el sitio web java.sun.com.

C a pt u l o 6 : D e s a r r o l l o d e P g i n a s J a v a S e r v e r

6 -1 7

6-1 8

Gua del desarrollador de aplicaciones web

Captulo

Captulo 7

El marco de trabajo Struts en JBuilder

Desarrollo web es una funcin de JBuilder Developer y JBuilder Enterprise

El marco de trabajo de cdigo abierto Struts se basa en el concepto de diseo de software Modelo 2 o Controlador Modelo-Vista. El marco de trabajo Modelo 2 evolucion a partir del diseo de Modelo 1, que inclua tecnologa Pginas JavaServer. Esta tecnologa ofreca grandes avances a partir de servlets sencillos, mientras que la presentacin HTML se codificaba mediante extensas sentencias out.println en mtodos doGet() y doPut(). Las JSP ofrecan un modo de incluir HTML en cdigo Java y viceversa. Sin embargo, estas JSP son difciles de leer y de mantener. Es necesario que tanto diseadores como desarrolladores trabajen en el mismo conjunto de archivos fuente. El marco de trabajo Struts, desarrollado inicialmente en 2001, combina lo mejor de los servlets y las JSP. Este marco de trabajo consiste en un paradigma de diseo de tres niveles: el Controlador, el Modelo y la vista Modelo 2. Struts incorpora su propio componente Controlador y se integra con otras tecnologas con el fin de proporcionar el Modelo y la Vista. Si desea obtener ms informacin, consulte The Jakarta Project: Struts en http:// jakarta.apache.org/struts/index.html. Esta pgina contiene enlaces a la Struts Users Guide, a los artculos Struts, a programas de ejemplo y a los tutoriales. Struts 1.1 se instala en la carpeta <jbuilder>/thirdparty. Por defecto, el archivo descriptor de distribucin de Struts se llama struts-config.xml. Las ubicaciones de los archivos se recogen en el parmetro config para el ActionServlet de Struts del archivo web.xml. Se puede dar al archivo de configuracin de Struts 1.1 cualquier nombre vlido, y puede haber varios archivos descriptores de distribucin. Tenga en cuenta que los archivos
C a pt u l o 7 : E l m a r c o d e t r a b a j o S t r u t s e n J B u i l d e r 7 -1

Herramientas de JBuilder para Struts

descriptores de distribucin deben estar en el directorio WEB-INF o en uno de sus subdirectorios. Los asistentes para Struts (Asistente para Action, Asistente para ActionForm y Asistente para JSP a partir de ActionForm) permiten elegir el archivo descriptor de distribucin que se utiliza.
Nota

Si ya hay un proyecto Struts 1.0 y desea continuar usando Struts 1.0, cree una biblioteca Struts 1.0.2 (Herramientas|Configurar bibliotecas), abra el proyecto Struts 1.0 en JBuilder e incluya en l la nueva biblioteca (Propiedades de proyecto|Vas de acceso|Bibliotecas necesarias|Aadir). Una vez creada esta biblioteca, aparece una opcin Struts 1.0 en el Asistente para mdulos web y en el Asistente para JSP. Tenga en cuenta que puede utilizar Struts 1.1 para mdulos web Struts 1.0; Struts 1.1 es compatible con las versiones anteriores. Tanto Struts 1.0 como Struts 1.1 utilizan un archivo struts.jar. Para la distribucin, este archivo se copia en el directorio WEB-INF/lib. En teora, para admitir las dos versiones de Struts en la misma aplicacin web, se puede cambiar el nombre de uno de los archivos JAR del directorio WEB-INF/lib. Sin embargo, esto no es recomendable. JBuilder puede detectar qu versin de Struts est en uso y mostrar el nmero de versin en el panel del proyecto en forma de carpeta. Los asistentes preparados para Struts tambin pueden detectar posibles conflictos entre ambas versiones y evitarlos.

Herramientas de JBuilder para Struts


JBuilder proporciona un amplio conjunto de herramientas y asistentes para crear rpidamente una aplicacin web preparada para Struts, incluido:
s s s s s s s s s s s s s

Vista en el Panel del proyecto Adicin de descriptores de distribucin Struts al mdulo web Registro de descriptores de distribucin Struts Aceptacin del marco de trabajo Struts Asistente para mdulos web Asistente para JSP Asistente para Action Asistente para ActionForm Asistente para JSP a partir de ActionForm Asistente para conversin de Struts Editor de configuracin de Struts El Editor de configuracin de Tiles Diseadores Struts

Mientras se crea una aplicacin web preparada para Struts con las herramientas y asistentes de JBuilder, se va implementando el marco de trabajo Struts. ste actualiza el archivo web.xml, crea los archivos descriptores de distribucin struts-config.xml y tiles-def.xml y los copia en el directorio

7-2

Gua del desarrollador de aplicaciones web

Herramientas de JBuilder para Struts

WEB-INF. JBuilder tambin copia los archivos TLD Struts en el directorio WEB-INF, y aade mapeos TLD al archivo web.xml. Adems, aade la biblioteca Struts al proyecto e incluye automticamente todas las dependencias del mdulo web.

Vista de Struts en el panel del proyecto


JBuilder puede determinar si el mdulo web est preparado para Struts. Si lo est, JBuilder abre una carpeta Struts en la carpeta Descriptores de distribucin del nodo mdulo web. Esta carpeta muestra todos los archivos descriptores de distribucin de Struts del mdulo web seleccionado. Adems, el panel del proyecto agrupa todas las acciones y definiciones en la carpeta Directorio del mdulo del mdulo web, tal y como se muestra ms adelante. La versin de Struts aparece en la carpeta Struts del mdulo web. Figura 7.1 Vista de Struts en el panel del proyecto

JBuilder admite numerosas subaplicaciones para Struts 1.1. Por ejemplo, si el mdulo web incluye una subaplicacin llamada cart que contiene dos acciones, add.do y empty.do, en Directorio del mdulo se muestra una subcarpeta cart con las dos acciones. Los elementos de Tiles agrupados en subaplicaciones tambin se muestran en una subcarpeta de Directorio del mdulo. Por ejemplo, las definiciones de Tiles cart.list y cart.item se muestran en la subcarpeta cart.

C a pt u l o 7 : E l m a r c o d e t r a b a j o S t r u t s e n J B u i l d e r

7 -3

Herramientas de JBuilder para Struts

Adicin de descriptores de distribucin Struts al mdulo web


Se pueden aadir descriptores de distribucin para Struts al mdulo web. Para ello se debe seleccionar la opcin Struts 1.1 en la ficha Configurar parmetros del mdulo web del Asistente para mdulos web para aadir archivos descriptores de distribucin Struts al proyecto, entre los que se incluyen:
s s s s

struts-config.xml tiles-def.xml validator-rules.xml validation.xml

Esta ficha del asistente slo aade un archivo de configuracin de cada tipo al mdulo web que se est creando. Se pueden aadir manualmente otros archivos descriptores de distribucin al directorio WEB-INF del mdulo web en el directorio del proyecto. Una vez aadidos los archivos, es necesario registrarlos, tal y como se describe en el siguiente apartado. (Struts 1.0 slo admite un archivo struts-config.xml.)

Registro de descriptores de distribucin Struts


El cuadro de dilogo Propiedades de Struts se utiliza para hacer que JBuilder examine los archivos web.xml y struts-config.xml. En este examen se buscan archivos de configuracin de Struts nuevos o modificados, y se registran. Tambin se buscan archivos descriptores de distribucin tiles-def.xml nuevos o modificados y se registran en el archivo struts-config.xml. (Tiles es una funcin de Struts 1.1.) El cuadro de dilogo Propiedades de Struts tambin permite aadir y eliminar archivos descriptores de distribucin, as como reorganizarlos en el archivo web.xml. Para abrir este cuadro de dilogo, haga clic con el botn derecho del ratn en el nodo Struts del nodo Descriptores de distribucin del mdulo web y seleccione Propiedades.
Nota

Cuando se registra un archivo es necesario que apunte hacia un archivo descriptor de distribucin ya creado con un DTD vlido. Este cuadro de dilogo no se puede utilizar para crear archivos DTD.

7-4

Gua del desarrollador de aplicaciones web

Herramientas de JBuilder para Struts

Para registrar, modificar o cambiar el orden de los archivos descriptores de distribucin:

1 Haga clic con el botn derecho del ratn en la carpeta Struts del nodo
mdulo web, en el panel del proyecto, y seleccione Propiedades. Se muestra el cuadro de dilogo Propiedades de Struts. (Si se est utilizando Struts 1.0, slo aparece la mitad superior de este cuadro de dilogo.)

2 Para aadir un archivo descriptor de distribucin Struts a la lista de


archivos de configuracin de Struts en web.xml, pulse el botn Aadir. JBuilder abre el cuadro de dilogo Seleccione archivo de configuracin de Struts, en el que se puede elegir el archivo de configuracin que se desea aadir.

C a pt u l o 7 : E l m a r c o d e t r a b a j o S t r u t s e n J B u i l d e r

7 -5

Herramientas de JBuilder para Struts

Pulse Aceptar despus de seleccionar un archivo.

3 Para modificar la ubicacin de un archivo descriptor de distribucin Struts,


seleccinelo y pulse Modificar. Se abre el cuadro de dilogo Modificar archivo descriptor de distribucin de Struts, en el que se modifica la ubicacin del archivo de configuracin.

4 Para eliminar un archivo descriptor de distribucin Struts del archivo web.xml,


seleccinelo y pulse Eliminar. Slo se elimina del archivo, no del disco.

5 Para cambiar el orden por el que se examinan los archivos descriptores de


distribucin de Struts en el archivo web.xml, seleccione el archivo en la lista y escoja Desplazar arriba o Desplazar abajo. web.xml procesa en primer lugar el archivo de configuracin de la parte superior de la lista.

6 Pulse el botn Volver a examinar los archivos descriptores en la parte


superior del cuadro de dilogo para volver a examinar el archivo web.xml. Con esto se registran los archivos Struts nuevos o modificados.
Nota

Tiles es una funcin de Struts 1.1. Para registrar un archivo tiles-def.xml en un archivo descriptor de distribucin de Struts, pulse el botn Aadir, en la mitad inferior del cuadro de dilogo Propiedades de Struts. JBuilder abre el cuadro de dilogo Seleccione archivo de configuracin de Tiles, en el que se puede elegir el archivo de configuracin que se desea aadir.

7 Pulse Aceptar despus de seleccionar un archivo. 8 En el cuadro de dilogo Propiedades de Struts, pulse el botn Volver a
examinar los archivos descriptores para que JBuilder vuelva a examinar el archivo struts-config.xml. Pulse Aceptar para cerrar el cuadro de dilogo y guardar el archivo de configuracin. Si se observa el cdigo fuente de struts-config.xml, se ve que se ha aadido el nuevo archivo de configuracin de Tiles.

7-6

Gua del desarrollador de aplicaciones web

Herramientas de JBuilder para Struts

Aceptacin del marco de trabajo Struts


La pestaa Marco de trabajo del cuadro de dilogo Configurar bibliotecas (Herramientas|Configurar bibliotecas) permite configurar marcos con el fin de utilizarlos en JBuilder. Un marco de trabajo consta de una biblioteca de etiquetas y elementos especficos de taglib contenidos en un archivo JAR. Los siguientes marcos de trabajo se suministran junto con JBuilder, y estn disponibles en la carpeta de JBuilder del lado izquierdo del cuadro de dilogo Configurar bibliotecas.
s s s s

Struts JSTL InternetBeans Express Cocoon (Cocoon es una funcin de JBuilder Enterprise)

En el siguiente cuadro se muestra el marco de trabajo Struts que aparece en la pestaa del cuadro de dilogo Configurar bibliotecas. Figura 7.2 Marco de trabajo Struts en Configurar bibliotecas

Observe cmo aparecen las bibliotecas de etiquetas Struts en la pestaa Bibliotecas de etiquetas JSP de la pestaa Marco de trabajo.
s

Si desea ms informacin sobre bibliotecas en JBuilder y el cuadro de dilogo Configurar bibliotecas, consulte Las bibliotecas en Creacin de aplicaciones con JBuilder. Si desea ms informacin sobre las JSP y las bibliotecas de etiquetas, consulte Las bibliotecas de etiquetas JSP y los marcos de trabajo en JBuilder en la pgina 6-5.

C a pt u l o 7 : E l m a r c o d e t r a b a j o S t r u t s e n J B u i l d e r

7 -7

Herramientas de JBuilder para Struts

Asistente para mdulos web habilitado para Struts


La ficha Configurar parmetros del mdulo web del Asistente para mdulos web (Archivo|Nuevo|Web|Mdulo Web (WAR)) permite activar el mdulo web para Struts. Para seleccionar el marco de trabajo Struts para el mdulo web, seleccione Struts 1.1 o Struts 1.0 (si se ha configurado una biblioteca Struts 1.0) en la lista Marcos de trabajo JSP/Servlet. Si se selecciona el marco de trabajo Struts 1.1, se puede elegir aadir un archivo de configuracin de Tiles y un archivo de configuracin de Validation al mdulo web. La ficha Configurar parmetros del mdulo web tiene el siguiente aspecto: Figura 7.3 Ficha Configurar parmetros del mdulo web (Asistente Mdulo Web)

Nota

Se puede utilizar ms de un marco de trabajo en una aplicacin web. Por ejemplo, es posible utilizar Cocoon, Struts y JSTL. Si se selecciona el marco de trabajo Struts, JBuilder aade correspondencias al archivo web.xml. Los archivos *.tld por defecto se copian en el directorio WEB-INF y sus correspondencias se aaden al archivo web.xml. JBuilder crea el archivo struts-config.xml y lo muestra en el nodo de Struts del mdulo web. En el disco, se encuentra en el directorio WEB-INF. Los archivos de configuracin de Tiles y Validation tambin se colocan en la carpeta WEB-INF del mdulo web. En el panel del proyecto aparecen en el nodo Struts.

Sugerencia

En el caso de Struts 1.1 se pueden crear tantos archivos descriptores de distribucin como se desee para un determinado mdulo web. Sin embargo, slo se puede aadir uno a un mdulo web mediante el Asistente para mdulos web. Los dems se aaden al proyecto manualmente; hay que colocarlos en el directorio WEB-INF del mdulo web, en el disco, y a continuacin registrarlos en el archivo struts-config.xml. Si desea ms informacin, consulte Adicin de descriptores de distribucin Struts al mdulo web en la pgina 7-4 y Registro de descriptores de distribucin Struts en la pgina 7-4.

7-8

Gua del desarrollador de aplicaciones web

Herramientas de JBuilder para Struts

Una vez creada la aplicacin web, se pueden cambiar las propiedades del nodo, incluida la seleccin del marco de trabajo. Para ello, haga clic con el botn derecho del ratn en el panel del proyecto y seleccione Propiedades. El marco de trabajo se puede cambiar en el nodo Web del cuadro de dilogo Propiedades de Mdulo web.
Importante

Para generar una aplicacin web, lo primero que se ha de hacer es crear un mdulo web. Si desea ms informacin sobre los pasos necesarios para crear una aplicacin web de Struts, consulte Creacin de una aplicacin web preparada para Struts en JBuilder en la pgina 7-19.

Asistente para JSP preparado para Struts


El Asistente para JSP (Archivo|Nuevo|JSP) tambin est preparado para el marco de trabajo Struts. En la ficha Modificar los detalles del archivo JSP del asistente se seleccionan las bibliotecas de etiquetas para utilizar con JSP. Para poder ver las bibliotecas de etiquetas Struts es necesario desplazarse por la lista, como se muestra en la siguiente ilustracin. (En esta ilustracin, la biblioteca Struts 1.0 se ha activado.) Figura 7.4 Ficha Modificar los detalles del archivo JSP Asistente para JSP

Las bibliotecas de etiquetas se seleccionan marcando la casilla junto a la que desee utilizar. Puede elegir cualquier biblioteca de etiquetas, no es necesario que la que elija est ya preparada para la aplicacin web.
Importante

Si desea ms informacin sobre los pasos necesarios para crear una aplicacin web de Struts, consulte Creacin de una aplicacin web preparada para Struts en JBuilder en la pgina 7-19.

C a pt u l o 7 : E l m a r c o d e t r a b a j o S t r u t s e n J B u i l d e r

7 -9

Herramientas de JBuilder para Struts

Asistente para ActionForm


Una clase ActionForm contiene el estado de sesin de una pgina web. Cada bean ActionForm constituye una subclase de la clase abstracta ActionForm. ActionForm contiene mtodos de obtencin y definicin para cada uno de los campos de datos de los que ActionForm es responsable. Normalmente son todos los campos de un formulario de una pgina, pero tambin pueden abarcar varias pginas relacionadas que actan como un asistente. ActionForm tambin contiene un mtodo validate() que valida los datos suministrados. El Asistente para ActionForm (Archivo|Nuevo|ActionForm) permite crear rpida y fcilmente una clase ActionForm. Puede aadir campos mediante el asistente o rellenarlos previamente a partir de una pgina JSP ya creada. El asistente crea la clase ActionForm y la registra en el archivo struts-config.xml seleccionado. Tambin se puede ir directamente al Diseador de Form Bean.

Ficha Mdulo web e informacin de clases para ActionForm


En la ficha Mdulo web e informacin de clases para ActionForm del asistente se especifica el mdulo web que se va a utilizar. Se puede elegir un mdulo web o crear uno pulsando el botn Nuevo con el fin de abrir el Asistente para mdulos web. El campo Configuracin de Struts le permite seleccionar el archivo de configuracin de Struts que se utilizar para este ActionForm. En esta ficha del asistente tambin se selecciona el paquete para la clase ActionForm, se especifica el nombre de la clase, se elige la clase base y se indica si se desea ir directamente al Diseador de Form Bean cuando se pulsa Finalizar. Figura 7.5 Ficha Mdulo web e informacin de clases para ActionForm Asistente para ActionForm

7-1 0

Gu a d e l d e s a r r o l l a d o r d e a p l i c a c i o n e s w e b

Herramientas de JBuilder para Struts

Ficha Definicin de campos para ActionForm


La ficha Definicin de campos para ActionForm permite definir los campos de los que ActionForm se har responsable. Puede aadir los campos directamente a la lista o seleccionar una JSP desde la que importarlos. Los campos se derivan de las etiquetas de entrada descubiertas en la JSP. Figura 7.6 Ficha Definicin de campos para ActionForm Asistente para ActionForm

Ficha Seleccin de opciones adicionales


En la ficha Seleccin de opciones adicionales se eligen las opciones de configuracin adicionales. Puede elegir si aade la correspondencia de ActionForm a struts-config.xml. Tambin puede crear y sustituir el mtodo reset() en ActionForm o borrar el mtodo validate() existente. Figura 7.7 Ficha Seleccin de opciones adicionales Asistente para ActionForm

C a pt u l o 7 : E l m a r c o d e t r a b a j o S t r u t s e n J B u i l d e r

7 -1 1

Herramientas de JBuilder para Struts

Nota

Si el nombre de la clase ActionForm que seleccione ya existe y es una ActionForm vlida, se le solicita que importe los campos existentes de ActionForm. Esto resulta de gran utilidad para poder ampliar un formulario ya existente o para generar un formulario que ocupa varias JSP. Si elige no importar estos campos, el archivo original no se elimina, pero todos los mtodos de obtencin y definicin sern suprimidos y sustituidos por los campos de la lista final. Se conservan los dems mtodos adicionales. Si se eliminaran los campos, aparecera un mensaje de advertencia recordndole que tiene que reparar el mtodo validate(). Despus de introducir todos los campos, el asistente genera la ActionForm y la registra en el archivo struts-config.xml seleccionado.

Asistente para Action


Una Action es la clase de control en el marco de trabajo Struts. Se llama al mtodo Action.execute() (o al mtodo Action.perform() en Struts 1.0) para ejecutar la lgica empresarial. Se devuelve una clase ActionForward. ActionForward indica al servlet del controlador Struts la siguiente accin en la cadena de sucesos. El Asistente para Action (Archivo|Nuevo|Web|Action) crea rpidamente una clase Action y la registra en el struts-config.xml seleccionado. Tambin se puede optar por ir directamente al Diseador de Action.

Ficha Nombre y mdulo web para Action


La ficha Nombre y mdulo web para Action, del asistente, permite especificar el mdulo web que se va a utilizar. Se puede elegir un mdulo web o crear uno pulsando el botn Nuevo con el fin de abrir el Asistente para mdulos web. El campo Configuracin de Struts permite seleccionar el archivo de configuracin de Struts que se utilizar para esta Action. En esta ficha del asistente tambin se introduce el paquete para la clase Action, se especifica el nombre de la clase, se elige la clase antecesora y se indica si se desea ir directamente al Diseador de Action cuando se pulsa Finalizar. Figura 7.8 Ficha Mdulo web y nombre para ActionForm Asistente para Action

7-1 2

Gu a d e l d e s a r r o l l a d o r d e a p l i c a c i o n e s w e b

Herramientas de JBuilder para Struts

Ficha Informacin de configuracin


En la ficha Informacin de configuracin del asistente se puede seleccionar la va de acceso a Action y la configuracin de ActionForm asociada con esta clase Action. Se puede seleccionar una va de acceso relativa al contexto de Action, y de forma optativa, elegir la ActionForm que se va a utilizar, el mbito de Action, la validacin de Action y la JSP de entrada. En caso de error de validacin, el control se devuelve en la JSP de entrada. Los errores se muestran en la etiqueta <html:errors /> de la JSP, que es normalmente la misma JSP que se envi al principio. Figura 7.9 Ficha Informacin de configuracin Asistente para Action

Asistente para JSP a partir de ActionForm


El Asistente para JSP a partir de ActionForm (Archivo|Nuevo|Web|JSP a partir de ActionForm) toma la clase ActionForm y crea una pgina JSP. Este formulario se rellena con los campos seleccionados de ActionForm. Puede seleccionar los campos que aade a la JSP, as como el tipo de etiqueta que se utiliza en el campo, por ejemplo, text, textarea, hidden o password. Este asistente tiene un comportamiento inverso al del Asistente para ActionForm.

Ficha WebApp, JSP y ActionForm


En la ficha WebApp, JSP y ActionForm del asistente se especifica el mdulo web que se utiliza para esta JSP. Se puede elegir un mdulo web o crear uno pulsando el botn Nuevo con el fin de abrir el Asistente para mdulos web. El campo Configuracin de Struts permite seleccionar el archivo de configuracin de Struts que se utiliza para esta JSP. Esta ficha tambin se utiliza para elegir el nombre de la JSP, la clase ActionForm que se utilizar para crear los campos y la va de acceso de la accin relativa al contexto. Tenga en cuenta que el nombre de la JSP es necesario.

C a pt u l o 7 : E l m a r c o d e t r a b a j o S t r u t s e n J B u i l d e r

7 -1 3

Herramientas de JBuilder para Struts

Figura 7.10 Ficha Mdulo web, JSP y ActionForm Asistente para JSP a partir de ActionForm

Ficha Tipos de etiquetas para campos ActionForm


En la ficha Tipos de etiquetas para campos ActionForm en JSP se selecciona el tipo de etiqueta que debe utilizar cada campo ActionForm. El nombre del campo se deriva de los mtodos de obtencin y definicin de la clase ActionForm, especificados en la ficha anterior del asistente. El valor por defecto para Tipo es text; sin embargo, puede cambiarlo a hidden, textarea o password. Pulse sobre el campo Tipo para abrir la lista desplegable. Tambin puede elegir que no se utilice este campo. Figura 7.11 Ficha Tipos de etiquetas para campos ActionForm en JSP Asistente para JSP a partir de ActionForm

7-1 4

Gu a d e l d e s a r r o l l a d o r d e a p l i c a c i o n e s w e b

Herramientas de JBuilder para Struts

Ficha Indique las opciones para crear esta JSP Struts


La ficha Indique las opciones para crear este JSP Struts permite seleccionar etiquetas y atributos adicionales. Puede elegir si utiliza la etiqueta Struts <html:base>. Tambin determina si se utilizan los atributos Struts locale o xhtml y cmo se importan las bibliotecas de etiquetas Struts. Figura 7.12 Ficha Indique las opciones para crear esta JSP Struts Asistente para JSP a partir de ActionForm

Asistente para conversin de Struts


El Asistente para conversin a Struts (Archivo|Nuevo|Web|Conversor de Struts) convierte las pginas JSP y HTML de modo que puedan utilizar etiquetas especficas de Struts. El asistente:
s s

Cambia el nombre de archivos .html por archivos .jsp si es necesario. Permite seleccionar las etiquetas convertibles Struts que se convierten realmente. Lee y analiza el HTML ya creado e identifica las etiquetas. Sustituye las etiquetas adecuadas por etiquetas Struts. Incluye las importaciones que requiera Struts. Escribe el archivo final, conservando al mximo la estructura y el contenido originales.

s s s s

Advertencia

El archivo que crea el Asistente para conversin de Struts sustituye a su archivo original. Sin embargo, puede utilizar la vista del histrico de JBuilder para recuperarlo. El Asistente para conversin a Struts se encuentra disponible en el nodo Web de la galera de objetos. Tambin est disponible desde el men contextual

C a pt u l o 7 : E l m a r c o d e t r a b a j o S t r u t s e n J B u i l d e r

7 -1 5

Herramientas de JBuilder para Struts

del editor cuando se abre una JSP o archivo HTML. Si abre el asistente desde el men contextual, el archivo a convertir se recoge en la lista Archivos JSP y HTML para su conversin en Struts, de la primera ficha del asistente.

Ficha Indique las pginas para su conversin a Struts


En la ficha Indique las pginas para su conversin a Struts se seleccionan las fichas que se convertirn. Los archivos deben ser o HTML o JSP. Tambin se elige el mdulo web de los archivos que crea el asistente. Se puede especificar un mdulo web o crearlo pulsando el botn Nuevo con el fin de abrir el Asistente para aplicaciones web. Figura 7.13 Ficha Indique las pginas para su conversin a Struts Asistente para conversin a Struts

Ficha Etiquetas que se han de convertir


En la ficha Etiquetas que se han de convertir se seleccionan las etiquetas que se van a convertir a Struts. Esta ficha muestra todas las etiquetas disponibles para convertir. Puede seleccionar clases de etiquetas individuales para la conversin. El botn Seleccionar todo selecciona todas las etiquetas, mientras que el botn Ninguno deshace la seleccin de todas las etiquetas.

7-1 6

Gu a d e l d e s a r r o l l a d o r d e a p l i c a c i o n e s w e b

Herramientas de JBuilder para Struts

Figura 7.14 Ficha Etiquetas que se han de convertir Asistente para conversin a Struts

Ficha Especifique las opciones para convertir etiquetas a Struts


La ficha Especifique las opciones para convertir etiquetas a Struts permite seleccionar etiquetas y atributos adicionales. Puede elegir si utiliza la etiqueta Struts <html:base>. Tambin puede elegir si elimina los atributos value en las etiquetas de entrada de texto, ya que Struts no los utiliza. Adems, puede seleccionar los atributos locale o xhtml y elegir qu importaciones de bibliotecas de etiquetas Struts se utilizan. Figura 7.15 Ficha Especifique las opciones para convertir etiquetas a Struts Asistente para conversin a Struts

C a pt u l o 7 : E l m a r c o d e t r a b a j o S t r u t s e n J B u i l d e r

7 -1 7

Herramientas de JBuilder para Struts

Editor de configuracin de Struts


El Editor de configuracin de Struts es un editor visual que permite modificar el archivo struts-config.xml. Este archivo es un descriptor de distribucin para su aplicacin web Struts y se debe ubicar en el directorio WEB-INF o en uno de sus subdirectorios. (Tenga en cuenta que Struts 1.1 es compatible con varios archivos descriptores de distribucin. Al descriptor de distribucin Struts se le puede dar cualquier nombre, pero el tipo de archivo debe ser .xml.) Si se utilizan los asistentes de JBuilder para crear una aplicacin web preparada para Struts, se crea un archivo struts-config.xml y se coloca en la ubicacin adecuada. El archivo struts-config.xml informa al servlet del controlador (ActionServlet) sobre sus correspondencias de aplicaciones. Si el editor tiene el foco, se puede pulsar F1 para obtener ayuda sensible al contexto. Figura 7.16 Editor de configuracin de Struts

Si desea ms informacin sobre el Editor de configuracin de Struts, consulte el Captulo 11, Modificacin del archivo struts-config.xml. Se proporcionan diseadores de arrastre para los elementos <form-beans> y <action> del archivo de configuracin de Struts. Estos diseadores visuales permiten manipular elementos de la aplicacin web. Los diagramas muestran JSP, Form Beans, actions, forwards y exceptions, y permiten mover, aadir y eliminar elementos. Si desea ms informacin sobre los diseadores de Struts, consulte el Captulo 12, Los diseadores de Struts.

7-1 8

Gu a d e l d e s a r r o l l a d o r d e a p l i c a c i o n e s w e b

Creacin de una aplicacin web preparada para Struts en JBuilder

El Editor de configuracin de Tiles


Nota

Tiles es una funcin de Struts 1.1. El Editor de configuracin de Tiles permite modificar el archivo tiles-def.xml. Este archivo es un descriptor de distribucin de la capa Tiles, o de presentacin, de la aplicacin. Debe encontrarse en el directorio WEB-INF o en uno de sus subdirectorios. (Tenga en cuenta que Struts 1.1 es compatible con varios archivos descriptores de distribucin. Al descriptor de distribucin de Tiles se le puede asignar cualquier nombre de archivo, pero el tipo de archivo debe ser .xml.) Si desea ms informacin, consulte Modificacin del archivo tiles-def.xml en la pgina 11-34. Tambin existe un diseador visual para el archivo tiles-def.xml. Consulte el Captulo 12, Los diseadores de Struts, para obtener ms informacin. Si el editor tiene el foco, se puede pulsar F1 para obtener ayuda sensible al contexto.

Creacin de una aplicacin web preparada para Struts en JBuilder


La creacin de una aplicacin web preparada para Struts en JBuilder es un proceso que consta de varios pasos. Lo mejor es que primero cree su aplicacin en papel. Determine el flujo lgico de su aplicacin. Qu vista se va a mostrar primero al usuario? Qu accin va a seguir a esa vista? Cmo se van a gestionar los errores? Se va a utilizar una capa de presentacin, como Tiles? Existen varios tutoriales muy completos sobre Struts en la web que pueden ayudarle en la determinacin del diseo y el flujo de la aplicacin. Consulte los enlaces de la pgina Jakarta Struts Resources Tutorials en http://jakarta.apache.org/struts/resources/tutorials.html. Una vez que ya cuente con el diseo de su aplicacin, puede empezar a utilizar las herramientas y asistentes de JBuilder para crearla. En los siguientes pasos se ofrece una breve descripcin general de la creacin de una aplicacin web preparada para Struts en JBuilder. Estos pasos describen una posible situacin de flujo de trabajo. El desarrollo de una aplicacin Struts es un proceso repetitivo: los asistentes se utilizan para crear clases y disear visualmente el flujo de aplicaciones y el editor se utiliza para modificar las clases de JSP, Action o ActionForm. Se pueden aadir y modificar elementos y clases Struts mediante el men contextual del panel de estructura.

1 Cree un proyecto y active un servidor. 2 Utilice el Asistente para mdulos web (Archivo|Nuevo|Web|Mdulo Web
(WAR)) para crear el mdulo web preparado para Struts:

a En la ficha Seleccionar origen del mdulo web del asistente se puede


crear un mdulo web vaco o copiar uno ya creado de un directorio o recopilatorio. Si se copia uno ya creado, JBuilder verifica su validez.

C a pt u l o 7 : E l m a r c o d e t r a b a j o S t r u t s e n J B u i l d e r

7 -1 9

C r e a c i n d e u n a a p l i c a c i n w e b p r e p a r a d a p a r a S t r u t s e n J B u i l d e r

b En la ficha Introduzca atributos bsicos para aplicaciones web, escriba


el nombre del mdulo web y del directorio (normalmente es el mismo) y seleccione los estndares del mdulo web.

c En la ficha Configurar parmetros del mdulo web, seleccione la raz de


contexto del mdulo web y los marcos de trabajo JSP/Servlet. Escoja la opcin Struts 1.1. Tambin se puede crear un archivo descriptor de distribucin de Tiles y Validation para el mdulo web seleccionando la opcin adecuada. (Si desea aadir ms descriptores de distribucin, consulte el apartado Adicin de descriptores de distribucin Struts al mdulo web en la pgina 7-4.)

3 Utilice el Asistente para JSP (Archivo|Nuevo|Web|Pgina JavaServer) para


crear las pginas JSP.

a En la ficha Declarar JSP y componentes, del asistente, escriba el


nombre de la JSP. No seleccione ninguna de las opciones.

b En la ficha Modificar los detalles del archivo JSP, elija el color de fondo
deseado. No genere un formulario de envo. Desplcese por la lista Bibliotecas de etiqueta hasta que aparezcan las bibliotecas de etiquetas Struts. Seleccione las bibliotecas de etiquetas Struts que vaya a utilizar con esta JSP:
s

struts-beans: etiquetas para mostrar datos a partir de JavaBeans, como los devueltos por una consulta a una base de datos. struts-html: etiquetas para sustituir la mayora de los elementos HTML. struts-logic: etiquetas para realizar iteraciones y procesamiento condicional de datos de vista, como la presentacin de la informacin de una base de datos en formato de tabla. struts-template: etiquetas para importar fragmentos de cdigo a pginas JSP; por ejemplo, el logotipo y cabecera de una empresa que aparecen en todas las pginas de una sede web. struts-tiles: etiquetas que combinan tiles, los componentes de presentacin, en una vista final compuesta. struts-nested: etiquetas que permiten utilizar beans anidados.

c Puede pulsar Finalizar en esta ficha, no es necesario que configure


opciones en otras fichas.

4 Aada etiquetas Struts a la JSP para disear la vista. Si desea ms


informacin sobre la generacin de la capa de vista en la aplicacin web Struts, consulte Building View Components en Struts User's Guide, en http://jakarta.apache.org/struts/userGuide.El documento tambin incluye informacin acerca de la creacin de formularios con Struts y la internacionalizacin de la aplicacin web Struts. Tambin describe otras tcnicas de presentacin, como las inclusiones Tiles, los componentes de presentacin de imgenes y la presentacin de texto.

7-2 0

Gu a d e l d e s a r r o l l a d o r d e a p l i c a c i o n e s w e b

Creacin de una aplicacin web preparada para Struts en JBuilder

Nota

Si no utiliza etiquetas Struts en la JSP, puede utilizar el Asistente para conversin a Struts para convertir las etiquetas HTML de la JSP a Struts.

5 Utilice el Asistente para ActionForm (Archivo|Nuevo|pestaa Web|


ActionForm) con el fin de disear el ActionForm para la capa de vista.

a En la ficha Mdulo web e informacin de clases para ActionForm del


asistente, seleccione la aplicacin web, el archivo de configuracin de Struts y el paquete para ActionForm. Normalmente stos sern los valores por defecto. Introduzca el nombre de la clase. Seleccione la opcin Abrir el Diseador de Form Bean para ir directamente al Diseador de Form Bean cuando se pulse Finalizar para cerrar el asistente.

b En la ficha Definicin de campos para ActionForm, elija Aadir desde


JSP si ya ha aadido los campos a la JSP. Seleccione la JSP del cuadro de dilogo Aadir JSP. Los campos y sus tipos se rellenan automticamente.

c Configure las opciones por defecto en la ficha Seleccin de opciones


adicionales. La opcin por defecto crea automticamente la correspondencia <form-bean> en struts-config.xml.

d Pulse el botn Finalizar.


Si desea ms informacin sobre la clase ActionForm, consulte ActionForm classes en Struts User's Guide, en http://jakarta.apache.org/struts/ userGuide.

6 Ya puede utilizar el Diseador de Form Bean para disear el ActionForm.


Seleccione el archivo struts-config.xml en el panel del proyecto, abra el nodo Form Beans en el panel de estructura y haga doble clic en el elemento form-beans que desea disear. Si desea ms informacin, consulte Diseador de Form Bean en la pgina 12-10.

7 Utilice el Asistente para Action (Archivo|Nuevo|pestaa Web|Action) con el


fin de crear la clase Action para la capa de vista.

a En la ficha Mdulo web y nombre para Action, seleccione la aplicacin


web, el archivo de configuracin de Struts, el paquete y la clase base. stos son normalmente los valores por defecto. Cambie el nombre de Action por el que desee. Seleccione la opcin Abrir el Diseador de Action para ir directamente al Diseador de Action cuando se pulse Finalizar para cerrar el asistente.

b En la ficha Informacin de configuracin, asigne el valor por defecto a


Va de acceso a Action. Elija el form bean de la lista desplegable (es el nombre asignado a la clase ActionForm que cre con el Asistente para ActionForm). Establezca la JSP de entrada como la JSP a la que se devuelve el control si se produce un error de validacin. No es necesario configurar las opciones mbito y Validar FormBean. Para ir directamente al Diseador de Action, active la opcin Abrir el Diseador de Action.

c Pulse Finalizar para crear la clase Action.

C a pt u l o 7 : E l m a r c o d e t r a b a j o S t r u t s e n J B u i l d e r

7 -2 1

C r e a c i n d e u n a a p l i c a c i n w e b p r e p a r a d a p a r a S t r u t s e n J B u i l d e r

8 Abra la clase Action en el editor. Aada lgica empresarial al mtodo


execute() (el mtodo perform() en Struts 1.0). Una vez aadido el cdigo al mtodo, puede borrar la ltima lnea del mtodo, la lnea de gestin de errores. (Esta lnea estar fuera de mbito, una vez que haya implementado el mtodo.) Si desea ms informacin sobre la clase ActionForm, consulte ActionForm classes en Struts User's Guide, en http:/ /jakarta.apache.org/struts/userGuide.

9 Ya se puede utilizar el Diseador de Action para disear la accin.


Seleccione el archivo struts-config.xml en el panel del proyecto, abra el nodo Actions en el panel de estructura y haga doble clic en el elemento action-mappings que desea disear. Si desea ms informacin, consulte Diseador de Action en la pgina 12-5.

10 Registre los archivos descriptores de distribucin mediante el cuadro de


dilogo Propiedades de Struts. Si desea ms informacin, consulte Registro de descriptores de distribucin Struts en la pgina 7-4. Si lo desea, puede seguir aadiendo JSP, Actions, ActionForms y descriptores de distribucin al mdulo web. Utilice el Editor de configuracin de Struts y los diseadores visuales para disear el flujo de la aplicacin. Utilice el Diseador de Tiles para disear la capa de presentacin. Asegrese de ejecutar el mdulo web con frecuencia. Es mejor detectar los problemas de diseo a tiempo que ms adelante, cuando el proyecto ya es ms complejo y ms difcil de depurar.

Apertura del proyecto Blank de Struts en JBuilder


El proyecto Jakarta proporciona una aplicacin web Struts bsica llamada Blank. Es una aplicacin vaca, diseada para ayudar a crear proyectos propios. Esta aplicacin contiene una JSP, una Action y ActionForm, un archivo .properties que contiene el mensaje de la aplicacin, Welcome!, y los descriptores de distribucin necesarios. Este proyecto se puede abrir y examinar en JBuilder para ver su estructura. Para abrir y ejecutar el proyecto Blank en JBuilder:

1 Descargue la versin Struts 1.1 de la pgina web del proyecto Jakarta.


Dirjase a http://jakarta.apache.org/site/binindex.cgi. Desplcese hasta el enlace de Struts y seleccione Struts 1.1 zip. Descargue la versin binaria en un directorio del ordenador local. (No lo descargue mediante el Visor de ayuda.)

2 Extraiga el archivo struts-blank.war del recopilatorio en un directorio del


ordenador local. (No es necesario extraer el contenido de este archivo WAR en el directorio; JBuilder puede crear un mdulo web desde el archivo WAR.)

3 Cree un proyecto con el Asistente para proyectos (Archivo|Nuevo


proyecto). En la ficha del asistente seleccione nombre y plantilla, escriba

7-2 2

Gu a d e l d e s a r r o l l a d o r d e a p l i c a c i o n e s w e b

Creacin de una aplicacin web preparada para Struts en JBuilder

blankproject en el campo Nombre. El directorio se define automticamente como <userhome>/blankproject.

4 Pulse Finalizar para cerrar el asistente y crear el proyecto. 5 Seleccione Proyecto|Proppiedades de proyecto|Servidor para abrir el nodo
Servidor, en el que se selecciona un servidor para el proyecto. Seleccione Tomcat 4.0 en la lista desplegable Servidor nico para todos los servicios del proyecto, tal como se muestra en la siguiente imagen:

6 Haga clic en Aceptar para cerrar el cuadro de dilogo.

C a pt u l o 7 : E l m a r c o d e t r a b a j o S t r u t s e n J B u i l d e r

7 -2 3

C r e a c i n d e u n a a p l i c a c i n w e b p r e p a r a d a p a r a S t r u t s e n J B u i l d e r

7 Para mostrar la galera de objetos, seleccione Archivo|Nuevo. Haga doble


clic en el Mdulo Web (WAR) del nodo Web para abrir el Asistente para mdulos web.

8 En la ficha Seleccionar el origen del Mdulo Web, escoja la opcin Copiar


Mdulo Web desde un directorio o recopilatorio. Busque la ubicacin del archivo struts-blank.war, tal como aparece en la siguiente imagen:

9 Pulse Siguiente para dirigirse a la ficha Introduzca atributos bsicos de


Mdulo Web. Asegrese de que se han seleccionado Servlet 2.3 y JSP 1.2 en la lista Estndares disponibles.

7-2 4

Gu a d e l d e s a r r o l l a d o r d e a p l i c a c i o n e s w e b

Creacin de una aplicacin web preparada para Struts en JBuilder

10 Pulse Siguiente para dirigirse a la ficha Configurar parmetros del mdulo


web. Seleccione Struts 1.1, Tiles y Validation en la lista Marcos de trabajo JSP/Servlet.

11 Pulse Finalizar para crear el mdulo web. El nodo mdulo web, WebModule1
aparece en el panel del proyecto. Ample el nodo para ver los nodos Descriptores de distribucin y Directorio del mdulo. Observe que los elementos relacionados con Struts, como las acciones y las definiciones, se agrupan en la carpeta Directorio del mdulo.

Para ejecutar el proyecto en JBuilder es necesario crear una configuracin de ejecucin. Para ello:

1 Seleccione Ejecutar|Configuraciones para crear una configuracin de


ejecucin para el proyecto. Se muestra el cuadro de dilogo Configuraciones de ejecucin.
C a pt u l o 7 : E l m a r c o d e t r a b a j o S t r u t s e n J B u i l d e r 7 -2 5

C r e a c i n d e u n a a p l i c a c i n w e b p r e p a r a d a p a r a S t r u t s e n J B u i l d e r

2 Pulse el botn Nuevo con el fin de abrir el cuadro de dilogo Nueva


configuracin de ejecucin.

3 Escriba RunBlankProject en el campo Nombre. 4 Seleccione Servidor en la lista desplegable Tipo. 5 Elija el servicio JSP/Servlet en la lista Categora de la parte izquierda del
cuadro de dilogo.

6 Pulse el botn de puntos suspensivos (...) contiguo al cuadro de dilogo


URI de inicio para abrir el cuadro de dilogo Escriba o seleccione el URI que se va a lanzar. Seleccione index.jsp en el rbol Archivo, a la izquierda. El cuadro de dilogo tendr un aspecto parecido a ste:

7-2 6

Gu a d e l d e s a r r o l l a d o r d e a p l i c a c i o n e s w e b

Creacin de una aplicacin web preparada para Struts en JBuilder

7 Haga clic en Aceptar para cerrar el cuadro de dilogo. El cuadro de dilogo


Nueva configuracin de ejecucin tiene un aspecto parecido al siguiente:

8 Pulse dos veces Aceptar para cerrar los cuadros de dilogo.


Para ejecutar el proyecto mediante el servidor Tomcat y la nueva configuracin de ejecucin, seleccione Ejecutar|Ejecutar el proyecto. La salida aparece en la vista web:

Nota

Pueden aparecer mensajes informativos de Tomcat con texto en rojo. Estos mensajes se pueden obviar. Los mensajes que se muestran se guardan en el archivo application.properties, y los llaman las directivas de JSP del archivo welcome.jsp. Este proyecto se puede utilizar como punto de partida para una aplicacin web Struts.

C a pt u l o 7 : E l m a r c o d e t r a b a j o S t r u t s e n J B u i l d e r

7 -2 7

7-2 8

Gua del desarrollador de aplicaciones web

Captulo

Captulo 8

Las aplicaciones web en IDE de JBuilder

Desarrollo web es una funcin de JBuilder Developer y JBuilder Enterprise

JBuilder proporciona comandos en el men contextual del panel del proyecto que facilitan la ejecucin y depuracin de servlets y JSP. Ejecutar web ejecuta su servlet o JSP mediante la configuracin de ejecucin del servidor seleccionado. Depurar web depura la JSP o los servlets mediante la configuracin de ejecucin del servidor seleccionado con opciones de depuracin, permitiendo la ejecucin paso a paso y la verificacin del cdigo de forma sencilla. Optimizar web ejecuta el servidor con un optimizador/ perfilador como OptimizeIt (necesita tener uno instalado). Los comandos web muestran las configuraciones de ejecucin disponibles en el proyecto. Mediante la seleccin de Ejecutar web o Depurar web se ejecuta o se depura el servlet o la JSP en su contexto de mdulo web. Si el archivo JSP, HTML o SHTML no est en un mdulo web, no es posible ejecutarlo ni depurarlo en web y en el men contextual no aparecen los comandos Ejecutar web y Depurar web. Para obtener ms informacin sobre los mdulos de pginas web, consulte El mdulo web y sus propiedades en la pgina 3-7.

Nota

Si se establece un URI de inicio para un mdulo web (en el Asistente para mdulos web), se puede ejecutar la el mdulo desde esa ubicacin, desde el men contextual del nodo del mdulo web. De esta forma, si la aplicacin tiene una punto de inicio obvio, se puede ejecutar, depurar y optimizar sin necesidad de profundizar en el contenido web. Cuando se crea un servlet o una JSP utilizando el Asistente para servlets o JSP de JBuilder, los comandos Ejecutar web y Depurar web se activan automticamente.

C a pt u l o 8 : L a s a p l i c a c i o n e s w e b e n I D E d e J B u i l d e r

8 -1

C r e a c i n d e u n a c o n f i g u r a c i n d e e j e c u c i n

Importante

Las applets no pueden ejecutarse o depurarse. Esto se debe a que no tienen una URL o un contexto web en el que ejecutarse. Adems, las applets se ejecutan en el navegador de un cliente, en lugar de un servidor. Habitualmente, un applet se ejecuta en appletviewer, de Sun, o en AppletTestbed, de JBuilder. Si desea ms informacin, consulte El Appletestbed de JBuilder y el appletviewer de Sun en la pgina 14-20. Antes de que pueda ejecutar su applet, servlet o JSP, necesita crear una configuracin de ejecucin. Para los servlets no creados con el asistente, tambin necesita configurar propiedades de ejecucin. Despus, una vez compile su servlet o JSP, ya podr ejecutarlo.

Creacin de una configuracin de ejecucin


Antes de poder ejecutar su applet, servlet o JSP en JBuilder, debe crear una configuracin de ejecucin. La configuracin determina el tipo de ejecutor y qu se ejecuta. Tambin se pueden definir opciones de depuracin en la configuracin. Existen dos formas de crear una configuracin para un applet, JSP o servlet; puede utilizar el asistente para crear la configuracin bsica y despus personalizarla si es necesario. Alternativamente, puede crear la configuracin directamente mediante el comando Ejecutar|Configuraciones.

Creacin de una configuracin de ejecucin con los asistentes


La ficha Definir configuracin de los asistentes para applets, JSP y servlets permite crear rpidamente una configuracin de ejecucin. En el Asistente para servlet, la ficha de configuracin de ejecucin tiene este aspecto:

Cuando crea una configuracin de ejecucin del applet con el asistente, el ejecutor de applet se activa. El applet se ejecuta en el visualizador de applets

8-2

Gua del desarrollador de aplicaciones web

C r e a c i n d e u n a c o n f i g u r a c i n d e e j e c u c i n

de JBuilder, AppletTestbed, mediante el archivo de clase de applet. (Observe que no puede Ejecutar web o Depurar web un applet porque no inicia un servidor para ejecutarse, se ejecuta en un navegador. Adems, las applets no cuentan con un contexto web en el que ejecutarse.) Si desea ms informacin, consulte Creacin de una configuracin de ejecucin en la pgina 8-2. Cuando crea una configuracin de ejecucin de servlet con el asistente, el ejecutor de servidor se activa. El servidor seleccionado en el nodo Propiedades de proyecto|Servidor se convierte en el servidor web activo. El URI que se debe ejecutar se toma de la entrada del campo Patrn de URL de la Ficha Introduzca los detalles de webappIntroduzca los detalles de webapp del Asistente para servlets y desde el mdulo web del servlet. Si desea ms informacin, consulte Creacin de una configuracin de ejecucin del servidor en la pgina 8-5. Cuando crea una configuracin de ejecucin de JSP con el asistente, el ejecutor de servidor se activa. El servidor seleccionado en la ficha Servidor de Propiedades de Proyecto se convierte en el servidor web activo. El URI que se debe ejecutar se toma del mdulo web y del nombre de archivo JSP. Si desea ms informacin, consulte Inicio del servidor web en la pgina 8-17.

Creacin de una configuracin de ejecucin de applets


Si ya tiene un programa, o elige no crear una configuracin de ejecucin con el asistente para Applet, puede crearla mediante el cuadro de dilogo Propiedades de configuracin de ejecucin. Para ello:

1 Seleccione Ejecutar|Configuraciones. Se muestra el cuadro de dilogo


Configuraciones de ejecucin.

2 Pulse Nueva para crear una configuracin. Se muestra el cuadro de


dilogo Modificar configuracin de ejecucin.

C a pt u l o 8 : L a s a p l i c a c i o n e s w e b e n I D E d e J B u i l d e r

8 -3

C r e a c i n d e u n a c o n f i g u r a c i n d e e j e c u c i n

3 Introduzca el nombre de la configuracin en el campo Nombre. 4 Elija el tipo de generacin que desee ejecutar antes de iniciar. Si desea ms informacin, consulte Tipos de generacin en el captulo Creacin de aplicaciones con JBuilder. 5 Seleccione Applet en la lista desplegable Tipo. 6 Elija Clase principal con el fin de ejecutar el applet en AppletTestbed de
JBuilder. Cuando se crea un applet mediante el Asistente para applets, ste fija la clase principal automticamente. La clase seleccionada debe contener un mtodo init(). Busque la clase principal pulsando el botn con puntos suspensivos (...) y seleccione la clase en el cuadro de dilogo Seleccionar clase principal del proyecto.

7 Elija la opcin Archivo HTML con el fin de ejecutar el applet en el


appletviewer de Sun. El archivo HTML debe contener la etiqueta <applet>. El atributo code debe contener el nombre de clase completo. Busque el archivo HTML pulsando el botn con puntos suspensivos (...) y seleccinelo en el cuadro de dilogo Seleccione el archivo HTML que se va a ejecutar.

8 En el campo Parmetros de la MV, introduzca cualquier parmetro que


quiera pasar a la Mquina Virtual (MV) de Java. Si desea ms informacin sobre la MV de Java y las opciones que se le pueden pasar, consulte Basic Tools: java - The launcher for Java technology applications.

9 Si seleccion la opcin Clase principal para ejecutar el applet, introduzca el


tamao y cualquier otro parmetro inicial:

a Introduzca el ancho y alto iniciales del applet en los campos Anchura y


Altura.

b Introduzca los parmetros del applet en la lista Parmetros de applet.


Escriba el nombre del parmetro en la columna Nombre y su valor inicial en la columna Valor.
Nota

Si ejecuta el applet desde la pgina HTML, no necesita declarar parmetros, porque ya estn configurados en la pgina HTML.

10 Al terminar, pulse Aceptar con el fin de cerrar el cuadro de dilogo Nueva


configuracin de ejecucin. Se muestra el cuadro de dilogo Configuraciones de ejecucin. Su nueva configuracin est resaltada.

11 Si desea que esta configuracin sea la configuracin por defecto, marque


la casilla de verificacin en la columna Por defecto. (Slo una configuracin del proyecto puede ser la configuracin por defecto.) Si desea aadir esta configuracin al men contextual del panel del proyecto, marque la casilla de la columna Men contextual. Haga clic en Aceptar para cerrar el cuadro de dilogo. Las applets no pueden ejecutarse o depurarse. Esto se debe a que no tienen una URL o un contexto web en el que ejecutarse. Adems, las applets se ejecutan en el navegador de un cliente, en lugar de un servidor. Habitualmente, un applet se ejecuta en appletviewer, de Sun, o en

8-4

Gua del desarrollador de aplicaciones web

C r e a c i n d e u n a c o n f i g u r a c i n d e e j e c u c i n

AppletTestbed, de JBuilder. Si desea ms informacin, consulte El Appletestbed de JBuilder y el appletviewer de Sun en la pgina 14-20. Si desea obtener informacin sobre las configuraciones de ejecucin, consulte Definicin de las configuraciones de ejecucin en el captulo Ejecucin de programas en Java de Creacin de aplicaciones con JBuilder.

Creacin de una configuracin de ejecucin del servidor


JBuilder Enterprise admite servidor de aplicaciones En JBuilder Developer se puede marcar como destino el contenedor web de Borland Enterprise Server AppServer Edition 5.2.1.

Antes de configurar el servidor, es necesario que verifique que hay un servidor activado para su proyecto. Para ello:

1 Abra el cuadro de dilogo Propiedades de proyecto y seleccione el nodo


Servidor.

2 Compruebe que hay un servidor seleccionado.


s

Si la opcin Servidor nico para todos los servicios del proyecto est activada, compruebe que en la lista desplegable se ha seleccionado el nombre de un servidor. Asegrese de que el servidor seleccionado admite el servicio JSP/Servlet. La casilla de seleccin de ese servicio debe activarse en la lista Servicios. Si el servidor no admite el servicio JSP/Servlet, ese servicio no estar disponible. Si est seleccionada la opcin Servicios modulares de distintos servidores, seleccione el servicio JSP/Servlet en la lista Servicios. Elija un servidor en la lista desplegable de la parte derecha de la ficha y asegrese de que no est seleccionado <Ninguno>. Observe que el servidor seleccionado puede permitir que los servicios estn desactivados durante la ejecucin. Por ejemplo, Borland Enterprise Server AppServer Edition 5.2.1 lo permite. Asegrese de que el servicio JSP/Servlet no ha sido deshabilitado en la configuracin de ejecucin, puesto que si es as, los comandos web no estarn disponibles.
C a pt u l o 8 : L a s a p l i c a c i o n e s w e b e n I D E d e J B u i l d e r 8 -5

Nota

C r e a c i n d e u n a c o n f i g u r a c i n d e e j e c u c i n

3 Pulse Aceptar para cerrar el cuadro de dilogo Propiedades de proyecto.


Si desea ms informacin sobre servidores, consulte Configurar parmetros del servidor en Desarrollo de aplicaciones para servidores J2EE. Una vez activado el servidor para su proyecto, puede modificar o crear una configuracin de ejecucin del servidor.
Importante

Si cuenta con dos servidores diferentes en el mismo proyecto, necesitar dos configuraciones diferentes de ejecucin, una para cada servidor. Para crear una configuracin de ejecucin del servidor:

1 Seleccione Ejecutar|Configuraciones. Se muestra el cuadro de dilogo


Configuraciones de ejecucin.

2 Pulse Nueva para crear una configuracin. Se muestra el cuadro de


dilogo Nueva configuracin de ejecucin.

3 Introduzca el nombre de la configuracin en el campo Nombre. 4 Elija el tipo de generacin que desee ejecutar antes de iniciar. Si desea ms informacin, consulte Tipos de generacin en el captulo Desarrollo de aplicaciones para servidores J2EE. 5 Seleccione Servidor en la lista desplegable Tipo.

8-6

Gua del desarrollador de aplicaciones web

C r e a c i n d e u n a c o n f i g u r a c i n d e e j e c u c i n

6 Elija el servicio JSP/Servlet en la lista Categora de la parte izquierda del


cuadro de dilogo. El cuadro de dilogo Nueva configuracin de ejecucin tiene un aspecto parecido al siguiente:

7 Para elegir el servlet o la JSP que se desea iniciar, pulse el botn puntos
suspensivos (...) a la derecha del campo URI de inicio. Se presenta el cuadro de dilogo Escriba o seleccione el URI que se va a lanzar. El servlet o JSP se ejecuta a travs de un URI, de modo que la atencin cambie a la vista de web al utilizar el comando Ejecutar web.

C a pt u l o 8 : L a s a p l i c a c i o n e s w e b e n I D E d e J B u i l d e r

8 -7

C r e a c i n d e u n a c o n f i g u r a c i n d e e j e c u c i n

Es posible introducir directamente el URI (Universal Resource Identifier Identificador universal de recursos) en el campo de texto URI de la parte superior del cuadro de dilogo o seleccionar el mdulo web y el URI en los rboles de la parte inferior del cuadro de dilogo:

a Seleccione el mdulo web del URI que desea ejecutar en la lista


desplegable Mdulo web. La lista muestra todos los mdulos web definidos en el proyecto.

b Seleccione el URI directamente de uno de los tres rboles que se


encuentran en la parte inferior del cuadro de dilogo URI de inicio. Estos rboles corresponden a los distintos tipos de correspondencias de servlets. El rbol Archivo, o contenido web, en la izquierda, crea los URI que o bien coincidiran probablemente con las correspondencias de extensiones (como *.jsp) o bien no coinciden con nada y son atendidas por el servlet por defecto. El rbol Correspondencia de servlets, en el centro, contiene modelos de URL para coincidencias exactas. El rbol de Clases de servlet, que se muestra slo si el servidor tiene un invocador de servlets, crea URI que coincidan con el invocador de servlets. (Tomcat 3.3 y 4.0 cuentan con un invocador de servlets, pero Tomcat 4.1 no.) Para obtener ms informacin sobre las asignaciones de la URL, consulte Cmo los URL ejecutan los servlets en la pgina 8-10. Tabla 8.1 rboles URI Nombre del rbol
Archivo (HTML, JSP, etc.)

Descripcin
Todos los archivos de tipo HTML del mdulo web seleccionado. Todos los valores de modelo de URL que no contienen comodines. Permite que un usuario llame a un servlet o a una pgina JSP por su nombre. Este se introdujo en los campos Nombre/ Patrn de URL del Asistente para servlets ficha Introduzca los detalles de webapp. Todas las clases en el proyecto abierto; no obstante, se asume que las clases presentadas son servlets y se ejecutan utilizando el invocador de servlets del servidor Web.

Ejemplo del URI resultante /selectedwebmodule/hello.html


o bien

Servlet mapeo

/selectedwebmodule/login.jsp /selectedwebmodule/form
o bien

/selectedwebmodule/table

Servlet Clase

/selectedwebmodule/servlet/ com.test.MyServlet

8-8

Gua del desarrollador de aplicaciones web

C r e a c i n d e u n a c o n f i g u r a c i n d e e j e c u c i n

El URI se aade al hostname:port durante la ejecucin, por ejemplo: http://localhost:8080/selectedwebmodule/hello.html http://localhost:8080/selectedwebmodule/login.jsp http://localhost:8080/selectedwebmodule/form http://localhost:8080/selectedwebmodule/table http://localhost:8080/selectedwebmodule/servlet/com.test.MyServlet

8 Pulse Aceptar para cerrar el cuadro de dilogo Escriba o seleccione el URI


que se va a lanzar.

9 Introduzca los parmetros de usuario en el campo Cadena de consulta del


cuadro de dilogo Nueva configuracin de ejecucin. Los parmetros de usuario son una serie de parejas nombre/valor separadas por un smbolo de unin (&), por ejemplo, a=1&b=2. Puede introducir tambin una cadena de consulta si el cliente est utilizando el mtodo doGet() para leer informacin del servlet o la JSP. Esta cadena se aade a cualquier URL generado para una ejecucin de web y, habitualmente, incluye parmetros para el servlet o la JSP. Por ejemplo, su aplicacin web puede contener tanto un servlet (SalesHistory.java, dado el nombre del servlet saleshistory) como una JSP (showproduct.jsp) que utilicen un nmero de ID de producto. Cuando se ejecuta el mdulo web, el comando Ejecutar web genera las siguientes direcciones URL: http://localhost:8080/showproduct.jsp http://localhost:8080/saleshistory Si se especifica "product=1234" en el campo Cadena de consulta, la consulta se aade al final de la URL: http://localhost:8080/showproduct.jsp?product=1234 http://localhost:8080/saleshistory?product=1234 El signo de interrogacin (?) separa el nombre de la JSP o del servlet a ejecutar de la cadena de consulta. Esto permite al servlet y a la JSP pedir el parmetro product y devolver 1234. Tenga en cuenta que los valores de parmetro son siempre cadenas. Los diferentes parmetros se separan con el signo (&), p.e. producto=1234&cliente=6789.

10 En el campo Nombre de host, escriba el nombre que el servidor web debe


tener. No escoja un nombre que ya est en uso en la subred. localhost es el nombre por defecto.

11 Introduzca el nmero de puerto que debe monitorizar el servidor web en el


campo Nmero de puerto. Por lo general, se debe utilizar el nmero de puerto por defecto, 8080. No cambie este valor a no ser que el valor por defecto ya se est usando.

12 Seleccione la opcin Buscar puerto disponible con el fin de indicar a


JBuilder que elija otro puerto si el especificado se encuentra en uso. Resulta til seleccionar esta opcin cuando se ejecuta ms de un servlet o una JSP, pues de otra forma se podra recibir un mensaje que indica que el puerto est ocupado. Tambin es til activar esta opcin en el caso de que un problema de usuario provoque la cada del servidor web. Con esta opcin seleccionada, est protegido en el caso de que el servidor web no

C a pt u l o 8 : L a s a p l i c a c i o n e s w e b e n I D E d e J B u i l d e r

8 -9

C r e a c i n d e u n a c o n f i g u r a c i n d e e j e c u c i n

se cierre de manera adecuada. Esta opcin funciona junto con las opciones de Vista web del nodo Web del cuadro de dilogo Herramientas| Preferencias cuando un proceso ajeno a la web utiliza el puerto. Consulte Configuracin del IDE para ejecutar/depurar web en la pgina 8-14 para obtener ms informacin.
Nota

Esta opcin no est disponible si se utiliza JBuilder Developer con el contenedor web de Borland Enterprise Server AppServer Edition 5.2.1. Si el contenedor web est configurado para el uso en JBuilder Developer, se lee el puerto de Tomcat para el servicio JSP/Servlet y no se puede cambiar. Para crear una configuracin de ejecucin con opciones de depuracin:

1 Pulse la pestaa Depurar del cuadro de dilogo Nueva configuracin de


ejecucin.

2 Si desea obtener informacin sobre las opciones, consulte Configuracin de opciones de depuracin en Creacin de aplicaciones con JBuilderDepuracin de programas en JBUilder.
Cuando termine, pulse Aceptar para cerrar el cuadro de dilogo Nueva configuracin de ejecucin Pulse Aceptar de nuevo para cerrar el cuadro de dilogo Configuraciones de ejecucin y guardar la configuracin de ejecucin.

Cmo los URL ejecutan los servlets


La URL (Uniform Resource Locator - Localizador uniforme de recursos) se utiliza para ejecutar un servlet. Un URI (Uniform Resource Identifier Identificador uniforme de recursos) es un concepto ms amplio que incluye tanto a la URL como a las vas de acceso a URI de solicitud. La va de acceso a URI de solicitud viene a continuacin del nombre del servidor y el nmero de puerto optativo. Comienza con una barra. Por ejemplo, en la URL: http://localhost:8080/filename.html /nombre_de_archivo.html es la va de acceso al URI de solicitud. En un servidor web que no gestione contenedores de servlets como IIS o Apache sin Tomcat, el manejo bsico de la va de acceso a URI de solicitud es simple. El contenido web est establecido en un directorio particular, de forma que el servidor web pueda resolver esa va de acceso utilizando la barra invertida inicial para indicar el directorio raz de la web. Entonces puede devolver el archivo correspondiente, si est all. Los contenedores de Servlets como Tomcat y WebLogic son ms complejos, pero ms flexibles. Estos contenedores permiten contextos y redefiniciones, de forma que su aplicacin web pueda tener cualquier nmero de contextos denominados. Cada contexto es asignado a su propio directorio raz. El trabajo principal de un contenedor de servlets en lo que respecta a la evaluacin de la va de acceso a URI de solicitud consiste en ver si la primera parte de la va coincide con un nombre de contexto. En JBuilder, stos son los nombres de los mdulos web. Cuando se selecciona Ejecutar web, esos

8-1 0

Gu a d e l d e s a r r o l l a d o r d e a p l i c a c i o n e s w e b

C r e a c i n d e u n a c o n f i g u r a c i n d e e j e c u c i n

nombres se asocian con los directorios raz de los mdulos web. Para obtener ms informacin sobre mdulos web, consulte Los mdulos web en la pgina 3-1. Si coincide, la primera parte de la va de acceso a URI de solicitud se convierte en la va de acceso de contexto. La parte restante de la va de acceso, que empieza con la barra, se convierte en la va de acceso a la URL a asignar. Si no hay coincidencia, la va de acceso de contexto es una cadena vaca y la va completa de acceso a URI de solicitud se considera la va de acceso a la URL que se asignar. Por ejemplo, en un proyecto con un solo mdulo web denominado myprojectwebmodule, la va de acceso a URI de solicitud /myprojectwebmodule/ subpackage/somename.jsp se evaluara como sigue:
s s

La va de acceso de contexto sera /myprojectwebmodule. La va de acceso a la URL que se debe asignar sera /subpackage/ somename.jsp.

No obstante, la va de acceso a URI de solicitud /test/subpackage/somename.jsp no contendra ninguna va de acceso de contexto en la evaluacin, dado que el nico mdulo web existente es myprojectwebmodule. En este caso, la va de acceso de contexto estara vaca y la va de acceso a la URL a asignar sera el URI completo: /test/subpackage/somename.jsp. Advierta que la configuracin del contexto se hace de forma especfica para el servidor. Sin embargo, la coincidencia de la va de acceso a la URL que se debe asignar se realiza por medio de las entradas que establecen la correspondencia entre servlet y cada descriptor de distribucin de mdulo web estndar del contexto, el archivo web.xml: cada correspondencia de servlet tiene dos partes: un patrn de URL y un nombre de servlet. Existen tres tipos especiales de patrones de URL: Tabla 8.2 Patrones de URL Descripcin
Comienza con / y acaba con /* Empieza con *. Slo incluye /

Tipo de modelo
Asignacin de la va de acceso Asignacin de extensin Asignacin por defecto

Nota

Hay tres rboles en la parte inferior del cuadro de dilogo URI de inicio que se corresponden aproximadamente con los tres tipos diferentes de asignaciones. Si desea obtener detalles ms concretos sobre el funcionamiento de estas correspondencias en el cuadro de dilogo URI de inicio, consulte Creacin de una configuracin de ejecucin en la pgina 8-2. Las dems cadenas de patrn de URL se utilizan solamente para coincidencias exactas. Cuando se busca la coincidencia de la va de acceso a la URL que se asigna, primero se intenta una coincidencia exacta. Por ejemplo, si el mdulo web somewebmodule incluye un patrn de URL /test/ jspname.jsp, se utilizara el servlet correspondiente.

C a p t u l o 8 : L a s a p l i c a c i o n e s w e b e n I D E d e J B u i l d e r

8 -1 1

C r e a c i n d e u n a c o n f i g u r a c i n d e e j e c u c i n

Si no hay coincidencia exacta, se intenta una coincidencia de la va de acceso, empezando por la va de acceso ms larga. En el contexto por defecto, el patrn de URL /test/* sera la primera coincidencia. Si no hay coincidencia de la va de acceso, entonces se intenta una coincidencia de la extensin. El patrn de URL *.jsp coincidira en ambos casos con las dos vas de acceso a la URI de solicitud siguientes: /testwebmodule/subpackage/jspname.jsp y /myprojectwebmodule/anyfolder/ myjsp.jsp. Finalmente, si no hay coincidencia en la extensin, se utiliza el servlet asignado a / (el servlet por defecto). La mayora de los servidores web ya tienen algunas asignaciones por defecto, efectuadas de nuevo de forma especfica para el servidor. Por ejemplo, *.jsp puede ser asignado a un servlet:

1 Tomando la va de acceso que coincide (p.e. /sub/somename.jsp o /test/


subpackage/somename.jsp).

2 Buscando el archivo correspondiente en relacin con el directorio raz de la


web del contexto.

3 Convirtindolo en un servlet si todava no se ha hecho. 4 Ejecutando ese servlet.


Otro direccionamiento tpico por defecto es /servlet/*, que es un servlet invocador. Un servlet invocador:

1 Toma lo que sigue a /servlet/ como un nombre de clase. 2 Trata de ejecutar esa clase como un servlet.
El servlet por defecto (el que est asignado al patrn de URL /):

1 Toma la va de acceso a la URL a asignar (que no tiene ningn


direccionamiento).

2 Busca el archivo correspondiente con relacin al directorio raz de la web


de contexto.

3 Lo enva al visualizador.
Cuando se crea un servlet estndar con el Asistente para servlets, no hay la ms mnima necesidad de crear una correspondencia. Por ejemplo, con el nombre myproject.MyServlet, el Asistente para servlets:

1 Crea un servlet con el nombre de servlet myservlet asociado con la clase


del servlet myproject.MyServlet.

2 Crea el patrn de URL /myservlet y lo asigna al nombre de servlet


myservlet. Si se ha hecho esto con el mdulo web test, entonces /test/myservlet podra ejecutar la clase del servlet myproject.MyServlet dentro del contexto del mdulo web test. Si desea ms informacin sobre la forma en que crea las correspondencias el Asistente para servlets, consulte laFicha Introduzca los detalles de webapp en la pgina 5-8.
8-1 2 Gu a d e l d e s a r r o l l a d o r d e a p l i c a c i o n e s w e b

C o n f i g u r a c i n d e p r o p i e d a d e s d e e j e c u c i n

Cuando ejecuta un archivo servlet .java (o .class), se utiliza el invocador del servlet si no se encuentra un patrn de URL exacto para esa clase de servlet. En el ejemplo anterior, una ejecucin web con el mdulo web test ejecutara / test/myservlet/myproject.MyServlet.

Configuracin de propiedades de ejecucin


Si ha creado un servlet mediante codificacin, sin utilizar el Asistente para servlets, necesita activar los comandos Ejecutar web y Depurar web y elegir el mdulo web en el cual desea ejecutarlo. Si se est usando una JSP o un servlet creados con los asistentes para JSP o Servlets, no se necesita seguir estos pasos. JBuilder ya ha realizado esta configuracin. Para habilitar los comandos web y designar el mdulo web:

1 Haga clic con el botn derecho del ratn en el archivo .java en el panel del
proyecto.

2 Seleccione Propiedades con el fin de que aparezca el cuadro de dilogo


homnimo.

3 Seleccione la opcin Activar Ejecutar/Depurar/Optimizar web en el men


contextual, de la pestaa Servlet de la ficha Ejecutar web. Esta opcin muestra los comandos Ejecutar web y Depurar web cuando se hace clic con el botn derecho en el archivo de servlet en el panel del proyecto. (Si se ha creado el archivo utilizando los asistentes para servlet o para JSP, esta opcin est activada por defecto.)

4 Seleccione el mdulo web con el que se debe realizar la ejecucin en la


lista desplegable Ejecutar bajo mdulo web. Esta es la va de acceso que se utiliza cuando se elige el comando Ejecutar web. Se configura en el Asistente para mdulos web.

5 Haga clic en Aceptar para cerrar el cuadro de dilogo.


C a p t u l o 8 : L a s a p l i c a c i o n e s w e b e n I D E d e J B u i l d e r 8 -1 3

C o n f i g u r a c i n d e l I D E p a r a e j e c u t a r / d e p u r a r w e b

Configuracin del IDE para ejecutar/depurar web


Una vez que se ha configurado JBuilder con un servidor web, se pueden configurar las opciones del servidor web. Para configurar el comportamiento del IDE cuando se intenta Ejecutar web o Depurar web:

1 Seleccione Herramientas|Preferencias|Web. El nodo Web tiene este


aspecto:

2 Seleccione la opcin Copiar URL de depuracin o ejecucin Web al


portapapeles para copiar la direccin URL en el portapapeles. Esto permite cambiar a I.E. o Netscape y pegar la direccin en el campo Direccin URL. Esta opcin se encuentra desactivada por defecto, con el fin de evitar que el portapapeles se altere accidentalmente.

3 Seleccione Opciones de vista web Estas opciones determinan la forma en


que JBuilder realiza la ejecucin web de la aplicacin web en combinacin con las opciones Nmero de puerto y Buscar puerto disponible del cuadro de dilogo Configuraciones de ejecucin para una configuracin de servidor. Consulte Creacin de una configuracin de ejecucin en la pgina 8-2 para obtener ms informacin Independientemente de la opcin que se seleccione a continuacin, si ya se est utilizando el nmero de puerto y la opcin Buscar puerto disponible se encuentra desactivada, JBuilder no intenta abrir otro proceso de servidor.
Nota

La opcin Buscar puerto disponible no se encuentra disponible si se utiliza JBuilder Developer con el contenedor web de Borland Enterprise Server AppServer Edition 5.2.1.
s

La opcin Ejecutar en proceso separado y usar vista web inicia siempre un nuevo proceso de servidor y utiliza la vista web para abrir la URL correspondiente. Si la opcin Buscar puerto disponible se encuentra

8-1 4

Gu a d e l d e s a r r o l l a d o r d e a p l i c a c i o n e s w e b

Compilacin de servlets o JSP

desactivada y ya se est ejecutando un servidor, la apertura falla porque no es posible ejecutar dos servidores en el mismo puerto.
s

La opcin Utilizar vista web con el proceso si es posible comprueba si se est ejecutando un servidor. Si es as, se formula y se solicita al servidor la direccin URL adecuada. JBuilder cambia a Ver web y solicita el URL, de forma que permite ver la pgina sin necesidad de escribir la direccin URL. Si JBuilder no ha iniciado an un servidor, se inicia otro proceso y se utiliza Ver web, como ocurre con la opcin Ejecutar en proceso separado y usar vista web. sta es la opcin por defecto. La opcin No usar vista web, ejecutar en proceso separado no utiliza nunca la vista web incorporada. Se debe utilizar esta opcin si Ver web no puede gestionar la pgina porque contiene, por ejemplo, hojas de estilo o cdigo JavaScript. Cuando se utiliza esta opcin, JBuilder inicia el servidor y se formula la direccin URL adecuada. No solicita la URL y cambia a Ver web, sino que se puede cambiar a I.E. o Netscape y pegar la direccin en el campo Direccin URL. Normalmente, esta opcin se utiliza junto con Copiar URL de depuracin o ejecucin web al portapapeles, de forma que resulta fcil pegar la direccin URL en el campo Ubicacin.

Compilacin de servlets o JSP


Como ocurre con todos los programas en Java, las pginas JSP y los servlets se deben compilar antes de la ejecucin. Se puede compilar el proyecto completo con los comandos Proyecto|Ejecutar Make o Proyecto|Generar de nuevo. Tambin se puede compilar un archivo individual de servlet o JSP si hace clic con el botn derecho sobre el archivo, en el panel del proyecto, y selecciona Limpiar, Ejecutar Make o Generar de nuevo. (Tenga en cuenta que para las JSP, slo estar disponible el comando Ejecutar Make.) Los errores del compilador se muestran en la pestaa Generar del panel de mensajes. Si desea ms informacin sobre compilador, consulte el captulo Compilacin de programas en Java en Creacin de aplicaciones con JBuilder. Las JSP son una extensin de la Servlet API y se compilan con los servlets antes de utilizarse. Esto requiere que el proceso de compilacin convierta los nombres de los archivos JSP y los nmeros de lnea en sus equivalentes Java. Las JSP pueden compilarse durante la generacin. Si desea habilitar esta funcin para todas las JSP del proyecto, seleccione la opcin Comprobar

C a p t u l o 8 : L a s a p l i c a c i o n e s w e b e n I D E d e J B u i l d e r

8 -1 5

E j e c u c i n web de un s e r v l e t o u n a J S P

errores en JSP durante la generacin en el nodo Propiedades de proyecto| Generar.

Se puede configurar esta propiedad para los archivos JSP individuales del proyecto, de manera que se puedan excluir algunos archivos de la compilacin. Por ejemplo, es probable que las JSP cuya finalidad es la de incluirse en otras JSP no se compilen correctamente por s solas, por lo que se deben excluir esos archivos.

Ejecucin web de un servlet o una JSP


Si desea realizar una ejecucin web de un servlet o una JSP en JBuilder, haga clic con el botn derecho sobre el archivo de servlet o la JSP, en el panel del proyecto, y seleccione Ejecutar web. El comando Ejecutar web utiliza su configuracin en el servidor web seleccionado sin depurarla. Si el servlet se ejecuta desde un archivo HTML o SHTML, haga clic con el botn derecho sobre ese archivo y seleccione Ejecutar web. Si el comando Ejecutar web o Depurar web est deshabilitado en el men contextual para un servlet o una JSP, compruebe la configuracin de servidor del proyecto y la configuracin de ejecucin. El proyecto debe estar configurado para un servidor web. Un servidor web puede ser autnomo, como Tomcat, instalado con JBuilder, o puede ser un contenedor web de un servidor de aplicaciones, como el contenedor web de Borland Enterprise Server AppServer Edition 5.2.1. Si desea ms informacin, consulte Configurar parmetros del servidor en Desarrollo de aplicaciones para servidores J2EE.
Nota

En JBuilder Developer slo se puede marcar como destino del proyecto el contenedor web de Borland Enterprise Server AppServer Edition 5.2.1. Para ello, slo es necesario seleccionar Borland Enterprise Server AppServer Edition 5.2.1 en el nodo Servidor del cuadro de dilogo Propiedades de proyecto.

8-1 6

Gu a d e l d e s a r r o l l a d o r d e a p l i c a c i o n e s w e b

Ejecucin web de un servlet o una JSP

Para ejecutar una aplicacin web es necesario crear una configuracin de ejecucin con el tipo de servidor seleccionado como ejecutor actual. Ese servidor debe admitir el servicio JSP/Servlet que se recoge en el nodo Propiedades de proyecto|Servidor. Si desea crear una configuracin de ejecucin, consulte Creacin de una configuracin de ejecucin en la pgina 8-2.
Nota

Las applets no pueden ejecutarse o depurarse. Esto se debe a que no tienen una URL o un contexto web en el que ejecutarse. Adems, las applets se ejecutan en el navegador de un cliente, en lugar de un servidor. Habitualmente, un applet se ejecuta en appletviewer, de Sun, o en AppletTestbed, de JBuilder. Si desea ms informacin, consulte El Appletestbed de JBuilder y el appletviewer de Sun en la pgina 14-20.

Inicio del servidor web


Cuando se selecciona Ejecutar web, JBuilder inicia su servidor web, mediante:
s

La configuracin de ejecucin (si desea ms informacin, consulte Creacin de una configuracin de ejecucin en la pgina 8-2). Las opciones configuradas en el nodo Web del cuadro de dilogo Herramientas|Preferencias (si desea ms informacin, consulte Configuracin del IDE para ejecutar/depurar web en la pgina 8-14).

Los mensajes se registran en la pestaa Servidor web, mostrada en el panel de mensajes al final del Visualizador de aplicaciones. Los comandos HTTP y los valores de los parmetros se envan a este panel. El nombre de la pestaa reflejar el del servidor web, por ejemplo, Tomcat en el caso del servidor web Tomcat.
Nota

Cuando ejecute un servlet o JSP utilizando el servidor web iPlanet, ver dos nuevas pestaas en el panel de mensajes. Una es para la fase de preparacin de iPlanet y muestra la lnea de comando utilizada para configurar el servidor web. La otra es para la salida del propio servidor. Ambas pestaas se llaman iPlanet. A continuacin, se muestra un ejemplo de salida del panel de mensajes del servidor web Tomcat: Figura 8.1 Mensajes Tomcat

C a p t u l o 8 : L a s a p l i c a c i o n e s w e b e n I D E d e J B u i l d e r

8 -1 7

E j e c u c i n web de un s e r v l e t o u n a J S P

Cuando se inicia la Ejecucin web, aparecen dos nuevas pestaas en el panel de contenido: Vista web y Ver cdigo fuente web. Haga clic en la pestaa para abrir Vista web o Ver cdigo fuente web.

Ver web
La salida con formato puede verse en el panel Ver web del panel de contenido. La URL generada aparece en el campo Ubicacin, en la parte superior de la ficha Vista web.
Importante

El navegador utilizado en el panel de vista web no es un navegador web con todas las funciones. La vista web muestra el servlet despus de que haya sido procesado por el motor de servlets. Puede haber algn retraso entre el momento en que se modifica el archivo de servlet o JSP y el momento en que se muestra ese cambio en Ver web. Con el fin de ver los cambios ms recientes, pulse el botn Actualizar, en la parte superior de la Vista web. El panel Ver web es simplemente un navegador y no tiene relacin con otras funciones de JBuilder. Por ejemplo, puede ver su salida formateada en un navegador externo a JBuilder. Las opciones de la ficha Web del cuadro de dilogo Preferencias agiliza el uso reiterado de esta funcin. Consulte Configuracin del IDE para ejecutar/depurar web en la pgina 8-14 para obtener ms informacin. A continuacin aparece la salida de la vista web de un servlet que se ejecuta en Tomcat: Figura 8.2 Salida de Vista web

8-1 8

Gu a d e l d e s a r r o l l a d o r d e a p l i c a c i o n e s w e b

Ejecucin web de un servlet o una JSP

Ver cdigo fuente web


La salida en bruto del servidor web aparece en el panel Ver cdigo fuente web. A continuacin aparece la salida de la vista web de un servlet que se ejecuta en Tomcat: Figura 8.3 Ver cdigo fuente web

Detencin del servidor web


Si desea detener el servidor web, pulse el botn Terminar el programa en la pestaa del servidor web. Si desea iniciar el servidor web de nuevo y volver a ejecutar su aplicacin web, pulse el botn Reiniciar el programa. Cuando se hagan cambios en el cdigo fuente, se recompile y se vuelva a ejecutar, lo ms probable ser que se sigan estos pasos. No se necesita cerrar el panel de servidor Web cada vez que se inicia el servidor Web.
Nota

La primera vez que se pulsa el botn Terminar el programa, simplemente enva un comando al servidor para que se apague. Concretamente, si se intentan depurar los manejadores de sucesos del ciclo de vida del mdulo web, se realiza una llamada a los mtodos Servlet.destroy() y ServletContextListener.contextDestroyed(). Si no est depurando, el servidor, por lo general, se apaga por s solo (Tomcat lo hace en unos segundos; a otros servidores les lleva ms tiempo). En cualquier caso, si se pulsa el botn Terminar programa una segunda vez, el proceso que est realizando el servidor se termina inmediatamente.

C a p t u l o 8 : L a s a p l i c a c i o n e s w e b e n I D E d e J B u i l d e r

8 -1 9

Depuracin web del servlet o de la JSP

Depuracin web del servlet o de la JSP


Para depurar web, inicie el servidor en modo depuracin con el comando Depurar web. Podr entonces depurar cualquier servlet o JSP que el servidor procese. Si desea que el depurador se detenga automticamente en una lnea de cdigo especfica, defina un punto de interrupcin en el servlet o en la JSP.
Nota

JBuilder proporciona la posibilidad de depuracin del cdigo fuente para las JSP. Esto permite efectuar directamente un seguimiento del cdigo de la JSP, dado que para detectar los errores no se necesita efectuar un seguimiento del servlet en el que se compila la JSP ni tratar de hacer coincidir los nmeros de lnea. Tenga en cuenta que Tomcat 4.1 no admite la depuracin de cdigo fuente de pginas JSP. (Esto se puede solucionar si se copian los archivos jasper-compiler.jar y jasper-runtime.jar del directorio <jbuilder>/thirdparty/ jakarta-tomcat-4.0.6-LE-jdk14/lib al directorio <jbuilder>/thirdparty/ jakarta-tomcat-4.1.27-LE-jdk14/common/lib. El comando Depurar web presenta el depurador en el panel de servidor web. Los mensajes tanto del servidor como del depurador se escriben en la vista Consola del depurador. A continuacin se muestra un ejemplo de depuracin web de una JSP que se ejecuta en Tomcat 4.0: Figura 8.4 Depuracin web

Nota

Intercambio inteligente no funciona con archivos JSP.

8-2 0

Gu a d e l d e s a r r o l l a d o r d e a p l i c a c i o n e s w e b

D e p u r a c i n w e b d e l s e r v l e t o d e l a J S P

Si desea obtener ms informacin acerca de la depuracin, consulte los siguientes temas:


s s

Depurar pginas JSP en la pgina 6-14. Depuracin de programas en Java Creacin de aplicaciones con JBuilder. Tutorial de compilacin, ejecucin y depuracin en Creacin de aplicaciones con JBuilder. Depuracin remota en Creacin de aplicaciones con JBuilder.

C a p t u l o 8 : L a s a p l i c a c i o n e s w e b e n I D E d e J B u i l d e r

8 -2 1

8-2 2

Gua del desarrollador de aplicaciones web

Captulo

Captulo 9

Distribucin de aplicaciones web

Desarrollo web es una funcin de JBuilder Developer y JBuilder Enterprise

La distribucin de una aplicacin web es el proceso de trasladar los mdulos web al lugar adecuado del servidor web y realizar cualquier otro paso necesario con el fin de que el servidor reconozca correctamente la aplicacin. Los distintos servidores web requieren pasos diferentes para la correcta distribucin de la aplicacin web. Deber consultar la documentacin de su servidor web con el fin de informarse sobre aspectos especficos de ese servidor.

Aspectos generales
Los siguientes apartados analizan algunos temas a tener en cuenta cuando se distribuye a servidores web.

Archivos recopilatorios
La agrupacin de los archivos del mdulo web en un recopilatorio puede simplificar la distribucin. Algunos servidores requieren que un mdulo web est empaquetado en un archivo WAR (Web Archive o recopilatorio web). Los archivos WAR organizan en la jerarqua correcta los archivos necesarios para el mdulo web. Entonces se puede copiar el archivo recopilatorio en la ubicacin apropiada del servidor web. Esto elimina la necesidad de copiar cada archivo individualmente y asegura que son copiados en la ubicacin adecuada. Un archivo WAR es un recopilatorio web. Puede contener la totalidad del mdulo web en una estructura apropiada, lo que facilita la copia de la

C a p t u l o 9 : D i s t r i b u c i n d e a p l i c a c i o n e s w e b

9 -1

Aspectos generales

estructura en el servidor web. Los archivos WAR se estudian con ms detalle en el Captulo 3, Los mdulos web y los archivos WAR. Si la aplicacin web contiene applets, debera colocarlos en un archivo JAR. Si desea ms informacin sobre el uso de los archivos JAR para la recopilacin de applets, consulte el Captulo 14, Las applets. El mdulo web, el archivo WAR o el archivo JAR tambin pueden empaquetarse en un archivo EAR. Consulte la ayuda en pantalla del Asistente para EAR.

Descriptores de distribucin
Los descriptores de distribucin son archivos XML que contienen informacin sobre el mdulo web. Esta informacin es imprescindible para el servidor web. Probablemente se utilizarn uno o ms descriptores de distribucin si la aplicacin web contiene servlets o JSP. Compruebe la documentacin de su servidor con el fin de obtener ms informacin acerca de qu descriptores de distribucin requiere.

Applets
Consulte Distribucin de las applets en la pgina 14-13 si desea ms informacin sobre la distribucin de las applets.

Servlets
La distribucin de servlets puede ser delicada, ya que si no se hace correctamente, el servidor web podra fallar en el reconocimiento de su servlet. Con el fin de simplificar la distribucin, debera incluir el servlet en un archivo WAR. Esto hace posible reunir todos los archivos y recursos necesarios para el servlet en una jerarqua correctamente organizada antes de la distribucin. Entonces todo lo que necesita es distribuir el archivo WAR en el servidor web. Al margen del servidor web, la distribucin satisfactoria del servlet requiere que cierta informacin est presente en el descriptor de distribucin web.xml. Su servidor web podra tener tambin exigencias adicionales. Como mnimo, antes de distribuir un servlet estndar, necesita especificar lo siguiente en un elemento servlet del archivo web.xml:
s s

servlet-name: un nombre para el servlet. servlet-class: el nombre completo de la clase del servlet.

Cada servlet estndar debe especificar tambin una asignacin de servlets en el web.xml. En un elemento de asignacin de servlets tiene que especificar lo siguiente:
s s

servlet-name: el nombre utilizado en la etiqueta del servlet. url-pattern: el patrn de URL al cual est direccionado el servlet.

9-2

Gua del desarrollador de aplicaciones web

Aspectos generales

Los servlets de filtro y los servlets de monitor requieren diferentes etiquetas. Consulte los apartados Ficha Filtros y Ficha Monitores en el Editor DD de Mdulo Web si desea ms informacin sobre las etiquetas requeridas en estos tipos de servlet. Si para generar el servlet utiliza el Asistente para servlets de JBuilder, el asistente insertar la informacin requerida por el servlet en el web.xml. Esto es verdad para un servlet estndar, uno de filtro o uno monitor. Los servlets deben compilarse antes de ser distribuidos en el servidor web.

JSP
Las JSP se distribuyen ms fcilmente que los servlets. Debera incluirlas en un archivo WAR y as facilitar aun ms la distribucin. Las JSP son asignadas por un servidor web de la misma manera que los archivos HTML; el servidor reconoce la extensin del archivo. El servidor web tambin gestiona la compilacin. Recuerde, el servidor web compila las JSP en servlets antes de su ejecucin. Algunas JSP utilizan bibliotecas de etiquetas JSP. Esta bibliotecas tambin deben distribuirse en el servidor web, que necesita saber cmo encontrarlas. Por esta razn, si tiene una JSP que utilice una biblioteca de etiquetas, su descriptor de distribucin web.xml necesitar un elemento taglib que indique qu biblioteca de etiquetas hay que utilizar y dnde puede encontrarse. La siguiente informacin se encuentra en el elemento taglib:
s

taglib-uri: el URI usado en la JSP para identificar la biblioteca de etiquetas Coincide con la directiva taglib (<%@ taglib uri="whatever" prefix="whatever">) de la JSP. tablib-location: la ubicacin real de la biblioteca de etiquetas.

Si utiliza el Asistente para JSP de JBuilder con el fin de crear una JSP que utilice una de las bibliotecas de etiquetas reconocidas por el asistente, la informacin de la biblioteca de etiquetas se aade al archivo web.xml.

Comprobacin de su aplicacin web


Despus de haber distribuido la aplicacin web en el servidor web, debe comprobarla para asegurarse de que est correctamente distribuida. Deber intentar acceder a todas las pginas, servlets, JSP y applets de la aplicacin y asegurarse de que funcionan como se espera. Esto debe hacerse desde un visualizador en otro equipo, de forma que pueda asegurarse de que la aplicacin web es accesible desde la web y no slo localmente. Tambin debera efectuar la comprobacin con diferentes tipos de visualizadores, ya que podra variar la forma en que aparece la aplicacin en visualizadores diferentes, especialmente cuando se utilizan applets.

C a p t u l o 9 : D i s t r i b u c i n d e a p l i c a c i o n e s w e b

9 -3

M o d i f i c a c i n d e l d e s c r i p t o r d e d i s t r i b u c i n

Modificacin del descriptor de distribucin


JBuilder Enterprise admite servidor de aplicaciones

Los descriptores de distribucin son archivos XML que contienen la informacin sobre el mdulo web necesaria para el servidor web. Todos los servidores web aptos para Java esperan un descriptor de distribucin estndar llamado web.xml. Si se utiliza el marco de trabajo Struts en el mdulo web, tambin se requiere el descriptor de distribucin llamado struts-config.xml. Algunos otros marcos de trabajo requieren sus propios descriptores de distribucin. Algunos servidores pueden tener tambin descriptores de distribucin especficos de fabricante, que utilizan adems de web.xml. Por ejemplo, BEA WebLogic utiliza weblogic.xml. Consulte la documentacin de su servidor e infrmese de los archivos descriptores que utiliza. Tomcat, el servidor web que viene con JBuilder, necesita solamente web.xml. JBuilder proporciona un editor de descriptor de distribucin para web.xml. Se llama Editor DD de Mdulo Web. Este proporciona una interfaz grfica de usuario para editar la informacin ms comnmente utilizada en el archivo web.xml. Cuando se abre el archivo web.xml en el IDE de JBuilder, su contenido se presenta en el panel de estructura, y el panel de contenido muestra el Editor DD de Mdulo Web y el editor de cdigo fuente. El archivo web.xml se puede modificar en el Editor DD de Mdulo Web o en el editor de cdigo fuente. Los cambios efectuados en el Editor DD de Mdulo Web se reflejan en el cdigo fuente, y los cambios efectuados en el cdigo fuente se reflejan en el Editor DD de Mdulo Web.

Precaucin

Si se introducen comentarios en el archivo web.xml por medio del editor de cdigo fuente, se borrarn si el archivo se abre posteriormente en el Editor DD de Mdulo Web. JBuilder tambin proporciona el Editor de configuracin de Struts para modificar el descriptor de distribucin struts-config.xml que requiere el marco de trabajo Struts.

Edicin de descriptores de distribucin especficos de un fabricante


JBuilder Enterprise admite servidor de aplicaciones

Tambin se pueden editar los descriptores de distribucin especficos de un fabricante en el IDE de JBuilder. JBuilder reconoce y muestra el archivo descriptor de distribucin en el proyecto si el correspondiente plugin del servidor est configurado apropiadamente. Los fabricantes que ofrecen plugins para otros servidores web se empean en suministrar editores de interfaz grfica de usuario para sus descriptores de distribucin especficos. Por ejemplo, el plug-in Sybase proporciona un editor GUI para el archivo sybase-easerver-config.xml.

9-4

Gua del desarrollador de aplicaciones web

Modificacin del descriptor de distribucin

Si el fabricante no proporciona un editor de interfaz grfica de usuario para sus descriptores de distribucin, existe la posibilidad de editar el cdigo fuente de los descriptores con el editor de cdigo fuente XML de JBuilder. Para hacerlo, abra el descriptor de distribucin especfico del fabricante y pulse la pestaa Fuente en el panel de contenido. Cuando se abre un descriptor de distribucin especfico de un fabricante en el IDE de JBuilder, su contenido se muestra en el panel de estructura, y el panel de contenido presenta el editor de cdigo fuente y la vista Histrico, junto con cualquier editor de interfaz de usuario propio del fabricante que pueda aportar el plugin del servidor web.

Mas informacin sobre descriptores de distribucin


Si desea obtener ms informacin sobre los descriptores de distribucin y sobre el descriptor de distribucin web.xml en particular, consulte la Java Servlet Specification, que puede descargarse desde http://java.sun.com/ products/servlet/.

C a p t u l o 9 : D i s t r i b u c i n d e a p l i c a c i o n e s w e b

9 -5

9-6

Gua del desarrollador de aplicaciones web

Captulo

Captulo 10

Modificacin del archivo web.xml

Desarrollo web es una funcin de JBuilder Developer y JBuilder Enterprise

El Editor DD de Mdulo Web se activa cuando se hace doble clic en el nodo mdulo web del panel del proyecto. El Editor DD de Mdulo Web resulta til para modificar el archivo web.xml. Cuando este editor est activo, el panel de estructura muestra un esquema del contenido del archivo web.xml. Cuando se hace doble clic en los distintos nodos del panel de estructura se muestran diversas fichas del editor. El nodo Aplicaciones Web principal cuenta con 16 nodos descendientes, algunos de los cuales tambin tienen descendientes. A continuacin se muestra una lista de los nodos descendientes del nodo Aplicaciones Web:
s s s s s s s s s s s s s

Parmetros de contexto Referencias EJB Referencias locales del EJB Entradas de entorno Pginas de error Filtros Mapeo de filtros Monitores Mapeos MIME Referencias del entorno de recursos Referencias de recurso Restricciones de seguridad Servlets

C a pt u l o 1 0 : M o d i f i c a c i n d e l a r c h i v o w e b . x m l

1 0 -1

Men c o n t e x t u a l d e l E d i t o r D D d e M d u l o W e b
s s s

Mapeo de servlets Competencias de seguridad Bibliotecas de etiquetas

Estos nodos contiene etiquetas que se pueden modificar en el Editor DD de Mdulo Web. El Editor DD de Mdulo Web abarca todas las etiquetas de descriptores de distribucin del web.xml de la especificacin Servlet 2.3. Tambin puede modificar el cdigo fuente del archivo web.xml.
Precaucin

Si se introducen comentarios en el archivo web.xml por medio del editor de cdigo fuente, se borrarn si el archivo se abre posteriormente en el Editor DD de Mdulo Web. Las etiquetas contenidas en cada uno de los nodos del Editor DD de Mdulo Web se explican en los siguientes apartados.

Men contextual del Editor DD de Mdulo Web


Cuando se hace clic con el botn derecho en cualquier nodo principal del Editor DD de Mdulo Web, en el panel de estructura, se abre un men contextual que puede incluir las opciones Aadir, Eliminar todo, Eliminar y Validar. Aadir se encuentra disponible siempre que es posible aadir un nodo descendiente al nodo actual. Eliminar todo est disponible cuando es posible eliminar un nodo y todos sus descendientes. Eliminar est disponible cuando es posible eliminar slo el nodo actual. Validar comprueba la validez de las etiquetas que representa el nodo actual. Si se aade una restriccin de seguridad como descendiente del nodo Restricciones de seguridad, tambin se aade un conjunto de recursos web como descendiente de la nueva restriccin de seguridad. El cambio de nombre y la eliminacin de cualquier nodo extienden la modificacin en cascada a todas las partes relacionadas del archivo web.xml.

Ficha Aplicaciones Web


La ficha principal del Editor DD de Mdulo Web contiene informacin de identificacin bsica del mdulo web. La informacin que se puede editar en esta ficha es: Tabla 10.1 Elemento
Caducidad de sesin Distribuible

Ficha Aplicaciones Web del Editor DD de Mdulo Web Descripcin


Nmero entero de minutos que pueden pasar antes de que termine la sesin. Indica si el mdulo web se puede distribuir en un contenedor de servlet distribuido (multi-MV).

10-2

Gua del desarrollador de aplicaciones web

Ficha Aplicaciones Web

Tabla 10.1 Elemento

Ficha Aplicaciones Web del Editor DD de Mdulo Web (continuacin) Descripcin


Nombre del mdulo web que se muestra. Las herramientas de administracin de motores servlet pueden utilizarlo. Descripcin del mdulo web. Las herramientas de administracin de motores servlet pueden utilizarlo. Seala la ubicacin de un icono grande para el mdulo web (32 x 32 pxeles), que debe estar contenido dentro del rbol de directorio del mdulo web. Seala la ubicacin de un icono grande para el mdulo web (16 x 16 pxeles), que debe estar contenido dentro del rbol de directorio del mdulo web. Especifica el mtodo de autenticacin del mdulo web. El valor por defecto no est especificado. Otras opciones son Resumen, Client Cert, Bsico y Formulario. Cuando se elige Bsico se puede especificar un nombre de reino. Cuando se elige Formulario se pueden especificar una pgina de conexin y una pgina de error de conexin. Nombre de reino para el mtodo de autenticacin Bsico. Pgina de conexin para el mtodo de autenticacin del formulario. Pgina de errores para el mtodo de autenticacin del formulario. El archivo o archivos que van a ser mostrados cuando la URL apunte hacia un directorio, por ejemplo: index.html.

Nombre en pantalla

Descripcin Icono grande

Icono pequeo

Mtodo de autenticacin

Nombre de reino Pgina de conexin Pgina de errores Archivos del proyecto Welcome

Figura 10.1 Ficha Aplicaciones web del Editor DD de Mdulo Web

C a pt u l o 1 0 : M o d i f i c a c i n d e l a r c h i v o w e b . x m l

1 0 -3

F i c h a P a r metros de c o n t e x t o

Ficha Parmetros de contexto


La ficha Parmetros de contexto contiene una lista de nombres en pantalla de parmetros contextuales y los botones Aadir, Modificar, Eliminar, Desplazar arriba y Desplazar abajo, para gestionar los parmetros de inicializacin del ServletContext de la totalidad del mdulo web. A estos parmetros se accede mediante los mtodos ServletContext.getInitParameterNames y ServletContext.getInitParameter. La opcin Aadir crea un parmetro contextual y aade al panel de estructura un nodo descendiente de ese parmetro. Para modificar un parmetro, seleccinelo y pulse Modificar, o bien, haga doble clic en l. De esta forma se abre otra ficha llamada Parmetro contextual: <nombre en pantalla>, que permite modificar el valor y la descripcin del parmetro. Figura 10.2 Ficha Parmetro de contextual del Editor DD de Mdulo Web

Ficha Referencias EJB


La ficha Referencias EJB contiene una lista de nombres en pantalla referencias de EJB y los botones Aadir, Modificar, Eliminar, Desplazar arriba y Desplazar abajo, que permiten gestionarlas. El botn Aadir crea una referencia de EJB y aade un nodo descendiente al panel de estructura. Para modificar una referencia de EJB, seleccione su nombre en pantalla y pulse Modificar, o bien, haga doble clic en l. De esta forma se abre otra ficha llamada Referencia de EJB: <nombre en pantalla>. La ficha Referencia de EJB permite modificar el nombre, el enlace, el tipo, las interfaces base y remota y la descripcin de la referencia de EJB.

10-4

Gua del desarrollador de aplicaciones web

Ficha Referencias locales del EJB

Figura 10.3 Ficha Referencia a EJB en el Editor DD de Mdulo Web

Ficha Referencias locales del EJB


La ficha Referencias locales del EJB contiene una lista de nombres en pantalla de referencias locales de EJB y los botones Aadir, Modificar, Eliminar, Desplazar arriba y Desplazar abajo, que permiten gestionar estas referencias. El botn Aadir crea una referencia local de EJB y aade un nodo descendiente al panel de estructura. Para modificar una referencia local de EJB, seleccione su nombre en pantalla y pulse Modificar, o bien, haga doble clic en l. De esta forma se abre otra ficha llamada Referencia local del EJB: <nombre en pantalla>. La ficha Referencia local del EJB permite modificar el nombre, el enlace, el tipo, las interfaces base local y local y la descripcin de la Referencia local de EJB. Figura 10.4 Ficha Referencia local de EJB en el Editor DD de Mdulo Web

C a pt u l o 1 0 : M o d i f i c a c i n d e l a r c h i v o w e b . x m l

1 0 -5

Ficha Entradas de entorno

Ficha Entradas de entorno


La ficha Entradas de entorno contiene una lista de nombres en pantalla de entradas de entorno y los botones Aadir, Modificar, Eliminar, Desplazar arriba y Desplazar abajo, que permiten gestionarlas. El botn Aadir crea una entrada de entorno y aade un nodo descendiente al panel de estructura. Para modificar una entrada de entorno, seleccione su nombre en pantalla y pulse Modificar, o bien, haga doble clic en l. De esta forma se abre otra ficha llamada Entrada de entorno: <nombre en pantalla>. La ficha Entrada de entorno permite modificar el nombre, el tipo, el valor y la descripcin de la entrada. Figura 10.5 Ficha Entrada de entorno en el Editor DD de Mdulo Web

Ficha Pginas de error


La ficha Pginas de error contiene una lista de nombres en pantalla de pginas de error y los botones Aadir, Modificar, Eliminar, Desplazar arriba y Desplazar abajo, que permiten gestionarlas. El botn Aadir crear una pgina de error y aade un nodo descendiente al panel de estructura. Para modificar una pgina de error, seleccione su nombre en pantalla y pulse Modificar, o bien, haga doble clic en l. De esta forma se abre otra ficha llamada Pgina de error: <nombre en pantalla>. En la ficha Pgina de error se pueden modificar el cdigo de error, el tipo de excepcin y la ubicacin de la pgina de error. Figura 10.6 Ficha Pgina de error en el Editor DD de Mdulo Web

10-6

Gua del desarrollador de aplicaciones web

Ficha Filtros

Ficha Filtros
La ficha Filtros contiene una lista de nombres en pantalla de filtros y los botones Aadir, Modificar, Eliminar, Desplazar arriba y Desplazar abajo, que permiten gestionarlos. El orden de los filtros es importante ya que es el orden en el cual se aplicarn. Esta ficha permite cambiar el orden en el cual se aplican los filtros. El botn Aadir crea un filtro y aade un nodo descendiente al panel de estructura. Tambin aade un nodo Parmetros de inicializacin como descendiente del nuevo filtro. Para modificar un filtro, seleccione su nombre en pantalla y pulse Modificar, o bien, haga doble clic en l. De esta forma se abre otra ficha llamada Filtro: <nombre en pantalla>. La informacin que se presenta en la ficha Filtro es la siguiente: Tabla 10.2 Elemento
Nombre Clase del filtro Nombre en pantalla Descripcin Icono grande

Ficha Filtro del Editor DD de Mdulo Web Descripcin


El nombre de filtroque se utiliza para asignar el filtro. Se requiere cuando se distribuye un servlet de filtro. Nombre completo de la clase del filtro. Esta informacin es necesaria cuando se distribuye un servlet filtro. Nombre que se presenta para el filtro. Las herramientas de administracin de motores servlet pueden utilizarlo. Descripcin del filtro. Las herramientas de administracin de motores servlet pueden utilizarlo. Indica la ubicacin de un icono grande para el filtro (32 x 32 pxeles), que debe estar contenido dentro del rbol de directorio del mdulo web. Indica la ubicacin de un icono grande para el filtro (16 x 16 pxeles), que debe estar contenido dentro del rbol de directorio del mdulo web.

Icono pequeo

Figura 10.7 Ficha Filtro del Editor DD de Mdulo Web

C a pt u l o 1 0 : M o d i f i c a c i n d e l a r c h i v o w e b . x m l

1 0 -7

Ficha Mapeos de filtros

Cada filtro individual se lista en el panel de estructura como un nodo dependiente separado del nodo Filtros. El nombre de filtro se presenta en el rbol. Si desea borrar un filtro, haga clic con el botn derecho del ratn en su nodo y seleccione Eliminar en el men contextual. Cuando se borra un filtro, este cambio se extiende a todas las partes relacionadas del descriptor de distribucin.

Parmetros de inicializacin
Cada nodo de filtro del panel de estructura tiene un nodo descendiente para los parmetros de inicializacin. Haga doble clic en el nodo Parmetros de inicializacin para gestionarlos. La ficha Parmetros de inicializacin contiene una lista de nombres en pantalla de parmetros de inicializacin y los botones Aadir, Modificar, Eliminar, Desplazar arriba y Desplazar abajo, que permiten gestionarlos. El botn Aadir crea un parmetro de inicializacin y aade un nodo descendiente al panel de estructura. Para modificar un parmetro de inicializacin, seleccione su nombre en pantalla y pulse Modificar, o bien, haga doble clic en l. De esta forma se abre otra ficha llamada Parmetro de inicializacin: <nombre en pantalla>. La ficha Parmetro de inicializacin permite modificar el nombre, el valor y la descripcin del parmetro. Figura 10.8 Nodo Parmetro de inicializacin en el Editor DD de Mdulo Web

Ficha Mapeos de filtros


La ficha Mapeos de filtros contiene una lista de nombres en pantalla de mapeos de filtros y los botones Aadir, Modificar, Eliminar, Desplazar arriba y Desplazar abajo, que permiten gestionarlos. El botn Aadir crea un mapeo de filtro y aade un nodo descendiente al panel de estructura. Para modificar un mapeo de filtro, seleccione su nombre en pantalla y pulse Modificar, o bien, haga doble clic en l. De esta forma se abre otra ficha llamada Mapeo de filtros: <nombre en pantalla>.

10-8

Gua del desarrollador de aplicaciones web

Ficha Monitores

La ficha Mapeo de filtros permite asignar los filtros (por filter-name) a un patrn de URL o a un nombre de servlet (pero no a ambos). La informacin que se presenta en la ficha Mapeo de filtros es la siguiente: Tabla 10.3 Elemento
Nombre de Filtro Patrn de URL

Ficha Mapeo de filtros del Editor DD de Mdulo Web Descripcin


El nombre de filtro que se utiliza para asignar el filtro. Se requiere cuando se distribuye un servlet de filtro. El patrn de url para la ubicacin del filtro. Se necesita bien ste o el nombre de servlet cuando se distribuye un servlet de filtro. El nombre de servlet que se utiliza para asignar el filtro. Se necesita bien ste o el patrn de url cuando se distribuye un servlet de filtro.

Nombre de Servlet

Si para crear un servlet de filtro utiliza el Asistente para servlets de JBuilder, el asistente aadir automticamente la asignacin de filtro necesaria. Figura 10.9 Ficha Mapeo de filtro del Editor DD de Mdulo Web

Ficha Monitores
La ficha Monitores contiene una lista de nombres en pantalla de monitores y los botones Aadir, Modificar, Eliminar, Desplazar arriba y Desplazar abajo, que permiten gestionarlos. El orden de los monitores es importante ya que es el orden en el cual se aplicarn. La ficha Monitores permite cambiar el orden en el cual se aplican. El botn Aadir crea un monitor y aade un nodo descendiente al panel de estructura. Para modificar un monitor, seleccione su nombre en pantalla y pulse Modificar, o bien, haga doble clic en l. De esta forma se abre otra ficha llamada Monitor: <nombre en pantalla>. La ficha Monitor permite modificar la clase del monitor. La informacin de la ficha Monitor es necesaria cuando se distribuye un servlet monitor. Si se utiliza el Asistente para servlets de JBuilder para crear un servlet monitor, su clase se aade automticamente al archivo web.xml.

C a pt u l o 1 0 : M o d i f i c a c i n d e l a r c h i v o w e b . x m l

1 0 -9

Ficha Mapeos MIME

Figura 10.10 Ficha Monitor del Editor DD de Mdulo Web

Ficha Mapeos MIME


La ficha Mapeos MIME contiene una lista de nombres en pantalla de mapeos MIME y los botones Aadir, Modificar, Eliminar, Desplazar arriba y Desplazar abajo, que permiten gestionar los mapeos. La ficha Mapeos MIME permite aadir tipos personalizados. He aqu algunos ejemplos de tipos de MIME incluidos con muchos servidores web:
s s s s s s s

txt texto/plano html - texto/html xml - texto/xml pdf - aplicacin/pdf zip - aplicacin/x-zip-comprimida jpeg - imagen/jpeg gif - imagen/gif

El botn Aadir crea un mapeo MIME y aade un nodo descendiente al panel de estructura. Para modificar un mapeo MIME, seleccione su nombre en pantalla y pulse Modificar, o bien, haga doble clic en l. De esta forma se abre otra ficha llamada Mapeo MIME: <nombre en pantalla>. La ficha Mapeo MIME permite asignar una extensin al tipo de MIME. Figura 10.11 Ficha Mapeo MIME en el Editor DD de Mdulo Web

10-1 0

Gua del desarrollador de aplicaciones web

Ficha Referencias del entorno de recursos

Ficha Referencias del entorno de recursos


La ficha Referencias del entorno de recursos contiene una lista de nombres en pantalla de referencias de entorno de recursos y los botones Aadir, Modificar, Eliminar, Desplazar arriba y Desplazar abajo, que permiten gestionar estas referencias. El botn Aadir crea una referencia de entorno de recursos y aade un nodo descendiente al panel de estructura. Para modificar una referencia de entorno de recursos, seleccione su nombre en pantalla y pulse Modificar, o bien, haga doble clic en l. De esta forma se abre otra ficha llamada Referencia del entorno de recursos: <nombre en pantalla>. La ficha Referencia del entorno de recursos permite modificar el nombre, el tipo y la descripcin de la referencia. Figura 10.12 Ficha Referencia de entorno de recursos en el Editor DD de Mdulo Web

Ficha Referencias de recurso


La ficha Referencias de recurso contiene una lista de nombres en pantalla de referencias de recurso y los botones Aadir, Modificar, Eliminar, Desplazar arriba y Desplazar abajo, que permiten gestionarlas. El botn Aadir crea una referencia de recurso y aade un nodo descendiente al panel de estructura. Para modificar una referencia de recurso, seleccione su nombre en pantalla y pulse Modificar, o bien, haga doble clic en l. De esta forma se abre otra ficha llamada Referencia de recurso: <nombre en pantalla>. La ficha Referencia de recurso permite modificar el nombre, el tipo, la autenticacin, el mbito donde compartir y la descripcin de la referencia de recurso.

C a pt u l o 1 0 : M o d i f i c a c i n d e l a r c h i v o w e b . x m l

1 0 -1 1

Ficha Restricciones de seguridad

Figura 10.13 Ficha Referencias del recurso en el Editor DD de Mdulo Web

Ficha Restricciones de seguridad


La ficha Restricciones de seguridad contiene una lista de nombres en pantalla de restricciones de seguridad junto con los botones Aadir, Modificar, Eliminar, Desplazar arriba y Desplazar abajo, que permiten gestionarlas. El botn Aadir crea una restriccin de seguridad y aade un nodo descendiente al panel de estructura. Tambin aade a la restriccin de seguridad un nodo descendiente llamado Colecciones de recursos web. Para modificar una restriccin de seguridad, seleccione su nombre en pantalla y pulse Modificar, o bien, haga doble clic en l. De esta forma se abre otra ficha llamada Restriccin de seguridad: <nombre en pantalla>. Cada restriccin de seguridad se presenta como un nodo descendiente independiente del nodo Restricciones de seguridad. Una restriccin de seguridad puede borrarse si hace clic con el botn derecho en el nodo de la restriccin individual y selecciona Eliminar en el men contextual. Si se borra una restriccin, este cambio se extender en cascada a todas las partes relacionadas del descriptor de distribucin. Cuando se abre un nodo de restriccin de seguridad, el Editor DD de Mdulo Web muestra la informacin de esa restriccin: el nombre en pantalla, la garanta de transporte y su descripcin, y los nombres de competencia autorizados y su descripcin. Adicionalmente a la especificacin por separado de autorizaciones, el nombre de competencia reservado * indica todas las competencias. Si se utiliza esta designacin junto a nombres de competencias individuales, estas ltimas no se tienen en cuenta.

10-1 2

Gua del desarrollador de aplicaciones web

Ficha Restricciones de seguridad

Figura 10.14 Restriccin de seguridad en el Editor DD de Mdulo Web

Ficha Colecciones de recursos web


Cada restriccin de seguridad tiene en el panel de estructura un nodo descendiente llamado Colecciones de recursos web. Haga doble clic en este nodo para que se abra la ficha Colecciones de recursos web. La ficha Colecciones de recursos web contiene una lista de nombres de colecciones de recursos web junto con los botones Aadir, Modificar, Eliminar, Desplazar arriba y Desplazar abajo. El botn Aadir crea una coleccin de recursos web y aade un nodo descendiente al panel de estructura. Para modificar una coleccin de recursos web, seleccione su nombre en pantalla y pulse Modificar, o bien, haga doble clic en l. De esta forma se abre otra ficha llamada Coleccin de recursos web: <nombre en pantalla>. Si desea borrar una coleccin de recursos web, haga clic con el botn derecho del ratn en su nodo y seleccione Eliminar en el men contextual. Si se cambia de nombre o se elimina una coleccin de recursos web, este cambio se extiende a todas las partes relacionadas del descriptor de distribucin.

C a pt u l o 1 0 : M o d i f i c a c i n d e l a r c h i v o w e b . x m l

1 0 -1 3

Ficha Servlets

Cuando se abre un nodo de coleccin de recursos web, el Editor DD de Mdulo Web contiene la informacin de identificacin de la coleccin: Tabla 10.4 Elemento
Nombre en pantalla Descripcin Mtodos HTTP

Ficha Coleccin de recursos web del Editor DD de Mdulo Web Descripcin


El nombre con que se muestra la coleccin de recursos web. Descripcin de la coleccin de recursos web. Un conjunto de casillas de verificacin para los mtodos HTTP (como GET y POST) que se aplican a los patrones de URL. Si no selecciona ninguna de estas casillas de verificacin tiene el mismo efecto que seleccionarlas todas. Un cuadro de lista de los patrones de URL de esa coleccin de recursos web.

Patrones de URL

Figura 10.15 Nodo Coleccin de recursos web en el Editor DD de Mdulo Web

Ficha Servlets
La ficha Servlets contiene una lista de nombres en pantalla de servlets junto con los botones Aadir, Modificar, Eliminar, Desplazar arriba y Desplazar abajo, que permiten gestionarlos. El botn Aadir crea un servlet y aade un nodo descendiente al panel de estructura. Tambin aade al servlet dos nodos descendientes llamados Parmetros de inicializacin y Referencias de competencia de seguridad.
10-1 4 Gua del desarrollador de aplicaciones web

Ficha Servlets

Para modificar un servlet, seleccione su nombre en pantalla y pulse Modificar, o bien, haga doble clic en l. De esta forma se abre otra ficha llamada Servlet: <nombre en pantalla>. Si se han definido servlets, se encontrarn nodos dependientes que representan servlets individuales debajo del nodo de la ficha Servlets en el panel de estructura. El nombre de servlet se presenta en el rbol. Si desea borrar un servlet, haga clic con el botn derecho del ratn en su nodo y seleccione Eliminar en el men contextual. Si se borra un servlet, este cambio se extiende a todas las partes relacionadas del descriptor de distribucin. Por ejemplo, la eliminacin de un servlet tambin produce la eliminacin de sus asignaciones de URL y de los filtros. Recuerde que tambin se pueden asignar patrones de URL a JSP. Esto significa que un nodo de un servlet individual en el panel de estructura puede representar una JSP o un servlet. Cuando se abre un nodo de un servlet, el Editor DD de Mdulo Web presenta una ficha para l. Esta ficha contiene informacin de identificacin del servlet: Tabla 10.5 Elemento
Nombre Clase del servlet

Ficha Servlet individual del Editor DD de Mdulo Web Descripcin


Nombre del servlet. Introduzca el nombre completo de la clase del servlet en el campo de texto. Se necesita esta clase o el archivo JSP, pero no ambos. Introduzca la va de acceso al archivo de JSP en el campo de texto. Se necesita este archivo o la clase del servlet, pero no ambos. La prioridad de carga en el inicio para el servlet, expresada como un entero positivo. Los servlets con los enteros ms bajos se cargan antes de aquellos que tienen enteros ms altos. Los servlets con especificacin Servlet 2.3 se pueden Ejecutar como otro usuario, como uno de los Nombres de competencia definidos en la ficha Seguridad. Descripcin de Ejecutar como nombre de competencia. El nombre del servlet que se mostrar. Las herramientas de administracin de motores servlet pueden utilizarlo. Descripcin del servlet. Las herramientas de administracin de motores servlet pueden utilizarlo. Indica la ubicacin de un icono grande para el filtro (32 x 32 pxeles), que debe estar contenido dentro del rbol de directorio del mdulo web. Indica la ubicacin de un icono grande para el filtro (16 x 16 pxeles), que debe estar contenido dentro del rbol de directorio del mdulo web.

Archivo JSP

Cargar al iniciar

Ejecutar como nombre de competencia Ejecutar como descripcin Nombre en pantalla Descripcin Icono grande

Icono pequeo

C a pt u l o 1 0 : M o d i f i c a c i n d e l a r c h i v o w e b . x m l

1 0 -1 5

Ficha Servlets

Figura 10.16 Ficha Servlet del Editor DD de Mdulo Web

Parmetros de inicializacin
Cada nodo de servlet del panel de estructura tiene un nodo descendiente para los parmetros de inicializacin. Haga doble clic en el nodo Parmetros de inicializacin para gestionarlos. La ficha Parmetros de inicializacin contiene una lista de nombres en pantalla de parmetros de inicializacin y los botones Aadir, Modificar, Eliminar, Desplazar arriba y Desplazar abajo, que permiten gestionarlos. El botn Aadir crea un parmetro de inicializacin y aade un nodo descendiente al panel de estructura. Para modificar un parmetro de inicializacin, seleccione su nombre en pantalla y pulse Modificar, o bien, haga doble clic en l. De esta forma se abre otra ficha llamada Parmetro de inicializacin: <nombre en pantalla>. Es igual que la ficha Parmetros de inicializacin de los filtros.

Referencias de competencia de seguridad


Cada nodo de servlet del panel de estructura tiene un nodo descendiente para las referencias de competencia de seguridad. Haga doble clic en el nodo Referencias de competencia de seguridad para gestionar estas referencias. La ficha Referencias de competencia de seguridad contiene una lista de nombres en pantalla de estas referencias junto con los botones Aadir, Modificar, Eliminar, Desplazar arriba y Desplazar abajo, que permiten gestionarlas.
10-1 6 Gua del desarrollador de aplicaciones web

Ficha Mapeos de servlets

El botn Aadir crea una referencia de competencia de seguridad y aade un nodo descendiente al panel de estructura. Para modificar una referencia de competencia de seguridad, seleccione su nombre en pantalla y pulse Modificar, o bien, haga doble clic en l. De esta forma se abre otra ficha llamada Referencia de competencia de seguridad: <nombre en pantalla>. La ficha Referencia de competencia de seguridad contiene cambios de nombre para competencias de seguridad. Esta ficha se utiliza para asignar un nombre alternativo codificado en el servlet a los nombres de competencias reales en el descriptor de distribucin mediante la modificacin del nombre, el enlace y la descripcin. Figura 10.17 Ficha Referencia de competencia de seguridad del Editor DD de Mdulo Web

Ficha Mapeos de servlets


La ficha Mapeos de servlets contiene una lista de nombres en pantalla de mapeos de servlets junto con los botones Aadir, Modificar, Eliminar, Desplazar arriba y Desplazar abajo, que permiten gestionar los mapeos. El botn Aadir crea un mapeo de servlet y aade un nodo descendiente al panel de estructura. Para modificar un mapeo de servlet, seleccione su nombre en pantalla y pulse Modificar, o bien, haga doble clic en l. De esta forma se abre otra ficha llamada Mapeo de servlets: <nombre en pantalla>. La ficha Mapeo de servlets permite asignar un patrn de URL a un servlet-name. Un servlet puede estar asignado a ms de un patrn de URL. Se recomienda al menos una asignacin por cada servlet. Si para crear un servlet estndar utiliza el Asistente para servlets de JBuilder, se crear la asignacin automticamente. Recuerde que tambin se pueden asignar patrones de URL a JSP. Esto significa que un nodo de un servlet individual en el panel de estructura puede representar una JSP o un servlet. Figura 10.18 Ficha Mapeo de servlets del Editor DD de Mdulo Web

C a pt u l o 1 0 : M o d i f i c a c i n d e l a r c h i v o w e b . x m l

1 0 -1 7

Ficha Competencias de seguridad

Ficha Competencias de seguridad


La ficha Competencias de seguridad contiene una lista de nombres en pantalla de competencias de seguridad junto con los botones Aadir, Modificar, Eliminar, Desplazar arriba y Desplazar abajo, que permiten gestionarlas. El botn Aadir crea una competencia de seguridad y aade un nodo descendiente al panel de estructura. Para modificar una competencia de seguridad, seleccione su nombre en pantalla y pulse Modificar, o bien, haga doble clic en l. De esta forma se abre otra ficha llamada Competencia de seguridad: <nombre en pantalla>. La ficha Competencia de seguridad permite modificar el nombre y la descripcin de la competencia de seguridad. Figura 10.19 Ficha Competencia de seguridad en el Editor DD de Mdulo Web

Ficha Bibliotecas de etiquetas


La ficha Bibliotecas de etiquetas contiene una lista de los nombres en pantalla de las bibliotecas de etiquetas junto con los botones Aadir, Modificar, Eliminar, Desplazar arriba y Desplazar abajo, que permiten gestionarlas. El botn Aadir crea una biblioteca de etiquetas y aade un nodo descendiente al panel de estructura. Para modificar una biblioteca de etiquetas, seleccione su nombre en pantalla y pulse Modificar, o bien, haga doble clic en l. De esta forma se abre otra ficha llamada Biblioteca de etiquetas: <nombre en pantalla>. La ficha Biblioteca de etiquetas permite asignar la URI utilizada en una JSP a la ubicacin de los archivos de definicin de biblioteca de etiquetas (.tld). Esta informacin es necesaria para la distribucin de una JSP que utilice una biblioteca de etiquetas. Si utiliza el Asistente para JSP de JBuilder para crear una JSP que utilice una biblioteca de etiquetas reconocida por el asistente, se rellena la informacin de la biblioteca de etiquetas. Figura 10.20 Ficha Biblioteca de etiquetas en el Editor DD de Mdulo Web

10-1 8

Gua del desarrollador de aplicaciones web

Captulo

Captulo 11

Modificacin del archivo struts-config.xml

Desarrollo web es una funcin de JBuilder Developer y JBuilder Enterprise

El archivo struts-config.xml es el descriptor de distribucin de una aplicacin web preparada para Struts. Debe ser acorde con un formato especfico, tal y como se describe en la Document Type Definition (Definicin de tipo de documento, DTD), que se mantiene en http://jakarta.apache.org/struts/dtds/ struts-config_1_1.dtd. Si desea ms informacin sobre los principales elementos de la DTD, consulte The Struts Configuration File en Struts Users Guide, en http://jakarta.apache.org/struts/userGuide. Puede modificar el archivo struts-config.xml en el Editor de configuracin de Struts o en el editor de fuentes. Los cambios efectuados en el Editor de configuracin de Struts se reflejarn en el cdigo fuente y viceversa. Si introduce comentarios en el archivo struts-config.xml utilizando el editor de cdigo fuente, se borrarn si posteriormente abre el archivo en el Editor de configuracin de Struts. Algunos elementos del archivo struts-config.xml se pueden disear con un diseador visual. Consulte el Captulo 12, Los diseadores de Struts, para obtener ms informacin.

Importante

Si utiliza los asistentes de JBuilder para crear los fragmentos de su aplicacin web Struts, puede que no necesite modificar el archivo struts-config.xml. Mientras utiliza JBuilder para crear las piezas de su aplicacin web, el archivo del descriptor de distribucin web.xml se actualiza automticamente para Struts. Si desea ms informacin, consulte el Captulo 7, El marco de trabajo Struts en JBuilder.

C a p t u l o 1 1 : M o d i f i c a c i n d e l a r c h i v o s t r u t s - c o n f i g . x m l

1 1 -1

El editor de configuracin de Struts

El editor de configuracin de Struts


Se puede utilizar el Editor de configuracin de Struts visual de JBuilder con el fin de modificar y mantener el archivo struts-config.xml. Cuando se abre el archivo struts-config.xml en el IDE de JBuilder, el contenido aparece en el panel de estructura, y el panel de contenido muestra el Editor de configuracin de Struts. Al pulsar un nodo en el panel de estructura aparecen las fichas correspondientes del editor. Las fichas son: s Fuentes de datos s Form Beans s Excepciones Globales s Reenvos globales s Acciones s Controlador s Recursos de mensajes s Plug Ins Cada una de estas fichas configura elementos y atributos del descriptor de distribucin. La vista por defecto de las fichas Form Beans y Actions es un diseador visual de arrastre. El Editor de configuracin de Struts permite modificar todos los elementos descriptores de distribucin struts-config.xml de la especificacin Struts 1.1. Los valores true, yes, false y no se aceptan como valores booleanos segn el DTD de Struts. Por este motivo, todos estos valores aparecen en listas desplegables para los campos booleanos en el Editor de configuracin de Struts. Los valores true y yes son equivalentes. Los valores false y no tambin son equivalentes. Para seleccionar una ficha del Editor de configuracin de Struts: 1 Haga doble clic en el archivo struts-config.xml de la carpeta Struts 1.1, en el nodo Descriptor de distribucin del mdulo web. La ficha de visin general del editor aparece en el panel de contenido. La estructura del archivo struts-config.xml aparece en el panel de estructura.

Nota

11-2

Gua del desarrollador de aplicaciones web

El editor de configuracin de Struts

2 En el panel de estructura, pulse el nodo que desee modificar. Para dirigirse a


un elemento ya creado, ample el nodo en el panel de estructura y, a continuacin, haga clic sobre el elemento. El elemento y sus atributos se muestran en el Editor de configuracin de Struts.

Configuracin de propiedades
La mayora de las fichas del Editor de configuracin de Struts permiten configurar propiedades para elementos individuales. Se pueden configurar propiedades form, set, forwards y exceptions.
s

Las propiedades form se definen para elementos <form-bean>. Un elemento <form-property> describe una propiedad JavaBean que se puede utilizar para configurar una instancia de un DynaActionForm o de una de sus subclases. Utilice nicamente este elemento si el atributo type del elemento contenedor <form-bean> es org.apache.struts.action.DynaActionForm o una de sus subclases. Si se utiliza una subclase DynaActionForm personalizada, se debe asignar al atributo dynamic del elemento contenedor <form-bean> el valor true. Este elemento se incorpora a partir de Struts 1.1. Las propiedades set se pueden crear para todos los elemento de la DTD de Struts. Un elemento <set-property> especifica el nombre del mtodo y el valor inicial de una propiedad de configuracin JavaBean adicional. Si se crea una instancia del objeto que representa al elemento en cuestin, se llama al mtodo de acceso de la propiedad indicada y se pasa el valor indicado. El elemento <set-property> resulta til cuando se utiliza una subclase personalizada con elementos <data-source>, <forward>, <action> o <plug-in>. La subclase se puede pasar aunque se necesiten otras propiedades para configurar el objeto sin cambiar el modo en que se analiza el archivo struts-config.xml.

C a p t u l o 1 1 : M o d i f i c a c i n d e l a r c h i v o s t r u t s - c o n f i g . x m l

1 1 -3

F i c h a F u e n t e s d e d a t o s ( E d i t o r d e c o n f i g u r a c in d e S t r u t s )
s

Las propiedades forwards se pueden configurar para un elemento <action-mapping>. Un elemento <forward> especifica la va de acceso relativa al mdulo del servlet o de otro recurso que vaya a procesar esta peticin. Las propiedades exception se pueden configurar para un elemento <action-mapping>. Un elemento <exception> especifica la excepcin que gestiona esta peticin.

Para manipular elementos <set-property>, seleccione la pestaa Propiedades Set. En algunas fichas del Editor de configuracin de Struts, las propiedades se crean y se modifican en la pestaa General.
s

Pulse Aadir para aadir una propiedad Set. La propiedad se aade automticamente con la propiedad por defecto property y el valor value. Para modificar una propiedad Set, seleccinela y pulse Modificar. Aparece el cuadro de dilogo Modificar set property, en el que se pueden cambiar la propiedad y el valor. Para eliminar una propiedad Set, seleccinela y pulse Eliminar.

Para manipular otros elementos, seleccione la pestaa adecuada.


s

Pulse Aadir para aadir una propiedad. Las propiedades se aaden automticamente con un nombre y un valor por defecto. Seleccione una propiedad y pulse Modificar para modificarla. Aparece la pestaa General de la pestaa correspondiente, en la que se puede modificar la propiedad. Para eliminar una propiedad, seleccinela y pulse Eliminar.

El men contextual del Editor de configuracin de Struts


Si abre el Editor de configuracin de Struts en el panel de contenido, puede pulsar el botn derecho del ratn en cualquiera de los nodos (excepto el del Controlador) del panel de estructura con el fin de acceder al men contextual. Las opciones de men varan ligeramente de acuerdo con el nodo seleccionado. Los comandos de men permiten la adicin de elementos, la eliminacin de otros y la apertura de asistentes para crear clases.

Ficha Fuentes de datos (Editor de configuracin de Struts)


La ficha Fuentes de datos del Editor de configuracin de Struts permite crear el elemento <data-sources> del archivo struts-config.xml. Este elemento describe un conjunto de objetos de fuentes de datos JDBC 2.0 Standard Extension, que se configuran segn los elementos anidados <data-source>. Esta es la apariencia de una entrada de ejemplo en struts-config.xml: <data-sources> <data-source key="dataSource"

11-4

Gua del desarrollador de aplicaciones web

Ficha Fuentes de datos (Editor de configuracin de Struts)

type="com.borland.datastore.jdbc.DataStoreDriver"> <set-property property="description" value= "Sample JDataStore Configuration" /> <set-property property="maxCount" value="4"/> <set-property property="minCount" value="2"/> <set-property property="password" value="mypasssword"/> <set-property property="url" value="jdbc:borland:dslocal: C:/JBuilder/samples/webmodules/datastores/guestbook.jds" /> <set-property property="user" value="myusername"/> </data-source> </data-sources> Para que se abra la ficha Visin general de Fuentes de datos del Editor de configuracin de Struts, seleccione el nodo Fuentes de datos en el panel de estructura. La ficha Visin general de fuentes de datos muestra los elementos <data_source>. Esta ficha se utiliza para aadir y eliminar elementos.
s

Si desea aadir un <data-source>, pulse el botn Aadir. El elemento nuevo se aade con el nombre por defecto dataSource. Para modificar un elemento recin aadido o ya presente, seleccinelo y pulse Modificar. Para eliminar un elemento, seleccinelo y pulse Eliminar.

Figura 11.1 Ficha Visin general de Fuentes de datos

La ficha General de Fuentes de datos se utiliza para modificar los atributos de los elementos <data-source>. La ficha General tiene este aspecto:

C a p t u l o 1 1 : M o d i f i c a c i n d e l a r c h i v o s t r u t s - c o n f i g . x m l

1 1 -5

F i c h a F u e n t e s d e d a t o s ( E d i t o r d e c o n f i g u r a c in d e S t r u t s )

Figura 11.2 Ficha General de Fuentes de datos

En la siguiente tabla se describen los atributos de la ficha. Tabla 11.1


Clave

Atributos de Fuente de datos Nombre del atributo key Descripcin


Clave de atributos de contexto de Servlet bajo la que se guarda esta fuente de datos. El valor por defecto lo especifica la cadena constante Action.DATA_SOURCE_KEY. El nombre de la clase Java del controlador JDBC que se utiliza. El bean de configuracin para este objeto DataSource. Si se especifica, el objeto debe ser una subclase del bean de configuracin por defecto. Por defecto es

Nombre del campo

Clase de implementacin Bean de configuracin

type className

org.apache.struts.config.DataSourceConfi g. A partir de Struts 1.1.


Confirmacin automtica

autoCommit

El estado de confirmacin automtica de transacciones por defecto de una conexin nueva. Desaconsejado en Struts 1.1. El estado de slo lectura por defecto de una conexin nueva. Desaconsejado en Struts 1.1.

Slo lectura

readOnly

11-6

Gua del desarrollador de aplicaciones web

Ficha Form Beans (Editor de configuracin de Struts)

Tabla 11.1
Propiedad

Atributos de Fuente de datos (continuacin) Nombre del atributo property-name, por ejemplo, loginTimeout, maxCount, minCount, password, readonly, url y user. Observe que password, readonly, url y user son necesarios.
El valor de la propiedad, como por ejemplo, true, false, un nombre de usuario o contrasea o la direccin URL de la fuente de datos.

Nombre del campo

Descripcin
Nombre de la propiedad JavaBeans a cuyo mtodo de definicin se llama.

Valor

Representacin en cadena del valor que se asignar a esta propiedad, despus de realizar la conversin adecuada.

Men contextual de la ficha Fuentes de datos


Para abrir el men contextual de la ficha Fuentes de datos, haga clic con el botn derecho del ratn en el nodo Fuentes de datos del panel de estructura o ample el nodo y haga clic con el botn derecho del ratn en un elemento. Los comandos de men disponibles de men varan ligeramente de acuerdo con el nodo seleccionado. En la siguiente tabla se describen los comandos del men contextual: Tabla 11.2 Nodo
Fuentes de datos nodo

Men contextual de la ficha Fuentes de datos Comando de men


Aadir fuente de datos

Descripcin
Abre la ficha General de Fuentes de datos del editor, en la que se aade un elemento <data-source>. Elimina el elemento seleccionado.

Elemento Fuentes de datos

Eliminar

Ficha Form Beans (Editor de configuracin de Struts)


La ficha Form Beans del Editor de configuracin de Struts se utiliza para crear el elemento <form-beans> del archivo struts-config.xml. El elemento <form-beans> es la raz del conjunto de descriptores form bean de su aplicacin web Struts. Los elementos anidados <form-bean> describen un form bean en concreto, que es un JavaBean que implementa el org.apache.struts.action.ActionForm. Esta es la apariencia de una entrada de ejemplo en struts-config.xml: <form-beans> <form-bean name="submitForm" type="myproject.SubmitForm"/> </form-beans>

C a p t u l o 1 1 : M o d i f i c a c i n d e l a r c h i v o s t r u t s - c o n f i g . x m l

1 1 -7

F i c h a F o r m B e a n s ( E d i t o r d e c o n f i g u r a c i n d e S t r u t s )

Ficha de visin general


Para abrir la ficha Visin general de Form Bean del Editor de configuracin de Struts, seleccione el nodo Form Beans en el panel de estructura y haga doble clic. Esta ficha recoge los elementos <form-bean>. Esta ficha se utiliza para aadir y eliminar elementos.
s

Si desea aadir un <form-bean>, pulse el botn Aadir. El elemento nuevo se aade con el nombre por defecto formBean. Para modificar un elemento, seleccinelo y pulse Modificar. El elemento se puede modificar mediante el diseador visual disponible en la ficha Diseador de Form Bean o introduciendo valores en los campos de la ficha General. Para eliminar un elemento, seleccinelo y pulse Eliminar.

Figura 11.3 Ficha Visin general de Form Beans

El elemento <form-beans> se puede crear y modificar de dos formas:


s

Se puede utilizar el diseador de arrastre de la ficha Diseador de Form Bean. Se pueden introducir valores en los campos de la ficha General.

Ficha Diseador de Form Bean


La ficha Diseador de Form Bean abre el Diseador de Form Bean, un diseador visual que permite modificar los elementos <form-beans>. Para abrir el diseador, haga doble clic en un elemento <form-beans>, en el panel de estructura, y seleccione la pestaa Diseador de Form Bean. Si desea ms informacin, consulte Diseador de Form Bean en la pgina 12-10.

11-8

Gua del desarrollador de aplicaciones web

Ficha Form Beans (Editor de configuracin de Struts)

Ficha General
La ficha General de Form Bean se utiliza para configurar los atributos de un elemento <form-bean>. La ficha General, disponible en la pestaa General cuando se modifica un elemento, tiene el siguiente aspecto: Figura 11.4 Ficha General de Form Bean

En la siguiente tabla se describen los atributos de la ficha. Tabla 11.3 Atributos de Form Bean Nombre del atributo name type className Descripcin
Identificador nico del bean, que se usa para referirse a l en las correspondencias Action. Nombre completo de la clase Java de la clase de implementacin que se utiliza o genera. Nombre completo de la clase Java de la clase de implementacin ActionFormBean que se utiliza. Toma por defecto el valor configurado como el parmetro de inicializacin formBean del servlet del controlador Struts. El nombre de la propiedad JavaBean descrita por este elemento. Nombre completo de la clase Java del campo subyacente a esta propiedad, seguido de forma optativa de [], para indicar que el campo est indexado.

Nombre de la pestaa Nombre del campo


N/P Nombre Clase de implementacin Bean de configuracin

Propiedades del formulario

Nombre

name

Tipo

type

C a p t u l o 1 1 : M o d i f i c a c i n d e l a r c h i v o s t r u t s - c o n f i g . x m l

1 1 -9

F i c h a F o r m B e a n s ( E d i t o r d e c o n f i g u r a c i n d e S t r u t s )

Tabla 11.3

Atributos de Form Bean (continuacin) Nombre del atributo initial Descripcin


Representacin en cadena del valor inicial de esta propiedad. Si no se especifica, los primitivos se inicializan a cero y los objetos se inicializan en la instancia del argumento cero de esa clase de objeto. El nmero de elementos de matriz que se van a crear si el valor del atributo type especifica una matriz pero no hay ningn valor especificado para el atributo initial. El bean de configuracin de este objeto form property. Si se especifica, el objeto debe ser una subclase del bean de configuracin por defecto, org.apache.struts.config.FormPropertyConfig. Nombre de la propiedad JavaBeans a cuyo mtodo de definicin se llama. Representacin en cadena del valor que se asignar a esta propiedad, despus de realizar la conversin adecuada. Contiene una breve descripcin (una lnea) del elemento, adecuado para utilizar en herramientas GUI. Contiene un texto descriptivo (un prrafo) sobre el elemento, adecuado para utilizar en herramientas GUI. Especifica la ubicacin, relativa al archivo de configuracin Struts, de un recurso que contiene una imagen de un icono grande (32x32 pxeles), adecuada para utilizarla en herramientas GUI. Especifica la ubicacin, relativa al archivo de configuracin Struts, de un recurso que contiene una imagen de icono pequeo (16x16 pxeles), adecuada para utilizar en herramientas GUI.

Nombre de la pestaa Nombre del campo


Inicial

Tamao

size

Nombre de clase

className

Definir propiedades

Propiedad Valor

propertyName propertyValue

Descripcin

Nombre en pantalla

display-name

Descripcin

description

Icono grande

large-icon

Icono pequeo

small-icon

11-1 0

Gua del desarrollador de aplicaciones web

Ficha Form Beans (Editor de configuracin de Struts)

Men contextual de la ficha Form Beans


Para abrir el men contextual de la ficha Form Beans, haga clic con el botn derecho del ratn en el nodo Form Beans del panel de estructura o ample el nodo y haga clic con el botn derecho del ratn en un elemento. Los comandos de men disponibles de men varan ligeramente de acuerdo con el nodo seleccionado. En la siguiente tabla se describen los comandos del men contextual: Tabla 11.4 Nodo
Form Beans nodo Form Beans nodo Elemento Form Beans

Men contextual de la ficha Form Beans Comando de men


Aadir form bean ActionForm Asistentes Eliminar

Descripcin
Abre la ficha General de Form Bean, en la que se aade un elemento <form-bean>. Abre el Asistente para ActionForm, en el que se crea una clase ActionForm. Elimina el elemento seleccionado.

Ficha Form Property


La ficha Form Property se utiliza para modificar los atributos de un elemento <form-property>. Este elemento describe una propiedad JavaBean que se puede utilizar para configurar una instancia de una DynaActionForm o de una de sus subclases. Este elemento slo se utiliza cuando la clase de implementacin del elemento contenedor <form-bean> es org.apache.struts.action.DynaActionForm o una de sus subclases. Si se utiliza una subclase personalizada, se debe asignar al atributo dynamic del elemento contenedor <form-bean> el valor true. El elemento <form-property> existe a partir de Struts 1.1. Para abrir la ficha Form Property, seleccione una propiedad en la pestaa Form Property o en la ficha General de Form Beans y pulse Modificar. La ficha Form Property tiene un aspecto parecido al de la siguiente imagen:

C a p t u l o 1 1 : M o d i f i c a c i n d e l a r c h i v o s t r u t s - c o n f i g . x m l

1 1 -1 1

F i c h a F o r m B e a n s ( E d i t o r d e c o n f i g u r a c i n d e S t r u t s )

Figura 11.5 Ficha Propiedad del formulario

En la siguiente tabla se describen los atributos de la ficha: Tabla 11.5


Clave Clase de implementacin

Atributos de Form Property Nombre del atributo Descripcin name type


El nombre de la propiedad JavaBean descrita por este elemento. Nombre completo de la clase Java del campo subyacente a esta propiedad, seguido de forma optativa por [] para indicar que el campo est indexado. Representacin en cadena del valor inicial de esta propiedad. Si no se especifica, los primitivos se inicializan a cero y los objetos se inicializan en la instancia del argumento cero de esa clase de objeto. Por ejemplo, las cadenas se inicializan en . El nmero de elementos de matriz que se van a crear si el valor del atributo Clase de implementacin especifica una matriz y no se define ningn valor para el atributo initial. El bean de configuracin de este objeto form property. Si se especifica, el objeto debe ser una subclase del bean de configuracin por defecto, org.apache.struts.config.FormPropertyConfig. Nombre de la propiedad JavaBeans a cuyo mtodo de definicin se llama. Representacin en cadena del valor que se asignar a esta propiedad, despus de realizar la conversin adecuada.

Nombre del campo

Valor inicial

initial

Tamao

size

Bean de configuracin

className

Propiedad Valor

propertyName propertyValue

11-1 2

Gua del desarrollador de aplicaciones web

F i c h a E x c e p c i o n e s g l o b a l e s ( E d i t o r d e c o n f i g u r a c i n d e S t r u t s )

Ficha Excepciones globales (Editor de configuracin de Struts)


La ficha Fuentes de excepciones globales se utiliza para crear el elemento <global-exceptions> en el archivo struts-config.xml. Este elemento describe un conjunto de excepciones que se lanza mediante un objeto Action. El manejo de tipos individuales de excepciones est configurado a travs de elementos de excepcin anidados. Un elemento <action> puede redefinir un manejador global de excepciones mediante el registro de un manejador local para el mismo tipo de excepcin. El elemento <global-exceptions> aparece a partir de Struts 1.1. Esta es la apariencia de una entrada de ejemplo en struts-config.xml: <global-exceptions> <type=mypackage.ExpiredPasswordException key=expired.password path=/newPassword.jsp /> </global-exceptions> Para abrir la ficha Visin general de excepciones globales del Editor de configuracin de Struts, seleccione el nodo Excepciones globales en el panel de estructura. La ficha Visin general de excepciones globales muestra los elementos <global-exceptions>. Esta ficha se utiliza para aadir y eliminar elementos.
s

Si desea aadir un elemento <global-exception>, pulse el botn Aadir. El elemento nuevo se aade con el nombre por defecto exception. Para modificar un elemento recin aadido o ya presente, seleccinelo y pulse Modificar. Para eliminar un elemento, seleccinelo y pulse Eliminar.

C a p t u l o 1 1 : M o d i f i c a c i n d e l a r c h i v o s t r u t s - c o n f i g . x m l

1 1 -1 3

F i c h a E x c e p c i o n e s g l o b a l e s ( E d i t o r d e c o n f i g u r a c i n d e S t r u t s )

Figura 11.6 Ficha Visin general de Excepciones globales

La ficha General de Excepciones globales se utiliza para modificar los atributos de un elemento <global-exceptions>. La ficha General tiene este aspecto: Figura 11.7 Ficha General de Excepciones globales

11-1 4

Gua del desarrollador de aplicaciones web

F i c h a E x c e p c i o n e s g l o b a l e s ( E d i t o r d e c o n f i g u r a c i n d e S t r u t s )

En la siguiente tabla se describen los atributos de la ficha. Tabla 11.6 Atributos de excepciones globales Nombre del campo
Clase Exception Va de acceso Manejador

Nombre de la pestaa
N/P

Nombre del atributo type path manejador

Descripcin
Nombre completo de la clase Java del tipo de excepcin que se registra con este manejador. URI relativa al mdulo para el recurso que completa la solicitud/respuesta si tiene lugar esta excepcin. Nombre completo de la clase Java para este manejador de excepciones, por ejemplo, org.apache.struts.action.ExceptionHandler. La clave que se utiliza con el conjunto de recursos de mensajes de este manejador que recuperar la plantilla de mensajes de error para esta excepcin. El contexto (request o session) que se utiliza para acceder al objeto org.apache.struts.action.ActionError para esta excepcin. Atributo de contexto del servlet para el conjunto de recursos de mensajes asociado con este manejador. El atributo por defecto es el valor especificado por la constante de cadena declarada en org.apache.struts.Globals.MESSAGES_KEY. A partir de Struts 1.1. El bean de configuracin de este objeto Exception. Si se especifica, el objeto debe ser una subclase del bean de configuracin por defecto. A partir de Struts 1.1. Nombre de la propiedad JavaBeans a cuyo mtodo de definicin se llama. Representacin en cadena del valor que se asignar a esta propiedad, despus de realizar la conversin adecuada. Contiene una breve descripcin (una lnea) del elemento, adecuado para utilizar en herramientas GUI. Contiene un texto descriptivo (un prrafo) sobre el elemento, adecuado para utilizar en herramientas GUI. Especifica la ubicacin, relativa al archivo de configuracin Struts, de un recurso que contiene una imagen de un icono grande (32x32 pxeles), adecuada para utilizarla en herramientas GUI. Especifica la ubicacin, relativa al archivo de configuracin Struts, de un recurso que contiene una imagen de icono pequeo (16x16 pxeles), adecuada para utilizar en herramientas GUI.

Clave

key

mbito

scope

Conjunto

bundle

Bean de configuracin Definir propiedades Propiedad Valor

className

propertyName propertyValue

Descripcin

Nombre en pantalla Descripcin Icono grande

display-name description large-icon

Icono pequeo

small-icon

C a p t u l o 1 1 : M o d i f i c a c i n d e l a r c h i v o s t r u t s - c o n f i g . x m l

1 1 -1 5

F i c h a R e e n v o s g l o b a l e s ( E d i t o r d e c o n f i g u r a c i n d e S t r u t s )

Men contextual de Excepciones globales


Para abrir el men contextual de Excepciones globales, haga clic con el botn derecho del ratn en el nodo Excepciones globales del panel de estructura o ample el nodo y haga clic con el botn derecho del ratn en un elemento. Los comandos de men disponibles de men varan ligeramente de acuerdo con el nodo seleccionado. En la siguiente tabla se describen los comandos del men contextual: Tabla 11.7 Nodo
Nodo Excepciones globales

Men contextual de Excepciones globales Comando de men Descripcin


Aadir excepcin Abre la ficha General de Excepciones globales del editor, en la que se aade un elemento <global-exception>. Elimina el elemento seleccionado.

Elemento Excepciones globales

Eliminar

Ficha Reenvos globales (Editor de configuracin de Struts)


La ficha Reenvos Globales se utiliza para crear el elemento <global-forwards> del archivo struts-config.xml. El elemento <global-forwards> configura las correspondencias globales de los nombres lgicos (utilizados en la aplicacin) con los recursos correspondientes (identificados por las vas de acceso URI relativas al contexto). Los distintos elementos <forward> del elemento <global-forwards> describen una correspondencia de un nombre lgico (utilizado en la aplicacin) con los recursos correspondientes identificados por las vas de acceso URI relativas al contexto.
Nota

Un elemento <global-forwards> con un nombre en concreto se puede modificar de forma local si se define un elemento <forward> con el mismo nombre dentro de un elemento <action>. Esta es la apariencia de una entrada de ejemplo en struts-config.xml: <global-forwards> <forward name="logon" path="/logon.jsp" redirect="false"/> </global-forwards> Para abrir la ficha Visin general de Reenvos globales del Editor de configuracin de Struts, seleccione el nodo Reenvos globales en el panel de estructura. La ficha Visin general de Reenvos globales muestra los elementos <forward>. Esta ficha se utiliza para aadir y eliminar elementos.
s

Si desea aadir un elemento <forward>, pulse el botn Aadir. El elemento nuevo se aade con el nombre por defecto /forward. Para modificar un elemento recin aadido o ya presente, seleccinelo y pulse Modificar. Para eliminar un elemento, seleccinelo y pulse Eliminar.

11-1 6

Gua del desarrollador de aplicaciones web

F i c h a R e e n v o s g l o b a l e s ( E d i t o r d e c o n f i g u r a c i n d e S t r u t s )

Figura 11.8 Ficha Visin general de Reenvos globales

La ficha General de Reenvo se utiliza para configurar los atributos de un elemento. La ficha General tiene este aspecto: Figura 11.9 Ficha General

C a p t u l o 1 1 : M o d i f i c a c i n d e l a r c h i v o s t r u t s - c o n f i g . x m l

1 1 -1 7

F i c h a R e e n v o s g l o b a l e s ( E d i t o r d e c o n f i g u r a c i n d e S t r u t s )

En la siguiente tabla se describen los atributos de la ficha: Tabla 11.8 Atributos de Reenvo Nombre del campo
Nombre

Nombre de la pestaa
N/P

Nombre del atributo name

Descripcin
Identificador nico de forward, utilizado para referirse a l en las clases action de una aplicacin. La va de acceso relativa al contexto del recurso relacionado. Si el atributo de la va de acceso en una aplicacin modular comienza con una barra diagonal (/) y se considera relativa a toda la aplicacin web y no slo al mdulo, asigne el valor true o yes a este campo. A partir de Struts 1.1. Asgnele el valor true si se utiliza sendRedirect() para reenviar este recurso, o false si se utiliza RequestDispatcher.forward(). Nombre completo de la clase Java de la clase de implementacin ActionForward que se utiliza. Toma por defecto el valor configurado como el parmetro de inicializacin forward del servlet del controlador Struts. Nombre de la propiedad JavaBeans a cuyo mtodo de definicin se llama. Representacin en cadena del valor que se asignar a esta propiedad, despus de realizar la conversin adecuada. Contiene una breve descripcin (una lnea) del elemento, adecuado para utilizar en herramientas GUI. Contiene un texto descriptivo (un prrafo) sobre el elemento, adecuado para utilizar en herramientas GUI. Especifica la ubicacin, relativa al archivo de configuracin Struts, de un recurso que contiene una imagen de un icono grande (32x32 pxeles), adecuada para utilizarla en herramientas GUI. Especifica la ubicacin, relativa al archivo de configuracin Struts, de un recurso que contiene una imagen de icono pequeo (16x16 pxeles), adecuada para utilizar en herramientas GUI.

Va de acceso Relativo al contexto

path contextRelative

Desviar

redirect

Bean de configuracin

className

Definir propiedades

Propiedad Valor

propertyName propertyValue

Descripcin

Nombre en pantalla

display-name

Descripcin

description

Icono grande

large-icon

Icono pequeo

small-icon

11-1 8

Gua del desarrollador de aplicaciones web

Ficha Action (Editor de configuracin de Struts)

Men contextual de Reenvos globales


Para abrir el men contextual de Reenvos globales, haga clic con el botn derecho del ratn en el nodo Reenvos globales del panel de estructura o ample el nodo y haga clic con el botn derecho del ratn en un elemento. Los comandos de men disponibles de men varan ligeramente de acuerdo con el nodo seleccionado. En la siguiente tabla se describen los comandos del men contextual: Tabla 11.9 Nodo
Nodo Reenvos globales

Men contextual de Reenvos globales Comando de men


Aade un reenvo

Descripcin
Abre la ficha General, en la que se aade un elemento <global-forward>. Elimina el elemento seleccionado.

Elemento Reenvos globales

Eliminar

Ficha Action (Editor de configuracin de Struts)


La ficha Action se utiliza para crear el elemento <action-mappings> de struts-config.xml. El elemento <action-mappings> configura las correspondencias de las vas de acceso a las peticiones enviadas con las clases Action que se deben utilizar para procesar estas solicitudes. Esta es la apariencia de una entrada de ejemplo en struts-config.xml: <action-mappings> <action name=submitForm type=myproject.SubmitAction input=/submit.jsp scope=request path=/submit> <forward name="success" path="/submit.jsp"/> <forward name=failure path=/error.jsp /> </action> </action-mappings>

Ficha de visin general


Para abrir la ficha Visin general de Correspondencias Action del Editor de configuracin de Struts, seleccione el nodo Correspondencias Action en el panel de estructura. La ficha Visin general de Correspondencias Action muestra los elementos <action>. Esta ficha se utiliza para aadir y eliminar elementos.
s

Si desea aadir un elemento <action>, pulse el botn Aadir. El elemento nuevo se aade con el nombre por defecto /action. Para modificar un elemento recin aadido o ya presente, seleccinelo y pulse Modificar. Para eliminar un elemento, seleccinelo y pulse Eliminar.

C a p t u l o 1 1 : M o d i f i c a c i n d e l a r c h i v o s t r u t s - c o n f i g . x m l

1 1 -1 9

F i c h a A c t i o n ( E d i t o r d e c o n f i g u r a c i n d e S t r u t s )

Figura 11.10 Ficha Visin general de Correspondencias Action

El elemento <action-mappings> se puede crear y modificar de dos formas:


s s

Se puede utilizar el diseador de arrastre de la ficha Diseador de Action. Se pueden introducir valores en los campos de la ficha General.

Ficha Diseador de Action


La ficha Diseador de Action abre el Diseador de Action, un diseador visual que permite modificar el elemento <action-mapping> seleccionado. sta es la vista por defecto. Si desea ms informacin, consulte Diseador de Action en la pgina 12-5.

11-2 0

Gua del desarrollador de aplicaciones web

Ficha Action (Editor de configuracin de Struts)

Ficha General
La ficha General de Action se utiliza para configurar los atributos de un elemento. La ficha General tiene este aspecto: Figura 11.11 Ficha General de Action

En la siguiente tabla se describen los atributos de la ficha: Tabla 11.10 Atributos de Action Nombre de la Nombre del campo pestaa
N/P Va de acceso

Nombre del atributo path

Descripcin
La va de acceso relativa al contexto de la solicitud enviada, que comienza con una barra diagonal (/), sin la extensin de archivo si se utiliza la correspondencia de extensiones. Nombre completo de la clase Java de la clase Action que se utiliza para procesar las solicitudes de esta correspondencia. Si se selecciona este campo, los campos Reenvo e Incluir no estn disponibles.

Clase de implementacin type

C a p t u l o 1 1 : M o d i f i c a c i n d e l a r c h i v o s t r u t s - c o n f i g . x m l

1 1 -2 1

F i c h a A c t i o n ( E d i t o r d e c o n f i g u r a c i n d e S t r u t s )

Tabla 11.10 Atributos de Action (continuacin) Nombre de la pestaa Nombre del campo
Adelante

Nombre del atributo forward

Descripcin
Va de acceso relativa al contexto del recurso servlet o JSP que procesa esta solicitud, en lugar de instanciar y llamar a la clase Action especificada en el campo Clase de implementacin. Si se selecciona este campo, los campos Clase de implementacin e Incluir no estn disponibles. Va de acceso relativa al contexto del recurso servlet o JSP que procesa esta solicitud, en lugar de instanciar y llamar a la clase Action especificada en el campo Clase de implementacin. Si se selecciona este campo, los campos Clase de implementacin y Reenvo no estn disponibles. Nombre completo de la clase Java de la clase de implementacin ActionMapping que se utiliza. Toma por defecto el valor configurado como parmetro de inicializacin mapping en el servlet del controlador Struts. Un parmetro de configuracin general que se puede utilizar para pasar informacin adicional a la Action seleccionada por esta correspondencia. Se establece en true o yes si esta accin se configura por defecto para esta aplicacin, con el fin de gestionar todas las solicitudes que ninguna otra accin gestiona. Slo se puede definir una accin por defecto dentro de una aplicacin. Una lista delimitada por comas de los nombres de competencias de seguridad que tienen acceso a este objeto ActionMapping. A partir de Struts 1.1. Nombre del form bean, si lo hay, asociado con esta accin. Prefijo utilizado para realizar correspondencias entre nombres de parmetros de solicitud y nombres de propiedades form bean, si los hay. Es optativo si se utiliza el campo Form Bean; si no, no est disponible. Identificador del mbito (request o session) en el que se accede al form bean, si lo hay. Es optativo si se utiliza el campo Form Bean; si no, no est disponible. Va de acceso relativa al contexto del formulario de entrada al que se devuelve el control si se encuentra un error de validacin. Es necesario si se utiliza el campo Form Bean y el bean de entrada devuelve errores de validacin. Es optativo si se utiliza el campo Form Bean y el bean de entrada no devuelve errores de validacin. No se admite si no se utiliza el campo Form Bean.

Incluir

include

Bean de configuracin

className

Parmetro

parameter

Gestionar peticiones desconocidas

unknown

Competencias

competencias

Pestaa Form Bean

Form Bean Prefijo

name prefix

mbito

scope

Entrada

input

11-2 2

Gua del desarrollador de aplicaciones web

Ficha Action (Editor de configuracin de Struts)

Tabla 11.10 Atributos de Action (continuacin) Nombre de la pestaa Nombre del campo
Atributo

Nombre del atributo attribute

Descripcin
Nombre del atributo de mbito de peticin o mbito de sesin bajo el que se accede a este form bean, si es distinto del nombre que aparece en el campo Form Bean. Es optativo si se utiliza el campo Form Bean; si no, no est disponible. Se utiliza para asociar nombres de parmetros de peticiones con nombres de propiedades de form bean, si los hay. Es optativo si se utiliza el campo Form Bean; si no, no est disponible. Se configura en true o yes si se llama al mtodo validate() del form bean antes de llamar a esta accin; se configura en false o no si no se desea realizar la validacin. Nombre de la propiedad JavaBeans a cuyo mtodo de definicin se llama. a esta propiedad, despus de realizar la conversin adecuada.

Sufijo

suffix

Validar

validate

Definir propiedades

Propiedad Valor

propertyName

propertyValue Representacin en cadena del valor que se asignar


La va de acceso relativa al contexto del recurso relacionado. Modifica de forma lgica un forward global con el mismo nombre. El identificador nico de este forward Modifica de forma lgica un forward global con el mismo nombre. La clave que se utiliza para recuperar el texto de un mensaje desde un recurso de mensajes. A partir de Struts 1.1. El nombre completo de clase de la clase de excepcin. A partir de Struts 1.1. Contiene una breve descripcin (una lnea) del elemento, adecuado para utilizar en herramientas GUI. Contiene un texto descriptivo (un prrafo) sobre el elemento, adecuado para utilizar en herramientas GUI. Especifica la ubicacin, relativa al archivo de configuracin Struts, de un recurso que contiene una imagen de un icono grande (32x32 pxeles), adecuada para utilizarla en herramientas GUI. Especifica la ubicacin, relativa al archivo de configuracin Struts, de un recurso que contiene una imagen de icono pequeo (16x16 pxeles), adecuada para utilizar en herramientas GUI.

Reenvos

Va de acceso

path

Nombre

name

Excepciones

Clave

key

Escriba Descripcin Nombre en pantalla Descripcin

type display-name description

Icono grande

large-icon

Icono pequeo

small-icon

C a p t u l o 1 1 : M o d i f i c a c i n d e l a r c h i v o s t r u t s - c o n f i g . x m l

1 1 -2 3

Ficha Controlador (Editor de configuracin de Struts)

Men contextual de Actions


Para abrir el men contextual de la ficha Actions, haga clic con el botn derecho del ratn en el nodo Actions del panel de estructura o ample el nodo y haga clic con el botn derecho del ratn en un elemento. Los comandos de men disponibles de men varan ligeramente de acuerdo con el nodo seleccionado. En la siguiente tabla se describen los comandos del men contextual: Tabla 11.11 Men contextual de Actions Nodo
Nodo Actions Nodo Actions Elemento Actions Elemento Actions Elemento Actions

Comando de men Descripcin


Aade una accin Asistente para Action Aadir excepcin Aade un reenvo Eliminar Abre la ficha General de Action, en la que se aade un elemento <action>. Abre el Asistente para Action, en el que se crea una clase Action. Aade un elemento <exception>. Aade un elemento <global-forward> al action seleccionado. Elimina el elemento seleccionado.

Ficha Controlador (Editor de configuracin de Struts)


La ficha Controlador se utiliza para crear el elemento <controller> de struts-config.xml. El elemento <controller> describe el bean org.apache.struts.config.ControllerConfig que encapsula la configuracin de ejecucin de un mdulo de aplicaciones. Este elemento se incorpora a partir de Struts 1.1. Esta es la apariencia de una entrada de ejemplo en struts-config.xml: <controller processorClass=org.apache.struts.action.RequestProcessor /> Para abrir la ficha General de Controlador del Editor de configuracin de Struts, seleccione Controlador en el panel de estructura. Es esta imagen se muestra la pestaa Configuracin avanzada de esa ficha:

11-2 4

Gua del desarrollador de aplicaciones web

F i c h a C o n t r o l a d o r ( E d i t o r d e c o n f i g u r a c i n d e S t r u t s )

Figura 11.12 Ficha General de Controlador

En la siguiente tabla se describen los atributos de la ficha: Tabla 11.12 Atributos de Controlador Nombre de la pestaa
N/P

Nombre del campo


Clase del procesador

Nombre del atributo processorClass

Descripcin
El nombre completo de clase Java de la subclase RequestProcessor que se utiliza con este mdulo. Por defecto es

org.apache.struts.action.RequestProcessor.
Definir propiedades Propiedad Valor

propertyName propertyValue

Nombre de la propiedad JavaBeans a cuyo mtodo de definicin se llama. Representacin en cadena del valor que se asignar a esta propiedad, despus de realizar la conversin adecuada. El tamao del bfer de entrada que se utiliza al procesar las cargas de archivos. El tamao por defecto es 4096 KB. Nombre completo de clase Java de la subclase ControllerConfig para este objeto de controlador. Si se especifica, el objeto debe ser una subclase de

Configuracin avanzada

Tamao del bfer

bufferSize

Bean de configuracin

className

org.apache.struts.config.ControllerConfig.

C a p t u l o 1 1 : M o d i f i c a c i n d e l a r c h i v o s t r u t s - c o n f i g . x m l

1 1 -2 5

Ficha Controlador (Editor de configuracin de Struts)

Tabla 11.12 Atributos de Controlador (continuacin) Nombre de la pestaa Nombre del campo
Contenido Tipo

Nombre del atributo contentType

Descripcin
Tipo de contenido por defecto y codificacin optativa de caracteres que se establece en cada respuesta. Puede redefinirse por Action, JSP u otro recurso al que se reenve la peticin. Por defecto es text/html. Nivel de detalle de depuracin para este mdulo. Por defecto est configurado en 0. En el caso de Struts 1.1 se ha desaconsejado. Configure el nivel de detalle de seguimiento en su implementacin de seguimiento subyacente. Patrn de sustitucin que define cmo se mapea el atributo page de un elemento forward a una direccin URL relativa al contexto cuando empieza con una barra y la propiedad contextRelative tiene el valor false. Este valor puede consistir en cualquier combinacin de lo siguiente: s - $M: sustituido por el prefijo del mdulo de este mdulo. s - $P: sustituido por el atributo path del elemento forward seleccionado. s - "$$": hace que se represente un signo de dlar. s - $x: donde x es cualquier carcter no definido anteriormente. s Espacio en blanco: reservado para uso futuro. Si no se especifica, el valor por defecto es $M$P. A partir de Struts 1.1. Asgnele el valor true o yes si desea que el atributo input de los elementos action sea el nombre de un ActionForward global o local, que se utiliza para calcular la direccin URL final. Asgnele el valor false (por defecto) para tratar el parmetro input de un elemento action como una va relativa al mdulo de acceso al objeto de recursos que se utiliza como formulario de entrada. A partir de Struts 1.1. Asigne el valor true o yes si desea que un objeto Locale se almacene en la sesin del usuario si todava no est presente. Por defecto est configurado en true. El tamao mximo (en bytes) de un archivo para que se acepte como una carga de archivo. Se puede expresar como un nmero seguido de la letra K, M o G, que representan kilobytes, megabytes o gigabytes respectivamente. El tamao por defecto es de 250M.

Depurar

depurar

Adelante modelos

forwardPattern

Reenvo de entrada

inputForward

Idioma

versin localizada maxFileSize

Tamao mximo de archivo

11-2 6

Gua del desarrollador de aplicaciones web

F i c h a C o n t r o l a d o r ( E d i t o r d e c o n f i g u r a c i n d e S t r u t s )

Tabla 11.12 Atributos de Controlador (continuacin) Nombre de la pestaa Nombre del campo
Tamao mximo de memoria de archivo

Nombre del atributo memFileSize

Descripcin
El tamao mximo (en bytes) de un archivo cuyo contenido se mantiene en la memoria despus de la carga. Los archivos de tamao superior se guardan en un soporte de almacenamiento alternativo, que normalmente es un disco duro. Se puede expresar como un nmero seguido de la letra K, M o G, que representan kilobytes, megabytes o gigabytes respectivamente. El tamao por defecto es de 256 K. El nombre completo de clase Java de la clase del manejador de peticiones multiparte que se utiliza con este mdulo. Por defecto es

Configuracin avanzada (continuacin)

Clase multiparte

multipartClass

Nocache

nocache

org.apache.struts.upload.CommonsMultipartReq uestHandler. Asigne el valor true o yes si desea que el


controlador aada cabeceras HTTP para evitar que las respuestas de este mdulo se guarden en cach. Por defecto se le asigna false.

Patrn de pgina

pagePattern

Patrn de sustitucin que define cmo se establece la correspondencia entre el atributo page de las etiquetas personalizadas y una direccin URL relativa al contexto del recurso correspondiente. Este valor puede consistir en cualquier combinacin de lo siguiente: s - $M: sustituido por el prefijo del mdulo de este mdulo. s - $M: sustituido por el prefijo del mdulo de este mdulo. s - "$$": hace que se represente un signo de dlar. s - $x: donde x es cualquier carcter no definido anteriormente. s Espacio en blanco: reservado para uso futuro. Si no se especifica, el valor por defecto es $M$P. Directorio temporal de trabajo que se utiliza al procesar cargas de archivos. El directorio por defecto es el que suministra el contenedor de servlets.

Directorio temporal de trabajo

tempDir

C a p t u l o 1 1 : M o d i f i c a c i n d e l a r c h i v o s t r u t s - c o n f i g . x m l

1 1 -2 7

F i c h a R e c u r s o s d e m e n s a j e s ( E d i t o r d e c o n f i g u r a c in d e S t r u t s )

Configuracin de las propiedades Set


Los botones Aadir, Modificar y Eliminar se utilizan para configurar y modificar las propiedades Set. Un elemento <set-property> especifica el nombre del mtodo y el valor inicial de una propiedad de configuracin JavaBean adicional. Para manipular elementos <set-property>, seleccione la pestaa Propiedades set.
s

Pulse Aadir para aadir una propiedad Set. La propiedad se aade automticamente con la propiedad por defecto property y el valor value. Para modificar una propiedad Set, seleccinela y pulse Modificar. Aparece el cuadro de dilogo Modificar set property, en el que se pueden cambiar la propiedad y el valor. Para eliminar una propiedad Set, seleccinela y pulse Eliminar.

Ficha Recursos de mensajes (Editor de configuracin de Struts)


La ficha Recursos de mensajes se utiliza para crear el elemento <message-resources> de struts-config.xml. El elemento <message-resources> describe un objeto MessageResources con plantillas de mensajes para este mdulo. Este elemento se incorpora a partir de Struts 1.1. Esta es la apariencia de una entrada de ejemplo en struts-config.xml: <message-resources <parameter=resources.application /> <message-resources <parameter=resources.image /> Para que se abra la ficha de descripcin general de Recursos de mensajes del Editor de configuracin de Struts, seleccione el nodo Recursos de mensajes en el panel de estructura. La ficha de descripcin general de Recursos de mensajes muestra los elementos <message-resources>. Esta ficha se utiliza para aadir y eliminar elementos.
s

Si desea aadir un elemento <message-resources>, pulse el botn Aadir. El elemento nuevo se aade con el nombre por defecto parameter. Para modificar un elemento recin aadido o ya presente, seleccinelo y pulse Modificar. Para eliminar un elemento, seleccinelo y pulse Eliminar.

11-2 8

Gua del desarrollador de aplicaciones web

Ficha Recursos de mensajes (Editor de configuracin de Struts)

Figura 11.13 Ficha de descripcin general de Recursos de mensajes

La ficha General de Recursos de mensajes se utiliza para configurar los atributos de un elemento. La ficha General tiene este aspecto: Figura 11.14 Ficha General de Recursos de mensajes

En la siguiente tabla se describen los atributos de la ficha:


C a p t u l o 1 1 : M o d i f i c a c i n d e l a r c h i v o s t r u t s - c o n f i g . x m l 1 1 -2 9

F i c h a R e c u r s o s d e m e n s a j e s ( E d i t o r d e c o n f i g u r a c in d e S t r u t s )

Tabla 11.13 Atributos de Recursos de mensajes Nombre de la pestaa


N/P

Nombre del campo


Parmetro Clave

Nombre del atributo parameter key

Descripcin
Parmetro de configuracin que se pasa al mtodo createResources del objeto de factora. Atributo del contexto del servlet en el que se almacena este conjunto de recursos de mensajes. El atributo por defecto es el valor que especifica la constante de cadena en Globals.MESSAGES_KEY. El prefijo del mdulo de la aplicacin, si lo hay, se aade a la clave, org.apache.struts.Globals.MESSAGES_KEY. Nota: El prefijo del mdulo de la aplicacin incluye la barra inicial, con lo que el conjunto de recursos de mensajes por defecto para un mdulo de nombre test se almacena en org.apache.struts.action.MESSAGE/test. El bean de configuracin para este objeto de recursos de mensajes. Si se especifica, el objeto debe ser una subclase del bean de configuracin por defecto,

Bean de configuracin

className

org.apache.struts.config.MessageResourcesConfi g.
Factora

factory

Nombre completo de clase Java de la subclase MessageResourcesFactory que se utiliza para este objeto de recursos de mensajes. Por defecto es

Null

null

org.apache.struts.util.PropertyMessageResource sFactory. Asigne el valor true o yes para que devuelva una
cadena nula para claves de mensajes desconocidas, o false o no para que devuelva un mensaje con el valor de clave errneo.

Definir propiedades

Propiedad Valor

propertyName propertyValue

Nombre de la propiedad JavaBeans a cuyo mtodo de definicin se llama. Representacin en cadena del valor que se asignar a esta propiedad, despus de realizar la conversin adecuada.

11-3 0

Gua del desarrollador de aplicaciones web

F i c h a P l u g I n s ( E d i t o r d e c o n f i g u r a c i n d e S t r u t s )

Men contextual de Recursos de mensajes


Para abrir el men contextual de la ficha Recursos de mensajes, haga clic con el botn derecho del ratn en el nodo Recursos de mensajes del panel de estructura o ample el nodo y haga clic con el botn derecho del ratn en un elemento. Los comandos de men disponibles de men varan ligeramente de acuerdo con el nodo seleccionado. En la siguiente tabla se describen los comandos del men contextual: Tabla 11.14 Men contextual de Recursos de mensajes Nodo
Elemento Recursos de mensajes

Comando de men
Aadir recursos de mensajes

Descripcin
Abre la ficha General de Recursos de mensajes, en la que se aade un elemento <message-resources>. Elimina el elemento seleccionado.

Elemento Recursos de mensajes

Eliminar

Ficha Plug Ins (Editor de configuracin de Struts)


La ficha Plug Ins se utiliza para crear el elemento <plug-in> de struts-config.xml. El elemento <plug-in> especifica el nombre completo de clase de un mdulo plug-in de aplicaciones de propsito general que recibe notificacin de sucesos de inicio y apagado de aplicaciones. Para cada elemento se crea una instancia de la clase especificada, que se puede configurar con elementos <set-property> anidados. Este elemento se incorpora a partir de Struts 1.1. Esta es la apariencia de una entrada de ejemplo en struts-config.xml: <plug-in className=org.apache.struts.validator.ValidatorPlugIn> <set-property property=pathName value=/WEB-INF/validator-rules.xml /> </plug-in> Para abrir la ficha General Plug Ins del Editor de configuracin de Struts, seleccione el nodo Plug Ins en el panel de estructura. La ficha Visin general de Plug Ins muestra los elementos <plug-ins>. Esta ficha se utiliza para aadir y eliminar elementos.
s

Si desea aadir un elemento <plug-in>, pulse el botn Aadir. El elemento nuevo se aade con el nombre por defecto org.apache.struts.Plugin. Para modificar un elemento recin aadido o ya presente, seleccinelo y pulse Modificar. Para eliminar un elemento, seleccinelo y pulse Eliminar.

C a p t u l o 1 1 : M o d i f i c a c i n d e l a r c h i v o s t r u t s - c o n f i g . x m l

1 1 -3 1

F i c h a P l u g I n s ( E d i t o r d e c o n f i g u r a c i n d e S t r u t s )

Figura 11.15 Ficha General de Plug Ins

La ficha General de Plug Ins se utiliza para configurar los atributos de un elemento. La ficha General tiene este aspecto: Figura 11.16 Ficha General de Plug In

11-3 2

Gua del desarrollador de aplicaciones web

F i c h a P l u g I n s ( E d i t o r d e c o n f i g u r a c i n d e S t r u t s )

En la siguiente tabla se describen los atributos de la ficha: Tabla 11.15 Atributos de Plug Ins Nombre del campo
Clase de implementacin de Plug-In

Nombre del atributo className

Descripcin
Nombre completo de clase Java de la clase plug-in; debe implementar

org.apache.struts.action.PlugI n.
Propiedad

propertyName

Nombre de la propiedad JavaBeans a cuyo mtodo de definicin se llama. Representacin en cadena del valor que se asignar a esta propiedad, despus de realizar la conversin adecuada.

Valor

propertyValue

Men contextual de Plug Ins


Para abrir el men contextual de la ficha Plug Ins, haga clic con el botn derecho del ratn en el nodo Plug In del panel de estructura o ample el nodo y haga clic con el botn derecho del ratn en un elemento. Los comandos de men disponibles de men varan ligeramente de acuerdo con el nodo seleccionado. En la siguiente tabla se describen los comandos del men contextual: Tabla 11.16 Men contextual de Plug Ins Nodo
Nodo Plug In Nodo Plug In

Comando de men
Aadir Plug In Aadir Plug In Tiles

Descripcin
Abre la ficha General de Plug In, en la que se aade un elemento <plug-in>. Abre la ficha General de Plug In, con el valor de Clase de implementacin de plug-in establecido en

org.apache.struts.tiles.TilesPlugi n.
Nodo Plug In Aadir Plug In Validator Abre la ficha General de Plug In, con el valor de Clase de implementacin de plug-in establecido en

org.apache.struts.validator.Valida torPlugIn.
Elemento Plug In Eliminar Elimina el elemento seleccionado.

C a p t u l o 1 1 : M o d i f i c a c i n d e l a r c h i v o s t r u t s - c o n f i g . x m l

1 1 -3 3

M o d i f i c a c i n d e l a r c h i v o t i l e s - d e f . x m l

Modificacin del archivo tiles-def.xml


Struts 1.1 proporciona una biblioteca de plantillas llamada Tiles, que permite construir vistas combinando varias capas de presentacin. Tiles genera la funcin include de JSP para proporcionar un marco de trabajo para ensamblar pginas de presentacin a partir de las partes que las componen. Cada parte o Tile se puede reutilizar en la aplicacin tan a menudo como se necesite. Esto facilita el diseo y la actualizacin del aspecto de la aplicacin web. Una definition de Tiles permite especificar un diseo como pgina de plantilla o como JavaBean. El archivo tiles-def.xml se utiliza para declarar elementos definition para la presentacin. Si desea ms informacin, consulte el formato del descriptor de distribucin de Tiles, en http://jakarta.apache.org/ struts/dtds/tiles-config_1_1.dtd. Tambin puede consultar:
s s

Tiles Tags en http://jakarta.apache.org/struts/userGuide/dev_tiles.html. Page Composition with Tiles en http://jakarta.apache.org/struts/userGuide/ building_view.html#Tiles.

ste es el aspecto de una entrada de ejemplo de tiles-def.xml: <definition name=welcomeLayout page=/layouts/myLayout.jsp> <put name=title value=Hello World /> <put name=header value=/tiles/header.jsp /> <put name=footer value=/tiles/footer.jsp /> <put name=menuvalue=/tiles/menu.jsp /> <put name=body value=/tiles/helloBody.jsp /> </definition> Para aadir un archivo tiles-def.xml a la aplicacin web, seleccione la opcin Tiles al elegir el marco de trabajo Struts 1.1 en la ficha Configurar parmetros del mdulo web del Asistente para mdulos web. Tambin se pueden aadir archivos Tiles directamente en la carpeta /WEB-INF del mdulo web. Si desea obtener ms informacin, consulte Adicin de descriptores de distribucin Struts al mdulo web en la pgina 7-4 y Registro de descriptores de distribucin Struts en la pgina 7-4.
Importante

Si se utiliza una capa Tiles, tambin se debe utilizar la clase org.apache.struts.tiles.TilesPlugin como elemento plug-in en el archivo struts-config.xml.

Ficha de visin general


Para abrir la ficha Visin general de Definition de Tiles del Editor de configuracin de Struts, seleccione el nodo tiles-def.xml en el panel de estructura. De esta forma se abre la ficha Visin general. Esta ficha se utiliza para aadir y eliminar elementos definition.
s

Si desea aadir un elemento <definition>, pulse el botn Aadir. El elemento se aade con el nombre por defecto definition. Para modificar un elemento recin aadido o ya presente, seleccinelo y pulse Modificar.

11-3 4

Gua del desarrollador de aplicaciones web

Modificacin del archivo tiles-def.xml


s

Para eliminar un elemento, seleccinelo y pulse Eliminar.

Figura 11.17 Ficha Visin general de Definitions de Tiles

El elemento <definition> se puede modificar de dos formas:


s s

Se puede utilizar el diseador de arrastre de la ficha Diseador de Tiles. Se pueden introducir valores en los campos de la ficha General.

Ficha Diseador de Tiles


JBuilder proporciona un Diseador de Definition de Tiles que permite modificar de forma visual los elementos definition del archivo tiles-def.xml. Para abrir el diseador, haga doble clic en el archivo tiles-def.xml de la carpeta Directorio del mdulo del mdulo web. A continuacin, haga doble clic en un elemento <definition>, en el panel de estructura. Aparece el diseador visual. sta es la vista por defecto. Si desea ms informacin, consulte Diseador de Tiles en la pgina 12-13.

C a p t u l o 1 1 : M o d i f i c a c i n d e l a r c h i v o s t r u t s - c o n f i g . x m l

1 1 -3 5

M o d i f i c a c i n d e l a r c h i v o t i l e s - d e f . x m l

Ficha General
La ficha General de Tiles se utiliza para configurar los atributos de un elemento. La ficha General tiene este aspecto: Figura 11.18 Ficha General de Tiles

En la siguiente tabla se describen los atributos de la ficha: Tabla 11.17 Atributos de Definition de Tiles Nombre de la pestaa
N/P

Nombre del campo


Nombre Va de acceso

Nombre del atributo name path

Descripcin
El identificador irrepetible de este elemento definition. La va de acceso relativa al contexto al recurso utilizado como piezas (tiles) para insertar. Estas piezas se insertan, y aparece un contexto de tiles con los atributos adecuados. Nombre de una definicin que se utiliza como antecesora de sta. Todos los atributos del antecesor estn disponibles para la nueva definicin. Cualquier atributo heredado del antecesor se puede sobrecargar mediante un nuevo valor.

Ampla

extends

11-3 6

Gua del desarrollador de aplicaciones web

Modificacin del archivo tiles-def.xml

Tabla 11.17 Atributos de Definition de Tiles (continuacin) Nombre de la pestaa Nombre del campo
Competencia

Nombre del atributo role

Descripcin
El nombre de la competencia de seguridad que tiene acceso a este objeto definition. La definicin se inserta nicamente si se admite el nombre de la competencia. El nombre completo de clase Java de la subclase del controlador al que se llama inmediatamente antes de insertar las piezas (tiles). Slo se debe especificar controllerClass o controllerUrl. La va de acceso relativa al contexto para el recurso que se utiliza como controlador, al que se llama inmediatamente antes de insertar las piezas (tiles). Slo se debe especificar controllerClass o controllerUrl. Igual que path. Igual que path. Para que sea compatible con la biblioteca de etiquetas de la plantilla. El identificador irrepetible de este elemento put. El valor asociado con este atributo de tiles. El valor debe especificarse con este atributo de etiqueta, o en el cuerpo de la etiqueta. El tipo del valor. Puede ser: string, page, template o definition. Por defecto, no se asocia ningn tipo con un valor. Si se asocia un tipo, se utiliza como recomendacin para procesar el valor cuando el atributo se utiliza en las piezas (tiles) insertadas.

Clase del controlador

controllerClass

N/P

URL del controlador

controllerUrl

Pgina Plantilla Pestaa Put Nombre Valor

page template name value

Escriba

type

Contenido Directo Pestaa Put Lists Pestaa Descripcin Nombre Nombre en pantalla

contenido direct name display-name

Igual que value. Para que sea compatible con la biblioteca de etiquetas de la plantilla. Igual que type=string.. Para que sea compatible con la biblioteca de etiquetas de la plantilla. El identificador irrepetible de este elemento putList. Contiene una breve descripcin (una lnea) del elemento, adecuado para utilizar en herramientas GUI. Contiene un texto descriptivo (un prrafo) sobre el elemento, adecuado para utilizar en herramientas GUI. Especifica la ubicacin, relativa al archivo de configuracin Struts, de un recurso que contiene una imagen de un icono grande (32x32 pxeles), adecuada para utilizarla en herramientas GUI. Especifica la ubicacin, relativa al archivo de configuracin Struts, de un recurso que contiene una imagen de icono pequeo (16x16 pxeles), adecuada para utilizar en herramientas GUI.

Descripcin

description

Icono grande

large-icon

Icono pequeo

small-icon

C a p t u l o 1 1 : M o d i f i c a c i n d e l a r c h i v o s t r u t s - c o n f i g . x m l

1 1 -3 7

M o d i f i c a c i n d e l a r c h i v o t i l e s - d e f . x m l

Para aadir un elemento Put, pulse el botn Aadir de la pestaa Put, seleccinelo y pulse Modificar. Aparece la ficha General de Put, en la que se pueden cambiar los atributos del elemento put. Estos atributos son los mismos que los que aparecen en la pestaa Put. Para modificar un elemento, seleccinelo en el panel de estructura y pulse Modificar. Para aadir un elemento Put List, pulse el botn Aadir de la pestaa Put List, seleccinela y pulse Modificar. Se abre la ficha General de Put List, en la que se pueden aadir elementos. El cuadro de dilogo Nuevo elemento PutList se utiliza para aadir elementos. Para modificar un elemento, seleccinelo en el panel de estructura y pulse Modificar.

Configuracin de los atributos de las propiedades


Los botones Aadir, Modificar y Eliminar se utilizan para configurar y modificar los atributos de propiedades en las fichas Put y Put Lists.
s

Si desea aadir un atributo de propiedad, pulse el botn Aadir. Se aade automticamente una propiedad con el valor por defecto name. Para modificar un atributo de una propiedad, haga clic en el atributo al que desea asignar un nuevo valor. Tambin se puede pulsar el botn Modificar para ver los atributos como campo en una nueva ficha, en la que se pueden cambiar los propiedades y el valor. Para eliminar una propiedad, seleccinela y pulse Borrar.

Men contextual de Definition de Tiles


Para abrir el men contextual de Definition de Tiles, haga clic con el botn derecho del ratn en el nodo Tiles Forwards del panel de estructura o ample el nodo y haga clic con el botn derecho del ratn en un elemento. Los comandos de men disponibles de men varan ligeramente de acuerdo con el nodo seleccionado. En la siguiente tabla se describen los comandos del men contextual: Tabla 11.18 Men contextual de Definition de Tiles Nodo
nodo tiles-def.xml Elemento Definition Elemento Definition Elemento Definition

Comando de men
Aadir Definition Aadir Put Aadir Put List Eliminar

Descripcin
Abre la ficha General de Definition, en la que se aaden elementos <definition>. Aade un elemento put. Aade un elemento putList. Elimina el elemento seleccionado.

11-3 8

Gua del desarrollador de aplicaciones web

Captulo

Captulo 12

Los diseadores de Struts

Desarrollo web es una funcin de JBuilder Developer y JBuilder Enterprise

Los diseadores de Struts permiten disear de forma visual los elementos de los mdulos web de Struts. Estos diseadores permiten manipular los elementos Action, Form Beans y Tiles con el mtodo de arrastrar y soltar. Si se hace clic en un elemento en el diseador, se abre un inspector en el que se pueden definir las propiedades del elemento. Los diseadores visuales proporcionan vistas por defecto para los elementos de un mdulo web de Struts. Tambin se pueden introducir datos en los campos del Editor de configuracin de Struts. Para acceder a las fichas del editor, haga clic en la pestaa General de la parte superior del editor, junto a la pestaa Diseador. Si desea ms informacin, consulte el Captulo 11, Modificacin del archivo struts-config.xml.

C a p t u l o 1 2 : L o s d i s e a d o r e s d e S t r u t s

1 2 -1

Los diseadores de Struts

Los diseadores visuales de Struts proporcionan una completa superficie de diseo que permite arrastrar los elementos y definir rpidamente sus atributos. La siguiente ilustracin muestra el Diseador de Action: Figura 12.1 Diseador de Action

Los diseadores de Struts tienen el mismo conjunto de funciones, entre las que se incluyen:
s

Sustitutos: indican el tipo de elemento que se puede colocar en la superficie de diseo. Los sustitutos se representan mediante lneas punteadas. Si se coloca un elemento en el sustituto y aparece en la superficie de diseo, dejando el sustituto intacto, se puede aadir otro elemento de ese tipo.

Lneas y flechas: representan el flujo de la aplicacin. Una lnea continua con una flecha que apunta a la derecha indica que el elemento de la izquierda o de encima de otro elemento est asociado de algn modo con el elemento que tiene a la derecha o debajo, por ejemplo, un recurso de entrada, un destino de reenvo o una Action. Iconos de elementos: indican el tipo de elemento. Foco (un solo clic): resalta en rojo el elemento seleccionado. Men contextual (clic con el botn derecho): muestra opciones para los elementos seleccionados.

s s s

12-2

Gua del desarrollador de aplicaciones web

El Inspector
s

Inspector (clic con el botn izquierdo): configura los atributos del elemento seleccionado.

Cambio de diseador (doble clic): pasa el foco al diseador del elemento <action> o <form-bean> seleccionado. Ayuda en pantalla (F1): muestra ayuda sensible al contexto para el Diseador.

El Inspector
Haga clic en cualquier elemento <action> o <form-bean>, en el diseador, para resaltarlo en rojo y abrir un inspector:

El inspector se utiliza para configurar los atributos del elemento. La superficie de diseo vara segn el elemento que se seleccione en el inspector. Por ejemplo, si se est diseando un elemento Action y se utiliza el inspector para asignar el valor Reenvo a Tipo de Action, se actualiza la presentacin para mostrar la nueva relacin. Para salir del inspector, haga clic en un espacio vaco del diseador.

C a p t u l o 1 2 : L o s d i s e a d o r e s d e S t r u t s

1 2 -3

El men contextual

El men contextual
Haga clic con el botn derecho en cualquier elemento, en un diseador, para que se abra un men contextual. El men contextual se utiliza para ver la clase de implementacin del elemento, aadir y eliminar reenvos, excepciones, propiedades de Form y Propiedades de Action Form, y promocionar una excepcin o un reenvo como elemento global.

Arrastre de elementos desde el panel de estructura o el panel del proyecto


Los elementos de Struts se pueden arrastrar a sustitutos en la superficie de diseo. Los elementos de Struts se encuentran en el nodo Form Beans o en el nodo Actions del panel de estructura. Los elementos de Struts tambin se encuentran en el Directorio del mdulo del mdulo web del panel del proyecto.

Nota
12-4

Se puede colocar un elemento sobre otro para sustituirlo.

Gua del desarrollador de aplicaciones web

D i s e a d o r d e Ac t i o n

Diseador de Action
En el modelo Struts, una clase Action define la accin que se va a ejecutar. Por ejemplo, si un usuario pulsa el botn Enviar en un formulario, ese formulario puede apuntar a una accin llamada action.do. Esta accin se dirige al ActionServlet, que busca el elemento Action en el archivo descriptor de distribucin XML. Los datos del formulario se colocan en el FormBean definido en el elemento Action. A continuacin, la accin ejecuta el mtodo execute() (Struts 1.1) o el mtodo perform() (Struts 1.0). El Diseador de Action de JBuilder permite disear los elementos <action> de los mdulos web de Struts. El diseador representa el elemento Action, las JSP que hacen referencia a l, el Form Bean asociado y los elementos Forward y Exception. Para definir el Form Bean utilizado por la Action, arrstrelo del panel de estructura al Form Bean actual o al sustituto del Form Bean. Para definir el destino de reenvo, arrastre un elemento Action del panel de estructura o el Directorio del mdulo del mdulo web al panel del proyecto. Tambin se puede definir arrastrando y colocando JSP, HTML u otros nodos de recursos, como una definicin de Tiles, del nodo Directorio del mdulo del mdulo web al panel del proyecto. El Diseador de Action se puede abrir de varios modos:
s

Cree una clase Action mediante el Asistente para Action. Active la opcin Abrir el Diseador de Action en la primera ficha del asistente. Haga clic con el botn derecho del ratn en el nodo Actions del panel de estructura, en el archivo struts-config.xml, y seleccione Aadir Action. En la ficha Visin general de Action del Editor de configuracin de Struts, pulse Aadir. Escriba el nombre de la Action, seleccinelo y pulse Modificar. Haga doble clic en una Action, en el panel de estructura, en el archivo struts-config.xml. Haga doble clic en una Action en el panel del proyecto.

El Diseador de Action crea un diagrama del elemento <action> seleccionado. Contiene sustitutos para Form Beans, archivos de entrada (JSP o HTML), Forwars y Exceptions. Cuando se hace clic en un elemento Action, Forward o Form Bean se abre un inspector en el que se configuran los atributos del elemento. El diseador muestra iconos de ErrorInsight que facilitan la correccin de los errores de codificacin. Tambin se puede hacer doble clic en un Form Bean o en otra Action para cambiar el foco y disear de forma visual el elemento. La siguiente ilustracin muestra el Diseador de Action del elemento /Welcome de una versin modificada del proyecto Blank de Struts. Observe cmo las lneas y las flechas forman un diagrama del flujo de la aplicacin El cuadro de

C a p t u l o 1 2 : L o s d i s e a d o r e s d e S t r u t s

1 2 -5

Diseador de Action

lneas punteadas indica un sustituto. Los iconos representan Actions, Form Beans y archivos JSP.

En la siguiente tabla se explican los iconos que se utilizan en el Diseador de Action. Tabla 12.1 Icono Iconos del Diseador de Action Descripcin
El elemento Action. El Form Bean que utiliza esta Action. Un recurso de entrada o de reenvo, como un archivo JSP o HTML. Una Definition de Tiles, que a menudo es el destino de un reenvo. Un error. Haga clic para que se abran las opciones de ErrorInsight.

Adicin de un Form Bean a una Action


Un Form Bean proporciona datos de entrada a uno o varios elementos Action. Para seleccionar un Form Bean para utilizar con una Action:

1 Haga doble clic en el nodo Actions del panel de estructura. 2 Haga doble clic en el elemento <action> que desea disear. Se abre el
Diseador de Action. Aparece un sustituto para el elemento <form bean>:

3 Seleccione el Form Bean que desea utilizar en el nodo Form Beans del
panel de estructura.

12-6

Gua del desarrollador de aplicaciones web

D i s e a d o r d e Ac t i o n

4 Arrastre el Form Bean a la ubicacin del sustituto en el Diseador de


Action y haga clic. (Tambin se puede colocar un elemento sobre otro para sustituirlo.) El Form Bean reemplaza al sustituto:

Haga clic en el Form Bean aadido para abrir el inspector y configurar los atributos.

Adicin de un destino de reenvo a una Action


Las acciones devuelven un objeto ActionForward que indica adnde se debe reenviar el control. El destino de reenvo puede ser un archivo JSP o HTML, u otro nodo de recursos. Para elegir un destino de reenvo para una Action:

1 Haga doble clic en el nodo Actions del panel de estructura. 2 Haga doble clic en el elemento <action> que desea disear. Se abre el
Diseador de Action. Aparece un sustituto para el elemento <adelante>:

3 Seleccione el destino de reenvo en el nodo Actions del panel de estructura


o en el Directorio del mdulo del mdulo web, en el panel del proyecto.

4 Arrastre el elemento a la ubicacin del sustituto en el Diseador de Action.


(Tambin se puede colocar un elemento sobre otro para sustituirlo.) El destino de reenvo se aade al diseo y el elemento se aade a Action. El sustituto sigue disponible, lo que indica que se pueden aadir ms elementos <adelante>.

C a p t u l o 1 2 : L o s d i s e a d o r e s d e S t r u t s

1 2 -7

Diseador de Action

Haga clic en el destino de reenvo recin aadido para abrir el inspector y configurar los atributos.
Nota

Tambin se puede hacer clic con el botn derecho del ratn en el elemento Action, en la superficie de diseo, y seleccionar Aadir reenvo para aadir el destino de reenvo.

Adicin de recursos de entrada a una Action


Se puede utilizar un archivo JSP, HTML o de otro tipo como recurso de entrada para Action. ste es el archivo que se va a utilizar para mostrar los errores de validacin. Para crear un recurso de entrada:

1 Haga doble clic en el nodo Actions del panel de estructura. 2 Haga doble clic en el elemento <action> que desea disear. Se abre el
Diseador de Action. Aparece un sustituto para el elemento <entrada>:

3 Seleccione el archivo que se va a utilizar como recurso en el nodo


Directorio del mdulo del mdulo web del panel del proyecto.

4 Arrastre el elemento hasta la ubicacin del sustituto en el Diseador de


Action y haga clic. (Tambin se puede colocar un elemento sobre otro para sustituirlo.) El recurso de entrada reemplaza al sustituto:

Adicin de excepciones a una Action


Haga clic con el botn derecho del ratn en el elemento Action y seleccione Aadir excepcin. Haga clic en la excepcin para configurar sus atributos. Se puede arrastrar al Diseador la JSP que informar al usuario del error.

12-8

Gua del desarrollador de aplicaciones web

D i s e a d o r d e Ac t i o n

Presentacin de la clase de implementacin


Haga clic con el botn derecho del ratn en el elemento Action y seleccione Ver clase de implementacin. La clase de implementacin aparece en el editor.

El Inspector de Action
El inspector de Action permite configurar los atributos del elemento action. Cuando se hace clic en el elemento se abre el siguiente inspector:

En la siguiente tabla se explican los atributos de los elementos: Tabla 12.2 Campo
Va de acceso

Atributos de Action Descripcin


La va de acceso relativa al contexto de la solicitud enviada, que comienza con una barra diagonal (/), sin la extensin de archivo si se utiliza la correspondencia de extensiones. Nombre completo de la clase Java de la clase Action que se utiliza para procesar las solicitudes de esta correspondencia. Si se selecciona este campo, los campos Reenvo e Incluir no estn disponibles. Va de acceso relativa al contexto del recurso servlet o JSP que procesa esta solicitud, en lugar de instanciar y llamar a la clase Action especificada en el campo Clase de implementacin. Si se selecciona este campo, los campos Clase de implementacin e Incluir no estn disponibles. Va de acceso relativa al contexto del recurso servlet o JSP que procesa esta solicitud, en lugar de instanciar y llamar a la clase Action especificada en el campo Clase de implementacin. Si se selecciona este campo, los campos Clase de implementacin y Reenvo no estn disponibles.

Clase de implementacin

Adelante

Incluir

C a p t u l o 1 2 : L o s d i s e a d o r e s d e S t r u t s

1 2 -9

Diseador de Form Bean

Tabla 12.2 Campo

Atributos de Action (continuacin) Descripcin


Nombre completo de la clase Java de la clase de implementacin ActionMapping que se utiliza. Toma por defecto el valor configurado como parmetro de inicializacin mapping en el servlet del controlador Struts. Un parmetro de configuracin general que se puede utilizar para pasar informacin adicional a la Action seleccionada por esta correspondencia. Se establece en true o yes si esta accin se configura por defecto para esta aplicacin, con el fin de gestionar todas las solicitudes que ninguna otra accin gestiona. Slo se puede definir una accin por defecto dentro de una aplicacin. Una lista delimitada por comas de los nombres de competencias de seguridad que tienen acceso a este objeto ActionMapping. A partir de Struts 1.1.

Bean de configuracin

Parmetro

Gestionar peticiones desconocidas Competencias

Diseador de Form Bean


En el modelo Struts, un Form Bean es una clase ActionForm que contiene datos de entrada. (Tambin puede ser una clase DynaBean que no requiere una clase ActionForm personalizada.) Las clases ActionForm proporcionan propiedades que mantienen el estado del formulario con mtodos de obtencin y definicin para acceder a ellas. Las clases ActionForm se pueden guardar en los mbitos de sesin (por defecto) o de peticin. Struts define las propiedades de ActionForm a partir de los parmetros de peticin y enva el formulario validado al mtodo execute() de la clase Action adecuada. El Diseador de Form Bean de JBuilder permite disear los elementos <form-bean> de los mdulos web de Struts. El Diseador de Form Bean representa el elemento Form Bean, cualquier archivo JSP o HTML que hagan referencia a l, los campos de la clase ActionForm y las acciones que utiliza el Form Bean. Para asociar el Form Bean con acciones adicionales, arrastre los elementos <action> del panel de estructura al sustituto de Action. El Diseador de Form Bean se puede abrir de varios modos:
s

Cree un Form Bean mediante el Asistente para ActionForm. Active la opcin Abrir el diseador de form bean en la primera ficha del asistente. Haga clic con el botn derecho del ratn en el nodo Form Beans del panel de estructura, en el archivo struts-config.xml, y seleccione Aadir Form Bean. En la ficha Visin general de Form Beans del Editor de configuracin de Struts, pulse Aadir. Escriba el nombre del Form Bean, seleccinelo y pulse Modificar. Haga doble clic en un Form Bean, en el panel de estructura, para el archivo struts-config.xml.

El Diseador de Form Bean crea un diagrama del elemento <form-bean> seleccionado. Contiene un sustituto para Action. Cuando se hace clic en un elemento Form Bean o Action se abre un inspector en el que se configuran los
12-1 0 Gua del desarrollador de aplicaciones web

Diseador de Form Bean

atributos del elemento. El diseador muestra iconos de ErrorInsight que facilitan la correccin de los errores de codificacin. Tambin se puede hacer doble clic en una Action o en otro Form Bean para cambiar el foco y disear de forma visual el elemento. La siguiente ilustracin muestra el Diseador de Form Bean del elemento <form-bean> de un proyecto sencillo de Struts. Observe cmo las lneas y las flechas forman un diagrama del flujo de la aplicacin El cuadro de lneas punteadas indica un sustituto. Los iconos representan Form Beans y Actions.

En la siguiente tabla se explican los iconos que se utilizan en el Diseador de Form Bean. Tabla 12.3 Icono Iconos del Diseador de Form Bean Descripcin
El elemento Form Bean. La Action que utiliza este Form Bean. Un error. Haga clic para que se abran las opciones de ErrorInsight.

Adicin de un Form Bean a una Action


Nota

Normalmente se aade un Form Bean a una Action mediante el Diseador de Action. Esto se debe a que el Form Bean slo contiene datos. Las acciones determinan los datos que se pasan y el Form Bean que se utiliza. Si desea ms informacin, consulte Adicin de un Form Bean a una Action en la pgina 12-6. El elemento Action proporciona la lgica empresarial del Form Bean, y ste contiene los datos de entrada. La accin especifica el Form Bean que se utiliza. Para especificar el Form Bean que se debe utilizar con una Action:

1 Haga doble clic en el nodo Form Beans, en el panel de estructura. 2 Haga doble clic en el elemento <form-bean> que desea disear. Se abre el
Diseador de Form Bean. Aparece un sustituto para el elemento <action>.

C a p t u l o 1 2 : L o s d i s e a d o r e s d e S t r u t s

1 2 -1 1

Diseador de Form Bean

3 Seleccione la accin que se va a utilizar en el nodo Actions del panel de


estructura o en el Directorio del mdulo del mdulo web, en el panel del proyecto.

4 Arrastre el elemento hasta la ubicacin del sustituto en el Diseador de


Form Bean y haga clic. (Tambin se puede colocar un elemento sobre otro para sustituirlo.) El elemento Action se aade a la superficie de diseo. El sustituto sigue disponible, lo que indica que se pueden aadir ms elementos Action.

Adicin de una propiedad Action Form (Form Bean) a un Form Bean


Las propiedades Action Form se definen para elementos <form-bean>. Las propiedades Action Form, o propiedades Form Bean describen una propiedad que se puede utilizar para obtener o definir propiedades de formularios. Una propiedad Form Bean puede ser un FormBean implementado o un Dynabean.
s

Los FormBean implementados amplan la clase ActionForm. (Esto es lo que crea el Asistente para Action Form.) El Diseador de Form Bean permite aadir, eliminar y renombrar las propiedades del archivo de clase ActionForm. Se puede considerar una versin bidireccional del Asistente para Action Form. Para crear este tipo de Form Bean, utilice el Asistente para Action Form o seleccione la clase ActionForm en el inspector al crear el Form Bean. En el caso de los DynaBeans, las propiedades del archivo .java no se modifican. Todas las definiciones de propiedades se escriben directamente en el archivo XML. Para crear una propiedad de este tipo, seleccione DynaActionForm o una de sus subclases en el inspector al crear el Form Bean.

Nota

Las propiedades se definen del mismo modo para ambos mtodos, aunque la implementacin difiere. Para aadir una propiedad Action Form (FormBean):

1 Haga clic con el botn derecho del ratn en el elemento Form Bean y
seleccione Aadir propiedad ActionForm.

2 Haga clic en la propiedad aadida (el nombre por defecto es property) para
abrir el inspector.
12-1 2 Gua del desarrollador de aplicaciones web

Diseador de Tiles

Presentacin de la clase de implementacin


Haga clic con el botn derecho del ratn en el elemento Form Bean y seleccione Ver clase de implementacin. La clase de implementacin aparece en el editor.

El inspector de Form Bean


El inspector de Form Bean permite configurar los atributos del elemento <form-bean>. Cuando se hace clic en el elemento se abre el siguiente inspector:

En la siguiente tabla se explican los atributos de los elementos: Tabla 12.4


Nombre Clase de implementacin

Atributos de Form Bean Descripcin


Identificador nico del bean, que se usa para referirse a l en las correspondencias Action. Nombre completo de la clase Java de la clase de implementacin que se utiliza o genera.

Nombre del campo

Diseador de Tiles
Nota

Tiles es una funcin de Struts 1.1. Struts 1.1 proporciona una biblioteca de plantillas llamada Tiles, que permite construir vistas combinando varias capas de presentacin, que normalmente son fragmentos de archivos JSP. Por ejemplo, un fragmento de una JSP puede mostrar el encabezado, otro puede mostrar el pie, y otro, el cuerpo de la vista. Tiles genera la funcin include de JSP para proporcionar un marco de trabajo para ensamblar pginas de presentacin a partir de las partes que las componen. Una definition de Tiles permite especificar un diseo como pgina de plantilla o como JavaBean. El archivo tiles-def.xml se utiliza para declarar elementos definition para la presentacin. El Diseador de Tiles permite disear de forma visual el archivo tiles-def.xml. El Diseador de Tiles se puede abrir de varios modos:
s

Haga doble clic en el archivo tiles-def.xml, en el panel del proyecto. Haga clic con el botn derecho del ratn en el nodo, en el panel de estructura, y seleccione Aadir Definition. En la ficha Visin general de Tiles del Editor de configuracin de Struts, pulse Aadir. Escriba el nombre de la Definition, seleccinelo y pulse Modificar. Haga doble clic en una definicin, en el panel de estructura, para el archivo tiles-def.xml.

C a p t u l o 1 2 : L o s d i s e a d o r e s d e S t r u t s

1 2 -1 3

Diseador de Tiles

El Diseador de Tiles crea un diagrama del elemento <definition> seleccionado. Contiene sustitutos para las definiciones del superior y los Puts. Cuando se hace clic en un elemento Definition se abre un inspector en el que se pueden definir los atributos del elemento. Cuando se hace doble clic en un elemento Put se abre el Editor de configuracin de Struts basado en formularios, en el que se pueden introducir los atributos. Si el Put apunta a una JSP, cuando se hace doble clic se abre la JSP en el editor de cdigo fuente, donde se puede modificar el archivo. La siguiente ilustracin muestra el Diseador de Definition. Observe que los valores de los distintos Puts apuntan a fragmentos de JSP que se ensamblan para formar una pgina completa.

En la siguiente tabla se explican los iconos que se utilizan en el Diseador de Tiles. Tabla 12.5 Icono Iconos del Diseador de Tiles Descripcin
Una Definition. Un Put. Una Put List.

12-1 4

Gua del desarrollador de aplicaciones web

Diseador de Tiles

Adicin de definiciones del superior a una definicin


Una definicin del superior es un elemento <definition> del que puede ser heredera la definicin seleccionada. Para seleccionar una definicin del superior:

1 Haga doble clic en el archivo tiles-def.xml, en el panel del proyecto. 2 Haga doble clic en el elemento <definition> que desea disear. Se abre el
Diseador de Tiles. Aparece un sustituto para el elemento <parent-definition>:

3 Seleccione en el panel de estructura el elemento <definition> que desea


utilizar como definicin del superior.

4 Arrstrelo a la ubicacin del sustituto de la definicin del superior en el


Diseador de Tiles y haga clic. (Tambin se puede colocar un elemento sobre otro para sustituirlo.) La definicin del superior reemplaza al sustituto:

Nota

Los Puts que se heredan de la definicin del superior aparecen en gris en la superficie de diseo. Aparecen en cursiva en la lista de Puts del elemento Definition, tal como se muestra anteriormente. Haga clic en la definicin del superior recin aadida para abrir el inspector y configurar los atributos.

C a p t u l o 1 2 : L o s d i s e a d o r e s d e S t r u t s

1 2 -1 5

Diseador de Tiles

Adicin de un Put a una Definition


Un Put es un atributo que se pasa a la pieza (tile), al componente o a la plantilla. Para aadir un Put a una Definition, haga clic con el botn derecho del ratn en la definicin, en el Diseador de Tiles o en el panel de estructura, y seleccione Aadir Put. Se aade un Put automticamente con el nombre por defecto name. Haga clic en el Put recin aadido para abrir el inspector y configurar los atributos. Haga doble clic en l o dirjase al Editor de configuracin de Struts basado en formularios, en el que tambin se pueden configurar los atributos. Tambin se puede arrastrar un archivo JSP o HTML desde la carpeta Directorio del mdulo del panel de estructura, con lo que se crea una referencia al archivo.

El inspector de Tiles
El inspector de Tiles permite definir los atributos del elemento <definition>. Cuando se hace clic en el elemento se abre el siguiente inspector:

En la siguiente tabla se explican los atributos de los elementos: Tabla 12.6


Nombre Va de acceso

Atributos de Definition Descripcin


El identificador irrepetible de este elemento definition. La va de acceso relativa al contexto al recurso utilizado como piezas (tiles) para insertar. Estas piezas se insertan, y aparece un contexto de tiles con los atributos adecuados. Nombre de una definicin que se utiliza como antecesora de sta. Todos los atributos del antecesor estn disponibles para la nueva definicin. Cualquier atributo heredado del antecesor se puede sobrecargar mediante un nuevo valor. El nombre de la competencia de seguridad que tiene acceso a este objeto definition. La definicin se inserta nicamente si se admite el nombre de la competencia.

Nombre del campo

Ampla

Competencia

12-1 6

Gua del desarrollador de aplicaciones web

Diseador de Tiles

Tabla 12.6
Clase del controlador

Atributos de Definition (continuacin) Descripcin


El nombre completo de clase Java de la subclase del controlador al que se llama inmediatamente antes de insertar las piezas (tiles). Slo se debe especificar controllerClass o controllerUrl. La va de acceso relativa al contexto para el recurso que se utiliza como controlador, al que se llama inmediatamente antes de insertar las piezas (tiles). Slo se debe especificar controllerClass o controllerUrl. Igual que va de acceso. Igual que va de acceso. Para que sea compatible con la biblioteca de etiquetas de la plantilla.

Nombre del campo

URL del controlador

Pgina Plantilla

C a p t u l o 1 2 : L o s d i s e a d o r e s d e S t r u t s

1 2 -1 7

12-1 8

Gua del desarrollador de aplicaciones web

Captulo

Captulo 13

InternetBeans Express

InternetBeans Express es una funcin de JBuilder Developer y JBuilder Enterprise

La tecnologa InternetBeans Express se integra en la tecnologa servlet y JSP para ofrecer un valor aadido a sus aplicaciones y simplificar las tareas de desarrollo de servlet y JSP. InternetBeans Express es un conjunto de componentes y extensiones de etiquetas de pginas JavaServer (JSP) utilizado para la generacin de presentaciones y la interaccin con aplicaciones web. Toma pginas estticas de plantilla, inserta contenido dinmico desde un modelo dinmico de datos y lo presenta al cliente; a continuacin, escribe en el modelo los datos que enva el cliente. Esto facilita la creacin de servlets y JSP enlazados a datos. Por ejemplo, se pueden utilizar componentes InternetBeans Express con el fin de crear un servlet que proporcione un formulario de registro para usuarios nuevos, para entrar en una pgina web o una pgina JSP que muestre el resultado de una bsqueda en una tabla. InternetBeans Express contiene soporte incorporado para DataExpress DataSets y DataModules. Tambin puede utilizarse con modelos genricos de datos y EJB. Las clases e interfaces se pueden dividir en tres categoras:
s

Los InternetBeans son componentes que se encargan directamente de la generacin dinmica de marcas y la gestin de semntica de solicitud y respuesta HTTP. Los manejadores de etiquetas JSP, que llaman internamente a InternetBeans, y la infraestructura en la que se basan. Estos son utilizados por las extensiones de etiquetas de JSP en la biblioteca de etiquetas InternetBeans. Aceptacin de modelo de datos.

Tambin existe una biblioteca de etiquetas JSP que contiene extensiones de etiquetas JSP cuyo fin es admitir InternetBeans en una JSP.

Captulo 13: InternetBeans Express

1 3 -1

Descripcin general de las clases de InternetBeans Express

Descripcin general de las clases de InternetBeans Express


InternetBeans Express incluye las siguientes clases: Tabla 13.1 Clases de InternetBeans Express Descripcin
Lee y analiza archivos HTML estticos, de forma que ms adelante pueda regenerarlos insertando contenido dinmico de otros componentes. La mayora de los servlets utiliza un IxPageProducer, que les permite generar la totalidad de la respuesta de una pgina web prediseada, insertando datos dinmicos como cuadros de texto o controles en un formulario. Control genrico que determina, en la ejecucin, el tipo de control HTML al que sustituye y emula. Este componente puede utilizarse en lugar de cualquier otro InternetBean especfico para el control. En un servlet, este componente debe utilizarse con un IxPageProducer. No se necesita un IxPageProducer para utilizar este componente en una JSP. Genera tablas HTML a partir de conjuntos de datos y modelos de tablas.

Tipo de componente IxPageProducer

IxControl

IxTable

IxImage

Representa una imagen que simplemente se muestra o se utiliza como un enlace. Si se quiere utilizar una imagen para enviar un formulario, utilice IxImageButton. Representa un enlace. Si se necesita reescribir una URL, IxLink puede manejarla automticamente efectuando una llamada interna al mtodo HttpServletResponse.encodeURL(). Sustituye el contenido de slo lectura por un atributo ID, probablemente <span>, pero podra ser cualquier otro tipo de elemento. Para los controles de un formulario, utilice IxControl. Representa una casilla de seleccin. XHTML: <input type="checkbox" />

IxLink

IxSpan

IxCheckBox

IxComboBox

Representa un cuadro combinado. XHTML: <select size="1" />

IxHidden

Representa un valor oculto. XHTML: <input type="hidden" />

13-2

Gua del desarrollador de aplicaciones web

D e s c r i p c i n g e n e r a l d e l a s c l a s e s d e I n t e r n e t B e a n s E x p r e s s

Tabla 13.1

Clases de InternetBeans Express (continuacin) Descripcin


Representa una imagen que, cuando se pulsa, enva el formulario. No debe confundirse con una imagen que simplemente se muestra o se utiliza como un enlace; para eso, utilice IxImage. XHTML: <input type="image" /> Si la imagen que coincide con este componente es la imagen que envi el formulario, se activar el suceso submitPerformed() de IxImageButton. Representa un cuadro de lista. XHTML: <select size="3" />

Tipo de componente IxImageButton

IxListBox

IxPassword

Representa un campo de contrasea. XHTML: <input type="password" />

IxPushButton

Representa un botn en el equipo del cliente. XHTML: <input type="button" />

IxRadioButton

Representa un botn de radio. XHTML: <input type="radio" />

IxSubmitButton

Representa un botn de envo en un formulario. XHTML: <input type="submit" /> Si el botn que coincide con este componente fue el botn que envi el formulario, se activar el evento submitPerformed() deIxSubmitButton. Representa un rea de texto. XHTML: <textarea>

IxTextArea

IxTextField

Representa un campo de introduccin de datos. XHTML: <input type="text" />

Captulo 13: InternetBeans Express

1 3 -3

U t i l i z a c i n d e I n t e r n e t B e a n s E x p r e s s c o n s e r v l e t s

Utilizacin de InternetBeans Express con servlets


Los componentes InternetBeans Express simplifican la presentacin de datos dinmicos en pginas web y el envo de datos de pginas web a bases de datos u otros modelos de datos.

Envo de datos con servlets mediante InternetBeans Express


El procesamiento de una HTTP POST es sencillo mediante el mtodo IxPageProducer.servletPost(): ixPageProducer1.servletPost(this, request, response); Debe efectuarse una llamada a este mtodo desde el mtodo doPost() del servlet, junto con cualquier otro cdigo que deba ejecutarse durante la operacin de envo. En el momento del diseo, se debe aadir un IxSubmitButton por cada botn de envo del formulario. Aada un monitor submitPerformed() para cada IxSubmitButtons. El monitor deber llamar al cdigo que se tiene que ejecutar cuando se presiona el botn. Por ejemplo, un botn Siguiente debe ejecutar dataSet.next() y un botn Anterior debe ejecutar dataSet.prior(). En el momento de la ejecucin, cuando se llama al mtodo servletPost(), escribe los nuevos valores del envo en los componentes de InternetBeans correspondientes y transmite esos valores desde el cliente al servidor. A continuacin provoca el suceso submitPerformed adecuado para el botn que ha enviado el formulario. Para enviar y guardar realmente los cambios en el conjunto de datos subyacente, debe llamar a los mtodos post() y saveChanges() del conjunto de datos dentro del mtodo submitPerformed(). Ahora, el mtodo doPost() del servlet puede llamar a doGet() o directamente a IxPageProducer.servletGet(), para representar la pgina nueva.

Anlisis de pginas
A diferencia del analizador de XML, que es estricto, el de HTML es flexible. En concreto, los elementos de HTML (etiquetas) y los nombres de atributos no distinguen entre maysculas y minsculas. Sin embargo, XHTML distingue entre maysculas y minsculas, y los nombres estndar estn en minscula por definicin. Para acelerar el proceso, los nombres de elementos y atributos HTML se convierten a minscula, la norma de XHTML para almacenamiento. Al buscar atributos, se debe utilizar la minscula. Cuando se emparejan los componentes InternetBeans Express con los controles HTML de la pgina, las propiedades definidas en el componente InternetBeans Express tienen preferencia. Cuando se asignan las propiedades en el diseador, debe pensar si quiere redefinir realmente un

13-4

Gua del desarrollador de aplicaciones web

Utilizacin de InternetBeans Express con JSP

atributo de HTML determinado, asignando su propiedad correspondiente en el componente. Por ejemplo, si la pgina web contiene una textarea de un tamao determinado, no es conveniente redefinirlo cuando se genere automticamente el control.

Generacin de tablas
La presentacin de datos en una tabla con un formato determinado es una tarea muy habitual y compleja. Por ejemplo, las filas pueden tener determinadas agrupaciones de celdas y colores alternos. El diseador de pginas web slo necesita proporcionar suficientes filas de ejemplo para presentar el aspecto de la tabla (si hay colores alternos, son dos filas). Cuando el componente IxTable genera la tabla real, este aspecto se repite automticamente. Los visualizadores de celdas se pueden definir por clases, o asignar a cada columna su propio IxTableCellRenderer con el fin de permitir la personalizacin del contenido; por ejemplo, los valores negativos se pueden presentar en rojo (preferiblemente mediante la definicin de hojas de estilo en cascada (CSS) adecuadas en lugar de cambiar el color desde el cdigo). Si desea leer un tutorial sobre el uso de InternetBeans en un servlet, consulte el Captulo 23, Tutorial: Creacin de un servlet con InternetBeans Express.

Utilizacin de InternetBeans Express con JSP


La clave para utilizar InternetBeans Express con JSP est en la biblioteca de etiquetas de InternetBeans Express, definida en el archivo internetbeans.tld. Esta biblioteca contiene un conjunto de etiquetas InternetBeans que puede incluir en su archivo JSP siempre que desee utilizar un componente InternetBeans. Estas etiquetas requieren muy poca codificacin, pero cuando se procesa la JSP dentro de un servlet, dan como resultado la introduccin en el cdigo de unos componentes InternetBeans perfectos. Para usar InternetBeans Express en una JSP, siempre se debe tener una lnea importante de cdigo al principio de la JSP. Es una directiva taglib, que indica que las etiquetas de la biblioteca de etiquetas de InternetBeans Express se utilizarn en la JSP y especifica un prefijo para estas etiquetas. La directiva taglib para usar la biblioteca de etiquetas de InternetBeans tiene este aspecto: <%@ taglib uri="/internetbeans.tld" prefix="ix" %> Si quiere instanciar clases en sus scriptlets y no quiere escribir el nombre completo de la clase, se pueden importar archivos o paquetes a la JSP mediante una directiva page. Esta directiva page puede especificar que el paquete com.borland.internetbeans debe importarse a la JSP. La directiva page debe tener este aspecto: <%@ page import=com.borland.internetbeans.*,com.borland.dx.dataset.*, com.borland.dx.sql.dataset.*" %>

Captulo 13: InternetBeans Express

1 3 -5

U t i l i z a c i n d e I n t e r n e t B e a n s E x p r e s s c o n J S P

Recuerde que las directivas tales como la taglib y la page deben ser siempre las primeras lneas de su JSP. El Asistente para JSP de JBuilder inserta una directiva taglib y una directiva page si se selecciona la biblioteca de etiquetas internetbeans en el paso Modificar los detalles del archivo JSP del asistente. El Asistente para JSP tambin completa el resto de pasos necesarios para configurar la JSP para que utilice InternetBeans Express. Estos pasos son:

1 Aade la biblioteca InternetBeans Express a su proyecto. 2 Asigna la configuracin Incluir todas a las dependencias del mdulo web
para las bibliotecas InternetBeans Express, dbSwing y DataExpress. Esto quiere decir que los archivos jar necesarios se copian al directorio WEB-INF/ lib del mdulo web cuando se compila el proyecto.

3 Se incorpora una correspondencia de bibliotecas de etiquetas entre


internetbeans.tld y WEB-INF/lib/internetbeans.jar al archivo web.xml. Necesita realizar estos pasos si est configurando su JSP para usar InternetBeans Express sin utilizar el Asistente para JSP. A continuacin puede ver el Asistente para JSP con la biblioteca de etiquetas internetbeans seleccionada:

Este es un ejemplo del aspecto que tiene una etiqueta de InternetBeans cuando se utiliza en su JSP: <ix:database id=database1 driver="com.borland.datastore.jdbc.DataStoreDriver" url="jdbc:borland:dslocal:..\\guestbook\\guestbook.jds" username="user"> </ix:database>

13-6

Gua del desarrollador de aplicaciones web

Utilizacin de InternetBeans Express con JSP

Este ejemplo utiliza la etiqueta database. Si realmente estuviera utilizando la etiqueta database en una JSP, en la mayora de los casos ser conveniente anidar otras etiquetas dentro de esta etiqueta, como la etiqueta query. Esto no es necesario, pero hace que el cdigo de la JSP sea ms legible.
Nota

El prefijo ix puede ser cualquier texto. Todo depende del prefijo que se haya indicado en la directiva taglib. El Asistente para JSP utiliza el prefijo ix para la biblioteca de etiquetas internetbeans. Si desea seguir un tutorial sobre este tema, consulte el Captulo 20, Tutorial: Creacin de una JSP con InternetBeans Express.

Tabla de etiquetas de InternetBeans


Las etiquetas incluidas en la biblioteca de etiquetas de InternetBeans Express se describen en la tabla siguiente. Las atributos en negrita son obligatorios. Tabla 13.2 Etiquetas InternetBeans Express Descripcin Atributos
s

Nombre de la etiqueta

base de datos Define una base de datos DataExpress

id - texto usado para identificar esta base de datos. driver - propiedad controlador de la base

de datos.
s s

url - propiedad url de la base de datos. username - el nombre de usario para la base de datos. password - la contrasea para la base de datos. id - texto usado para identificar esta consulta. database - identifica la base de datos a la que pertenece esta consulta. Esta no es necesaria ya que se infiere si la etiqueta query est anidada dentro de la etiqueta database. Si la etiqueta query no est anidada dentro de la etiqueta database, es necesario especificar este atributo. statement - la sentencia de SQL ejecutada por esta consulta.

query

Define un

QueryDataSet de
DataExpress
s

control

Define una IxControl de InternetBeans Express

id - texto usado para identificar este control. tupleModel - el tupleModel para este control. dataSet - identifica el conjunto de datos (consulta) al cual est conectado el control. No es posible tener ambos pero se necesita el dataSet o el tupleModel. columnName - identifica el columnName al cual est conectado el control.

Captulo 13: InternetBeans Express

1 3 -7

U t i l i z a c i n d e I n t e r n e t B e a n s E x p r e s s c o n J S P

Tabla 13.2

Etiquetas InternetBeans Express (continuacin) Descripcin


Define una IxImage de InternetBeans Express

Nombre de la etiqueta image

Atributos
s

id - texto usado para identificar esta imagen. tupleModel - el tupleModel para este control. dataSet - identifica el conjunto de datos (consulta) al cual est conectada esta imagen. No es posible tener ambos pero se necesita el dataSet o el tupleModel. columnName - identifica el columnName al cual est conectada esta imagen. id - texto usado para identificar este botn de envo. methodName - nombre del mtodo que se ejecutar cuando se presione este botn. id - texto usado para identificar esta tabla dataSet - identifica el conjunto de datos
(consulta) al cual est conectada esta tabla. tableModel - el nombre del modelo de datos para esta tabla. Se necesita bien el dataSet o bien el tableModel, pero no es posible tener ambos.

submit

Define una

IxSubmitButton de
InternetBeans Express
s

table

Define una IxTable de InternetBeans Express

s s

Slo hay seis etiquetas en la biblioteca de etiquetas de InternetBeans Express, aunque hay diecisiete componentes de InternetBeans. Esto puede considerarse una gran limitacin, si bien realmente no lo es. La etiqueta control se direcciona hacia una IxControl, que delega en todos las otras InternetBeans especficas de controles. Las nicas InternetBeans que no estn comprendidas en la biblioteca de etiquetas son IxSpan e IxLink. Ninguna de ellas resulta til en una JSP, ya que podra realizar lo mismo de forma sencilla, mediante su propio scriptlet de expresiones JSP. Por supuesto, tambin es posible usar InternetBeans directamente, al igual que cualquier otra clase bean o Java. Es mucho ms conveniente utilizar la biblioteca de etiquetas, que adems realiza algunas tareas adicionales (como mantener el estado de la sesin de entrada de datos).

Formato de internetbeans.tld
Es til saber que siempre se puede ver el cdigo fuente del archivo internetbeans.tld en busca de sugerencias acerca del uso de las diferentes etiquetas. Para hacer esto, bralo en el editor de JBuilder. Este archivo no puede (ni debe) modificarse. El archivo internetbeans.tld se encuentra disponible en internetbeans.jar. No necesita poder ver los contenidos de dicho archivo para utilizar sus etiquetas

13-8

Gua del desarrollador de aplicaciones web

Utilizacin de InternetBeans Express con JSP

en su JSP, pero si desea verlo en el editor, necesita ese paso adicional de incorporacin al proyecto. Para ello:

1 Pulse el botn Aadir Archivos/Paquetes/Clases, que se encuentra en la


barra de herramientas encima del panel del proyecto.

2 En su directorio de proyecto, busque internetbeans.jar. Se encuentra en el


directorio WEB-INF/lib del mdulo web.
Sugerencia

Si no aparece el directorio WEB-INF/lib, abra el cuadro de dilogo Propiedades de Mdulo Web (seleccione Propiedades en el men contextual del nodo del mdulo web) y active Sincronizar el directorio del mdulo con el contenido del recopilatorio en la ficha Generar. Vuelva a generar el proyecto.

3 En el rbol de directorios, expanda el nodo internetbeans.jar. 4 Situado en com.borland.internetbeans.taglib, localice el archivo


internetbeans.tld y seleccinelo.

5 Pulse Aceptar para aadir el archivo a su proyecto.


La informacin de la parte inicial del archivo internetbeans.tld tiene poco inters. La informacin que merece la pena conocer comienza con la primera etiqueta <tag> dentro del archivo. Cada etiqueta <tag> representa una definicin de etiqueta de InternetBeans. Al principio de cada definicin de etiqueta, ver una etiqueta <name> que indica su nombre. La primera es la etiqueta database. Anidadas dentro de cada definicin de etiqueta tambin ver etiquetas <tagclass>, <info> y <attribute>. Para ver un ejemplo del aspecto que tiene una definicin de etiqueta de InternetBeans, consulte el fragmento del archivo internetbeans.tld que define la etiqueta submit a continuacin: <tag> <name>submit</name> <tagclass>com.borland.internetbeans.taglib.SubmitTag</tagclass> <bodycontent>JSP</bodycontent> <info>Submit button or submit image control</info> <attribute> <name>id</name> <required>false</required> <rtexprvalue>false</rtexprvalue> </attribute> <attribute> <name>methodName</name> <required>true</required> <rtexprvalue>false</rtexprvalue> </attribute> </tag> La etiqueta <tagclass> indica el nombre de la clase dentro del paquete com.borland.internetbeans.taglib que es responsable de interpretar esta etiqueta de InternetBeans cuando se usa en una JSP. La etiqueta <info> suministra una descripcin de la etiqueta de InternetBeans.

Captulo 13: InternetBeans Express

1 3 -9

U t i l i z a c i n d e I n t e r n e t B e a n s E x p r e s s c o n J S P

La etiqueta <attribute> describe un atributo para una etiqueta de InternetBeans. Hay una etiqueta <attribute> para cada atributo. Pueden ser consideradas como las propiedades del componente. Ver estas propiedades anidadas dentro de la etiqueta <attribute>. Cada propiedad tiene un nombre, un valor booleano, que indica si es o no una propiedad necesaria y un valor booleano que indica si su valor puede asignarse o no mediante una expresin de java. El nombre se encuentra dentro de la etiqueta <name>, la etiqueta <required> indica si se requiere o no la propiedad y la etiqueta <rtexprvalue> indica si la propiedad puede asignarse o no mediante una expresin de java. Aquellas propiedades que se pueden asignar mediante una expresin requieren un valor literal.

13-1 0

Gua del desarrollador de aplicaciones web

Captulo

Captulo 14

Las applets

El desarrollo de applets es una funcin de todas las ediciones de JBuilder.

Si ya ha intentado escribir applets y distribuirlas en un sitio web, habr notado que, en comparacin con otras aplicaciones, el trabajo con applets requiere solucionar otro tipo de errores para que funcionen. Es en la distribucin y las pruebas de las applets fuera del IDE donde suelen aparecer las dificultades, y si no ha solucionado algunos errores bsicos, el applet no funcionar adecuadamente. Para conseguirlo, hay que saber cmo funcionan las applets y cmo encajar las partes, especialmente en el momento de distribuirlas y cargarlas en un sitio web externo.

Consulte
s s

Tutorial: Creacin de un applet en Introduccin a JBuilder. El Java tutorial en Writing Applets en http://java.sun.com/docs/books/ tutorial/applet/index.html. El sitio web de Sun en http://java.sun.com/applets/index.html. Las preguntas ms frecuentes de Java en http://www.afu.com/javafaq.html. Charlie Calverts Java Madness, Part II: Applets en http://homepages.borland.com/ccalvert/JavaCourse/index.htm. La pgina web Curmudgeon de Rich Wilkman, en http://formlessvoid.com/ jc/. Pgina web de John Moore, Applet design and deployment, en http:// www.microps.com/mps/p_appletdesign.html .

s s s

C a p t u l o 1 4 : L a s a p p l e t s

1 4 -1

Cmo funcionan las applets

Cmo funcionan las applets


Las applets son programas de Java que se almacenan en un servidor de Internet o intranet. Numerosas plataformas cliente las descargan cuando se han ejecutado en una Mquina Virtual Java (MVJ) que ha proporcionado el navegador, que a su vez se est ejecutando en la mquina del cliente. Un Administrador de seguridad supervisa este proceso de transferencia y ejecucin. El Administrador de seguridad impide que las applets realicen determinadas tareas como formatear el disco duro o establecer conexiones con ordenadores no fiables. Si el navegador encuentra una pgina web con un applet, comienza la MVJ y permite su acceso con la informacin que se encuentra en la <etiqueta> applet. El cargador de clases de dentro de la MVJ intenta determinar qu clases son necesarias para el applet. Dentro del proceso de descarga de clases, los archivos de clase se ejecutan para comprobar cules son de una clase vlida y evitar as los cdigos malignos. El applet se ejecuta una vez comprobado todo ello. Naturalmente, esta es una visin muy simplificada de todo el proceso. Este mecanismo de es el valor principal de las applets. No obstante, deben tenerse en cuenta algunas cuestiones propias del desarrollo de un applet con el fin de garantizar una correcta implementacin.

La <etiqueta> applet
Todo lo que necesita saber un applet durante la ejecucin queda determinado por el contenido de la etiqueta <applet> del archivo HTML del applet. Los atributos de la etiqueta le indican qu clase ejecutar, qu recopilatorios (si procede) debe buscar para las clases y la ubicacin de estos recopilatorios y/ o clases. A diferencia de las aplicaciones Java, que utilizan una variable de entorno llamada CLASSPATH para buscar clases, las applets utilizan solamente el atributo codebase en la etiqueta <applet> para especificar dnde buscar las clases necesarias para el applet. La clave para ejecutar un applet consiste precisamente en su capacidad para encontrar las clases que necesita.

Etiqueta <applet> de ejemplo


A continuacin se presenta una sencilla etiqueta <applet> que utiliza los atributos ms comunes: <applet codebase = "." archive = "test.jar" code = "test.Applet1.class" name = "TestApplet"
14-2 Gua del desarrollador de aplicaciones web

La <etiqueta> applet

width = 400 height = 300 vspace = 0 hspace = 0 > <param name = "param1" value = "xyz"> </applet>

Atributos de las etiquetas <applet>


La siguiente tabla describe los parmetros y atributos ms comunes de la etiqueta <applet>. Observe que algunos elementos son necesarios. Tabla 14.1 Elemento codebase Atributos de las etiquetas <applet> Descripcin
Permite especificar para las clases o archivos recopilatorios una ubicacin diferente a la del archivo HTML que contiene la etiqueta <applet>. Esta va de acceso corresponde a la ubicacin del archivo HTML y habitualmente se limita a subdirectorios de la ubicacin del archivo HTML. El codebase se parece a una CLASSPATH en que le dice al navegador dnde buscar las clases. Por ejemplo, si las clases del applet se almacenan en un subdirectorio llamado classes, el atributo codebase es codebase = "classes". El valor . especifica el mismo directorio del archivo HTML que ejecuta el applet. Importante: el atributo es necesario si la clase o los archivos de revisiones se encuentran en un directorio diferente que el archivo HTML del applet. Utilizado para identificar uno o ms archivos (ZIP, JAR o CAB) que contengan las clases que necesita el applet. Los archivos recopilatorios deben colocarse en el directorio especificado por codebase. Se pueden tener varios archivos recopilatorios, separados por comas en el listado: archive="archivo1.jar, archivo2.jar". Importante: este atributo es necesario si el applet se distribuye en archivos recopilatorios. Nota: algunos navegadores antiguos slo admiten archivos ZIP.

archive

code (necesario) Nombre completo de la clase applet que contiene el mtodo init(). Por ejemplo, si la clase Applet1.class forma parte de un paquete llamado test, entonces code sera code="test.Applet1.class". name (optativo) Una cadena que describe el applet. Esta cadena se lee en la
barra de estado del navegador.

width/height
(necesario)

Define el tamao en pxeles asignado al applet en el navegador. Esta informacin tambin se pasa al gestor de diseo del applet.

C a p t u l o 1 4 : L a s a p p l e t s

1 4 -3

La <etiqueta> applet

Tabla 14.1 Elemento

Atributos de las etiquetas <applet> (continuacin) Descripcin


Representa el relleno horizontal o vertical en pxeles alrededor del applet. Resulta til si en la pgina web tiene texto que rodea al applet o si tiene ms de un applet en la pgina. Permite especificar parmetros que puede leer la etiqueta

hspace/vspace
(optativo)

param (optativo)

<applet>. Son similares a la lista de argumentos utilizada por main() en las aplicaciones. Los parmetros tienen dos partes, nombre y valor, ambas cadenas entrecomilladas. nombre se usa en el applet cuando se quiere solicitar un valor. El cdigo del applet debe gestionar las posibles conversiones de String a otro
tipo de dato. Asegrese de que las maysculas y minsculas coinciden en el parmetro HTML y el cdigo applet que lo solicita.

Errores habituales en la etiqueta <applet>


La mayora de los problemas que se producen con la etiqueta <applet> se debe a los siguientes errores:
s

Ausencia de una etiqueta </applet> Si recibe un mensaje de error indicando que falta una etiqueta </applet> en la pgina HTML, compruebe si hay una etiqueta de cierre.

Olvidar que Java diferencia entre maysculas y minsculas La distincin entre maysculas y minsculas es extremadamente importante. Por lo general, las clases combinan maysculas y minsculas mientras que los directorios y los archivos recopilatorios se escriben en minscula. Los nombres de clases, archivos recopilatorios y directorios en la etiqueta <applet> deben ser una imagen exacta de los nombres que aparecen en el servidor web. Si se detecta la mnima diferencia, aparecern mensajes de error del tipo no se encuentra xyz.class. Si la clase se encuentra en el paquete com.mypackage, todos los directorios destinados a admitir esta clase deben crearse y sealarse en minsculas. El desplazamiento de archivos entre plataformas de sistema operativo y por Internet aumenta las posibilidades de que se produzcan errores debidos al uso de maysculas y minsculas. Una vez haya enviado los archivos a la Web, asegrese de que los archivos, directorios y archivos de revisiones tienen los mismos valores de maysculas y minsculas que la mquina local. Adems, si ha recopilado todos sus archivos de clase, asegrese de que la herramienta de recopilacin ha conservado las maysculas y minsculas.

Usar el nombre corto de la clase en el atributo code Debe utilizar el nombre completo porque es el nombre real de la clase. Si el nombre de la clase es Applet1.class y est en el paquete test, entonces debe referenciarlo en el atributo code como test.Applet1.class.

Un valor codebase incorrecto

14-4

Gua del desarrollador de aplicaciones web

Los navegadores

El codebase se resuelve contra el directorio que contiene el archivo HTML, formando de manera efectiva una entrada classpath. El valor codebase no es una URL ni otro tipo de referencia. En el ejemplo de applet del apartado anterior se utilizaba codebase = .. Esto especifica que los archivos que necesita el applet se encuentran en el mismo directorio del archivo HTML o, si no se ha especificado el archivo recopilatorio, los archivos se encuentran en subdirectorios de paquetes apropiados, con respecto al que contiene el archivo HTML.
s

Ausencia de un atributo archive Si el applet se distribuye en uno o ms archivos JAR o ZIP, debe aadir el atributo archive al archivo HTML.

Ausencia de comillas en los valores utilizados para code, codebase, archive, name, etc. Con el fin de obtener una mejor compatibilidad con XHTML, se recomienda usar comillas tambin con los nmeros.

Los navegadores
Una de las principales acciones para que las applets funcionen durante la ejecucin consiste en resolver los problemas que plantean los navegadores que albergan las applets. El grado de compatibilidad de los navegadores en relacin con el kit de desarrollo de Java (JDK) es muy variable, adems de que no todos implementan Java del mismo modo. Las cuestiones ms frecuentes que encontrar con respecto a los navegadores incluyen permitir la utilizacin de Java, obtener el navegador preferido por el usuario final, admitir mltiples navegadores y las diferencias en la implementacin de Java.

Compatibilidad con Java


Uno de los problemas ms frecuentes con las applets es que las versiones del JDK no coinciden plenamente en el applet y el navegador que lo ejecuta. Son muchos los usuarios que no trabajan con la ltima versin de su navegador. Estos navegadores quiz no sean compatibles con los nuevos JDK de Sun. Swing, introducido en JDK 1.1.7, quiz no sea admitido por muchos navegadores. El error que aparecer con ms frecuencia en alguna clase de los paquetes java.* es NoClassDefFoundError, porque el Cargador de clases determin la necesidad de una clase o mtodo Java que no admite el JDK del navegador. Los JDK 1.2, 1.3 y 1.4.x todava no son plenamente compatibles con todos los navegadores. Aunque prcticamente todas las ltimas versiones de los navegadores admiten Java, conviene que se informe sobre cul es la versin especfica de Java compatible con el navegador en el que se ejecutar el applet. Esto es importante para que tome las medidas necesarias con el fin de garantizar la compatibilidad entre la versin del JDK utilizada en el applet y el JDK admitido por los navegadores.

C a p t u l o 1 4 : L a s a p p l e t s

1 4 -5

Los navegadores

Para saber qu versin de JDK admite el navegador, compruebe la Consola Java en el navegador o la pgina Web del navegador. Para abrir la Consola Java, lleve a cabo una de las acciones siguientes:
s

Seleccione Communicator|Herramientas|Consola de Java en las versiones antiguas de Netscape o, bien, Tareas|Herramientas|Consola de Java en las versiones ms recientes. Seleccione Ver|Consola Java en Internet Explorer.

Con el Plug-in de Java de Sun se soluciona el problema de incompatibilidad de JDK descargando siempre la misma versin en todos los ordenadores de los usuarios finales.

Obtencin del navegador apropiado


En principio, los clientes deben instalar una versin mnima del navegador. Si ya estn acostumbrados a un determinado navegador, deber convencerlos de que los trastornos que pueda crear conseguir las actualizaciones se vern compensados por el valor de su applet. Cada vez que se actualiza el navegador es necesario descargar la actualizacin del navegador y/o instalar un parche.

Compatibilidad con varios navegadores


Si opta por que su applet sea compatible con ms de un navegador, deber brindar algn tipo de asistencia. Esto significa que si los usuarios tienen problemas relacionados con el navegador que utiliza su applet, llamarn para solicitarla.

Diferencias en la implementacin de Java


Existe una serie de pautas y especificaciones sobre las prestaciones que deben suministrar los navegadores, pero la implementacin de stos y sus extensiones queda en manos del fabricante del navegador. Una de las diferencias que existen entre los navegadores es la implementacin del Administrador de seguridad y los niveles de seguridad. Lo que en un navegador se permite con una seguridad media podra no estar permitido en otro. El ajuste de la seguridad se realiza en el equipo cliente y cada navegador lo resuelve de forma diferente. Por ejemplo, el mecanismo para rebajar un poco la seguridad en un applet es la autenticacin. Autenticar un applet, y lograr que el navegador acepte dicha firma, le otorga ms flexibilidad al applet. El mecanismo apropiado se incluye en Java con la utilidad Javakey. Lamentablemente, los navegadores no estn obligados a utilizar este mecanismo. De hecho, algunos utilizan sus propios mecanismos de autenticacin que slo funcionan en su navegador. Otra diferencia es que los fabricantes de navegadores modifican a veces algunas funciones bsicas de Java o incluso excluyen algunas de ellas. Esto
14-6 Gua del desarrollador de aplicaciones web

Los navegadores

puede dar lugar a comportamientos inesperados durante la ejecucin. Por ejemplo, podra tener llamadas a la funcin pintar que no se producen con lo que el applet aparecera de modo extrao o incluso ni se vera. Podra tratar de corregir el cdigo para cada situacin especfica, pero esto no siempre es posible. Adems, en funcin de la plataforma en la que se implemente Java, su utilizacin puede variar notablemente aunque se trabaje con el mismo navegador. Por ejemplo, un applet multi-hilo puede ejecutarse en una plataforma, pero debido a problemas del modelo de proceso de conexin en una plataforma diferente, es posible que los procesos se ejecuten secuencialmente en una plataforma diferente. A menudo, los navegadores no se actualizan para todas las plataformas a la vez, por lo que las actualizaciones de las plataformas menos utilizadas pueden aparecer ms tarde. Estas diferencias incrementan el tiempo que debe invertir en tareas de comprobacin y depuracin con un navegador determinado.

Soluciones a los problemas con los navegadores


En esta seccin se ofrecen soluciones a los problemas que podra encontrar al ejecutar su applet en un navegador.
s

Utilice el Plug-in de Java. La mayora de los problemas con los navegadores se puede resolver con el Plug-in de Java, que se encuentra en http://java.sun.com/products/ plugin/ Este plug-in proporciona archivos recopilatorios actualizados del JDK, lo que resulta de gran utilidad si sus applets utilizan Swing (JFC). Deber modificar los archivos HTML para que el applet utilice el plug-in. Sun proporciona una utilidad que realiza la conversin de forma rpida y sencilla. Si desea ms informacin sobre el Convertidor HTML, consulte http://java.sun.com/j2se/1.4.2/docs/guide/plugin/developer_guide/ html_converter.html. El uso del Plug-in de Java es la nica manera de disponer del mismo JDK en los diferentes navegadores. Adems, generalmente el JDK que se obtiene es ms reciente que el JDK del navegador. Algunas extensiones incorporadas por los fabricantes de navegadores pueden no funcionar del mismo modo con el plug-in. La primera vez que un usuario final encuentre una pgina que interpreta el Plug-in de Java, se le solicitar que instale el plug-in. Una vez instalado, el equipo cliente dispondr localmente de una MV oficial de Sun y del JDK ms reciente (incluido Swing). Esto slo se utilizar en las pginas que interpreten el plug-in, pero reduce la descarga en el navegador de la tecnologa ms reciente del JDK.

Importante

Existen varias versiones de plug-in: JDK 1.1.x, 1.2.x, 1.3.x y 1.4.x. Se debe utilizar la versin que coincida con el JDK del applet. Adems, la versin del Convertidor HTML debe coincidir con la versin del plug-in. Observe

C a p t u l o 1 4 : L a s a p p l e t s

1 4 -7

Consejos adicionales para que funcionen las applets

tambin que slo puede tener una versin del Plug-in en la mquina cliente.
s

Utilice la misma versin del JDK admitido en los navegadores. Evitar muchos problemas al escribir applets utilizando el mismo JDK que admiten los navegadores. JBuilder Developer y Enterprise le permiten cambiar la versin de JDK utilizada para el desarrollo. Aunque JBuilder Personal no admite el cambio de JDK, s permite editar el JDK en uso. Consulte Herramientas|Configurar JDK y Modificacin del JDK en el captulo Creacin y gestin de proyectos de Creacin de aplicaciones con JBuilder.

Instale en el ordenador cliente las clases que no pertenecen al grupo principal de Java. Cada navegador tiene un directorio que Java utiliza en las bsquedas basadas en CLASSPATH por lo que, si se colocan all los grandes archivos de revisiones que utiliza localmente el applet, el cliente no tendr que descargarlos. Esto es posible slo en un entorno Intranet, o cuando desde Internet trabaje slo con clientes conocidos (como en un servicio basado en suscripciones). Sin embargo, esto dificulta las futuras actualizaciones del cdigo.

Seleccione un navegador. Los usuarios deben utilizar slo un navegador para minimizar la necesidad de cdigo y mantenimiento especiales. Normalmente esto slo es posible en una intranet en la que el administrador del sistema puede establecer la poltica interna.

Use Java Web Start. Java Web Start es una tecnologa de distribucin de Sun Microsystems. Permite ejecutar applets (y aplicaciones) Java en el navegador web desde un enlace en una pgina web. Java Web Start resuelve el problema de la falta de coincidencia de la versin del JDK. Si el navegador tiene el plug-in de Java Web Start, puede descargar automticamente el JDK apropiado para ejecutar el applet. Si desea obtener ms informacin sobre Web Start, consulte el Captulo 16, Ejecucin de aplicaciones web con Java Web Start, y visite la pgina Java Web Start en http://java.sun.com/products/javawebstart/.

Consejos adicionales para que funcionen las applets


A continuacin se incluyen algunos consejos adicionales para evitar problemas durante el desarrollo y distribucin de las applets:
s

Site los archivos en la ubicacin correcta. Un problema comn con un applet distribuida es colocar los archivos en la ubicacin equivocada (por ejemplo, no se puede encontrar xyz.class). Todo est relacionado con el archivo HTML que abre el applet. Si no existe

14-8

Gua del desarrollador de aplicaciones web

Consejos adicionales para que funcionen las applets

un atributo CLASSPATH que ayude a encontrar las clases del applet, el applet se basa en los atributos codebase y code del archivo HTML para localizar las clases que necesita en la ejecucin. Por lo tanto, antes de comenzar la distribucin, es importante situar los archivos en la ubicacin correcta. El proceso de distribucin le puede resultar ms fcil si configura un entorno de trabajo que refleje las condiciones reales que tendr el applet una vez distribuido, con lo que el desarrollo se acerca un poco ms a la distribucin instantnea. Por ejemplo, cuando el valor de codebase es ., el navegador busca la clase y los archivos recopilatorios del applet en el mismo directorio que el archivo HTML. Tambin, si la clase est en un paquete, el navegador construye una va de acceso al directorio subordinado al directorio del archivo HTML de acuerdo con la estructura del paquete. Si utiliza el Asistente para applets de JBuilder, ste crea automticamente la estructura de este archivo. Cuando el applet est generado y en ejecucin en esta posicin, se pueden recopilar todos los elementos en un archivo JAR o ZIP. Luego, salga de JBuilder y pruebe el applet con los navegadores que vaya a utilizar.
Sugerencia

Es mejor utilizar una copia de la pgina HTML que se encuentra en el servidor, en el proyecto local, en vez de emplear una pgina experimental, ms sencilla. Esto aumenta el realismo de la prueba externa. Cuando est satisfecho, enve por todo el directorio a la pgina Web.
s

Utilice paquetes. Siempre debe utilizar paquetes cuando escriba cdigo en Java con el fin de organizar las clases similares. Esto facilita su localizacin y simplifica la distribucin. Los paquetes tambin contribuyen a evitar conflictos con los nombres de clases ya que el nombre del paquete precede al nombre de la clase en Java.

Utilice el navegador ms actual. Conozca los navegadores en los que se ejecutar su applet. Si utiliza herramientas actuales como JBuilder, probablemente genere cdigo JDK 1.3x o posterior y le harn falta los navegadores ms actuales para ejecutar sus applets. Asegrese de proporcionar el parche o el plug-in ms recientes para que coincidan la versin de JDK del navegador y la del applet. Consulte el Plug-in de Java que se encuentra en la direccin http://java.sun.com/ products/plugin/.

Haga coincidir las maysculas/minsculas. Recuerde que Java distingue maysculas y minsculas. Compruebe que todas las maysculas y minsculas de los nombres de clases, paquetes, archivos recopilatorios y directorios de la etiqueta <applet> coinciden exactamente con los nombres del servidor.

Utilice recopilatorios. Los recopilatorios simplifican la distribucin porque slo hay que cargar el archivo HTML y el archivo recopilatorio. Tambin aceleran el proceso de descarga del cliente; se descarga un archivo comprimido en lugar de los diferentes archivos de clase no comprimidos. Compruebe siempre la

C a p t u l o 1 4 : L a s a p p l e t s

1 4 -9

La seguridad y el Administrador de seguridad

precisin de la estructura de directorios y de las maysculas y minsculas de los nombres de archivo en el archivo recopilatorio. Si desea mas informacin sobre la creacin de archivos recopilatorios, consulte Distribucin de las applets en la pgina 14-13 y Distribucin de applets en JBuilder en la pgina 14-24.
Importante
s

Las versiones ms antiguas de algunos navegadores no admiten varios archivos recopilatorios y slo admiten archivos ZIP no comprimidos. Distribuya todo. A menos que escriba algo que slo utilice clases bsicas de Java, debe distribuir en la web todos los archivos que necesite su applet. Por supuesto, debe distribuirlo todo en la ubicacin adecuada. Consulte Distribucin de las applets en la pgina 14-13 para obtener ms informacin.
s

Vuelva a comprobar el applet despus de distribuirlo en el servidor. No es suficiente con probarlo localmente. Tambin debe probarlo en varios navegadores despus de distribuirlo en el servidor. Esto es esencial si desea asegurarse de que todas las clases necesarias para el applet se distribuyen adecuadamente en el servidor y que la etiqueta <applet> coincide con la distribuida en el servidor, adems de encontrar posibles problemas relacionados con el navegador. Si desea ms informacin, consulte Comprobacin de las applets en la pgina 14-14.

La seguridad y el Administrador de seguridad


La seguridad es un aspecto importante cuando se ejecutan programas en Internet. Los usuarios se muestran extremadamente cautelosos a la hora de descargar y ejecutar en su equipo programas desconocidos, sin una garanta de seguridad que impida sucesos como la destruccin de archivos por parte de estos programas o la transferencia de informacin personal desde el ordenador. La seguridad representa una ventaja para el desarrollador porque, sin ella, muchos de los usuarios finales no permitiran que las applets se ejecutaran en sus equipos. No obstante, tambin le aporta varias desventajas, especialmente si el desarrollador no est al tanto de las restricciones al comenzar el proyecto. Muchas actividades que se dan por hechas en una aplicacin, se denegarn en un applet.

El espacio de contencin
Las applets resuelven este asunto ejecutando todo el cdigo no fiable en un entorno seguro denominado espacio de contencin. En este lugar, las applets permanecen bajo la atenta mirada del administrador de seguridad. El Administrador de seguridad protege el ordenador cliente de los programas

14-1 0

Gua del desarrollador de aplicaciones web

La seguridad y el Administrador de seguridad

dainos que podran eliminar archivos, leer informacin protegida o hacer algo que constituya una violacin del modelo de seguridad utilizado. A su vez, las restricciones impuestas por el Administrador de seguridad limitan lo que puede hacer un applet. Ahorrar tiempo y dinero si comprende estas limitaciones antes de escribir applets. Las applets, al igual que cualquier herramienta, realizan determinadas tareas muy bien. Sin embargo, si se intenta utilizar un applet en el contexto equivocado, slo habr problemas.

Restricciones de las applets


Por defecto, todas las applets son no fiables y se impide que realicen determinadas actividades, como:
s

Leer y escribir en el disco local. No se pueden leer archivos, comprobar su existencia, escribir archivos, cambiar sus nombres, etc.

Conectarse con un ordenador que no sea el de procedencia del applet. Esto dificulta acceder a datos de una base que no resida en el servidor web.

Existen otras actividades que los desarrolladores de aplicaciones dan por descontadas (como la ejecucin de programas del sistema local, para ahorrar tiempo) que no se permiten con las applets. Un buen libro sobre Java incluir todas las restricciones que tienen las applets. Si percibe que est intentando evadir el control del Administrador de seguridad en algn punto de su planificacin, es preferible que considere escribir una aplicacin en lugar de un applet. Sun se ha esforzado mucho para definir su modelo de seguridad e identificar los bits de informacin clave, o tipos de datos, de los que dependen conjuntos completos de la funcionalidad. Por lo tanto, resulta muy difcil engaar al modelo de seguridad.

Soluciones a problemas de seguridad


Para gestionar problemas de seguridad:
s

Autentifique el applet. Esto le permitir mitigar algunas de las restricciones planteadas por el Administrador de seguridad. Tiene algunas desventajas, como es la carencia de un mecanismo de autenticacin estndar que funcione en todos los navegadores. Si desea obtener ms informacin acerca de la autenticacin de archivos recopilatorios de applets, visite la sede web de su navegador. Si desea ms informacin sobre la firma de applets, consulte Code signing for Java applets, en http://www.suitable.com/docs/ signing.html.

Logre que los usuarios cambien el modelo de seguridad en su ordenador.

Captulo 14: Las applets

1 4 -1 1

La seguridad y el Administrador de seguridad

Los navegadores tienen parmetros que pueden utilizarse para ajustar el modelo de seguridad. Estos parmetros incluyen desde opciones muy simples que pueden ser elevada, media y baja hasta estructuras bastante flexibles. Lamentablemente, estos valores se aplican por igual a todas las applets. Aunque los usuarios pueden confiar en que su applet no resultar daina con un nivel de seguridad bajo, es difcil convencerlos de que piensen lo mismo sobre todas las applets que puedan encontrarse.
s

Utilice otras tecnologas para evitar al Administrador de seguridad. Por ejemplo, si se necesita simplemente devolver datos al servidor, escriba aplicaciones Java que se ejecuten en el servidor, como los servlets, con las que se comunique su applet. Este cdigo en el servidor no tiene las limitaciones del applet y puede ser bastante potente. Las aplicaciones en Java para el servidor requieren que tenga acceso al equipo servidor o trabaje con un PSI (Proveedor de servicios Internet) flexible y abierto.

Reconozca las tareas no adecuadas para las applets. La recoleccin de datos de formularios en la web y la recogida de esos datos probablemente es una tarea ms adecuada para los servlets o las Pginas JavaServer (JSP). Las operaciones complejas, como la utilizacin de bases de datos, requieren que en el servidor est disponible software adicional como JDBC. Es una solucin ms compleja, pero sin ella, las acciones normales de una base de datos, como el envo de nuevos datos, no son posibles con las applets. Si se est escribiendo un servlet o una JSP que utilice JDBC para conectar con una base de datos, se debera considerar la posibilidad de utilizar InternetBeans Express para crear un servlet o una JSP con enlace a datos. Consulte los captulos restantes en este manual si desea obtener ms informacin sobre estos temas.

Considere la posibilidad de escribir una aplicacin, un servlet o una JSP en lugar de un applet. La ventajas de las aplicaciones Java, incluido el acceso completo al lenguaje Java y la ausencia de problemas de seguridad, pueden superar las ventajas de las applets en determinadas situaciones. Los servlets y las JSP tambin tienen ventajas sobre las applets. No dependen del JDK del navegador del cliente, ya que Java se ejecuta en el servidor. Tambin, las servlets y las JSP son a menudo mas rpidas porque no necesitan descargarse en el navegador del cliente, como les ocurre a las applets.

14-1 2

Gua del desarrollador de aplicaciones web

Utilizacin de bibliotecas de terceros

Utilizacin de bibliotecas de terceros


Las bibliotecas de terceros son una gran ventaja para el desarrollador. A menudo, estas bibliotecas contienen componentes diversos que ahorran tiempo y dinero. Sin embargo, es importante sopesar las ventajas de las bibliotecas de componentes en relacin con las desventajas que suponen para el usuario final. Con las applets, todas las clases referenciadas deben enviarse al ordenador cliente a travs de la red. Si la biblioteca de terceros tiene una arquitectura de entrelazado grande, puede incrementar sustancialmente el tamao del archivo del applet. Adems, debe tener en cuenta la licencia de redistribucin de la biblioteca. Algunas bibliotecas exigen que se las redistribuya por completo (no slo las partes que utilizar). Recuerde: cuanto ms grande sea el applet, mayor ser el tiempo de transferencia y ejecucin.

Distribucin de las applets


La distribucin es el proceso de reunir las clases de applet y sus dependientes en la jerarqua correcta para su publicacin en un servidor. JBuilder Developer y Enterprise incluyen el Creador de recopilatorios para la distribucin en el IDE de JBuilder despus del desarrollo del applet. Sun proporciona la herramienta jar en el JDK. Existen varias medidas que se pueden tomar con el fin de simplificar la distribucin:
s

Desarrolle el applet en un entorno local que reproduzca exactamente la estructura de directorios de su sede web. Utilice archivos recopilatorios. Utilice el Creador de recopilatorios en JBuilder Developer y Enterprise o la herramienta jar de JDK para crear los archivos recopilatorios.

s s

Importante

Si se escriben applets JDK 1.1.x con componentes Swing, lo que no se recomienda debido a las limitaciones de algunos navegadores, tambin ser necesario descargar y distribuir las clases JFC (Swing), swingall.jar, ya que no fueron suministradas como una parte del JDK.

Consulte
s s

Distribucin de applets en JBuilder en la pgina 14-24. Distribucin de programas en Java en Creacin de aplicaciones con JBuilder. La herramienta jar en Herramientas y Utilidades de Java 2 SDK. Java Web Start y JBuilder en la pgina 16-4.

s s

Captulo 14: Las applets

1 4 -1 3

C o m p r o b a c i n d e l a s a p p l e t s

Comprobacin de las applets


El principal objetivo de un IDE es permitir el desarrollo y la comprobacin local del cdigo. Cuando se ejecuta una aplicacin o un applet en JBuilder, si el programa necesita una clase determinada, JBuilder la busca donde haga falta. Esto permite que el usuario se pueda concentrar en el desarrollo de la aplicacin o applet y se asegure de su funcionamiento. Sin embargo, no le permite saber cmo se comportarn exactamente las applets durante la ejecucin. Con el fin de comprobar correctamente un applet, debe efectuar las pruebas en el servidor web, es decir, en su entorno real de ejecucin. sta es la nica manera de garantizar que todas las clases que necesita el applet estn disponibles en el servidor que lo ejecuta. Cuando se ejecuta el applet en un navegador, el applet necesita disponer de informacin suficiente dentro de la etiqueta <applet> del archivo HTML, de modo que el cargador del applet encuentre todas las clases, imgenes y dems archivos necesarios. ste es el entorno real del applet y es el nico lugar en el que el applet obtiene la informacin necesaria para encontrar los archivos. Para las primeras pruebas del applet distribuida se puede utilizar el navegador de prueba del JDK, denominado appletviewer. Esta herramienta de lnea de comandos incluida en JDK proporciona tiles pantallas de mensajes de error y seguimiento de la pila. Como se demuestra en los siguientes pasos, elimine CLASSPATH en la sesin de prueba.

Pasos bsicos de la comprobacin


Los pasos bsicos para probar su applet son:

1 Distribuya los archivos necesarios del applet en el servidor.


Compruebe lo siguiente:
s

Estos archivos se transfieren al servidor web en modo binario cuando se utiliza un cliente FTP. Los archivos se encuentran en las ubicaciones correctas en relacin con el archivo HTML que ejecuta el applet y el valor de codebase es correcto. Las maysculas y minsculas de los nombres en el servidor coinciden con las de los nombres originales. La etiqueta <applet> contiene el atributo archive con los nombres de los archivos de revisiones si el applet se distribuye en un archivo JAR o ZIP. La estructura de directorios coincide con la estructura de los paquetes.

La distribucin se analiza a fondo en Distribucin de programas en Java, en Creacin de aplicaciones con JBuilder.

2 Abra una ventana de lnea de comandos.

14-1 4

Gua del desarrollador de aplicaciones web

C o m p r o b a c i n d e l a s a p p l e t s

3 Borre cualquier CLASSPATH que haya asignado a esa sesin. El appletviewer


sabe dnde encontrar los archivos Java bsicos.

4 Cambie al directorio que contiene el archivo HTML y el archivo JAR (o


archivos de clase).

5 Ejecute el appletviewer.
<jbuilder>/<jdk>/bin/appletviewer TestApplet.html donde <jbuilder> es el nombre del directorio de JBuilder y <jdk> es el nombre del directorio donde se ha instalado el JDK.
Nota

Si JBuilder est en otra unidad, incluya la letra de la unidad. En Windows, se utiliza la barra invertida (\). Si es la primera vez que ejecuta appletviewer, aparece una pantalla con el acuerdo de licencia. Pulse S. Si todo va bien, se podr ver el applet ejecutndose en el appletviewer. Si no, lea los mensajes de error que aparecen en la consola de appletviewer.
s s

Si aparece el error no se encuentra la clase, verifique la distribucin. Si hay una excepcin en tiempo de ejecucin, tal como NullPointerException, depure el cdigo para encontrar el error.

Comprobacin en los navegadores


Pruebe siempre el applet en los navegadores despus de distribuirlo en el servidor. Esto resulta esencial si desea asegurarse de que todas las clases necesarias para el applet estn bien distribuidas en el servidor y que la etiqueta <applet> coincide con la distribuida en el servidor. A continuacin se incluyen algunas sugerencias para la prueba en el navegador:
s

Asegrese de que el navegador tiene activado Java. Consulte la ayuda en lnea del navegador para obtener ms detalles. No utilice los botones Recargar o Actualizar despus de recompilar y distribuir el applet revisado. El navegador podra continuar cargando la versin anterior del applet desde la memoria cach. Utilice la Consola Java para leer los mensajes de error del navegador. Para abrir la Consola Java, lleve a cabo una de las acciones siguientes:
s

Seleccione Communicator|Herramientas|Consola de Java en las versiones antiguas de Netscape o, bien, Tareas|Herramientas|Consola de Java en las versiones ms recientes. Seleccione Ver|Consola Java en Internet Explorer.

Si desea ms informacin, consulte Solving Common Applet Problems, en el Tutorial de Java Writing Applets.

Captulo 14: Las applets

1 4 -1 5

JBuilder y las applets

JBuilder y las applets


JBuilder proporciona una gran variedad de herramientas para distribuir las applet:
s s

Un Asistente para applets que permite crear rpidamente un applet. Un diseador para disear visualmente una interfaz de usuario de un applet. AppletTestBed de JBuilder para ejecutar y depurar applets. Appletviewer de Sun para ejecutar y depurar applets.

s s

Si desea obtener ms informacin sobre la creacin de applets en JBuilder, consulte:


s s

Tutorial: Creacin de un applet enIntroduccin a JBuilder. Introduccin al diseador en Diseo de aplicaciones con JBuilder.

Creacin de applets con el Asistente para applets


JBuilder suministra el Asistente para applets con el fin de generar el cdigo bsico de un applet. Complete los siguientes pasos para crear un applet mediante el Asistente para applets.
Precaucin

Si va a crear un applet para la web, consulte Los navegadores en la pgina 14-5 para obtener informacin sobre la compatibilidad de los navegadores y los JDK antes de disear el applet.

1 Seleccione Archivo|Nuevo proyecto si debe crear un proyecto para su


applet. Aparece el Asistente para proyectos, el cual sugiere un directorio y un nombre de proyecto por omisin. Cambie los nombres del archivo y del directorio del proyecto si quiere darles un nombre y ubicacin determinados. Pulse la opcin Generar archivo de notas del proyecto, con el fin de crear un archivo HTML para las notas del proyecto.
Nota

Las vas de acceso a los archivos del proyecto estn predefinidas en las propiedades por defecto del proyecto. Es recomendable que slo los usuarios de Java experimentados modifiquen este parmetro. Si desea ms informacin sobre las propiedades por defecto del proyecto, consulte Creating and managing projects en Creacin de aplicaciones con JBuilder. El nombre del paquete del proyecto se deriva del nombre de archivo, y se muestra en el Asistente para applets. Por ejemplo, si crea un proyecto denominado <home>/jbproject/AppletProject, el Asistente para applets le propondr utilizar el nombre de paquete appletproject. Si desea ms informacin sobre los paquetes, consulte el apartado Paquetes, en el captulo Creacin y gestin de proyectos de Creacin de aplicaciones con JBuilder.

14-1 6

Gua del desarrollador de aplicaciones web

JBuilder y las applets

a Pulse Siguiente para pasar a la ficha Indique las vas de acceso del
proyecto del Asistente para proyectos. Las vas de acceso son las siguientes: Va de acceso a JDK Va de salida La va de acceso al JDK en que se compila el proyecto. Donde se guardan los archivos de clase y el archivo HTML del applet.

Va de acceso a las copias Donde se guardan las copias de seguridad. de seguridad Directorio de trabajo directory Va de acceso a archivos fuente El directorio de trabajo del proyecto. Donde se guardan los archivos fuente y de prueba. Por defecto es donde se guardan los archivos fuente, Test es donde se guardan los archivos de comprobacin de mdulos. Donde se guardan los archivos de documentacin.

Documentacin path

Las vas de acceso a archivos generados, copias de seguridad y directorio de trabajo, as como la va de acceso al JDK, se pueden modificar pulsando el botn puntos suspensivos. Las vas de acceso a archivos fuente, de prueba y documentacin se pueden modificar seleccionando la va de acceso y, a continuacin, pulsando el botn Modificar. Tambin es posible aadir las bibliotecas necesarias.

Consulte
s s

Configuracin del JDK en Creacin de aplicaciones con JBuilder. Cmo construye JBuilder las vas de acceso en Creacin de aplicaciones con JBuilder.

b Haga clic sobre Finalizar para completar el Asistente para proyectos.


El Asistente para proyectos crea un archivo de proyecto (.jpx). Si seleccion la opcin Generar archivo de notas del proyecto en la primera ficha del asistente, se tratar de un archivo HTML cuyo nombre coincide con el del proyecto y que contiene la informacin por defecto del proyecto. Puede modificarlo y guardar la informacin pertinente del proyecto que desee ver.

2 Despus, seleccione Archivo|Nuevo y elija el nodo Web de la galera de


objetos.

3 Haga doble clic en el icono Applet de la galera de objetos, lo que abrir el


Asistente para applets.

a No cambie el nombre del paquete que se sugiere. Cambie el nombre de


la clase del applet, si lo desea.
1 4 -1 7

Captulo 14: Las applets

JBuilder y las applets

b Seleccione la clase bsica que desea ampliar en el applet:


java.applet.Applet (clase de AWT) o java.swing.JApplet (clase Swing de JFC).

c Si lo desea, active las dems opciones:


Generar comentarios de cabecera Utiliza informacin del archivo del proyecto como comentarios de cabecera, en la parte superior del archivo de clase applet. Crea un mtodo main() que permite comprobar el applet sin necesidad de abrirla desde una pgina HTML. Crea stubs para los mtodos estndar del applet: start(), stop(), destroy(), getAppletInfo(), y getParameterInfo().

Puede ejecutarse autnomamente

Generar mtodos estndar

d Pulse Siguiente para pasar a la ficha Introduzca los parmetros del


applet. En este paso, puede aadir parmetros. Partiendo de esta informacin, el asistente genera etiquetas <param> dentro de la etiqueta <applet> del archivo HTML del applet, y el cdigo de tratamiento de parmetros en el nuevo archivo java del applet. Rellene una fila por cada parmetro que desee.
s s

Si desea aadir un parmetro, pulse el botn Aadir parmetro. Para seleccionar una celda, haga clic en ella o desplcese por medio de las teclas de desplazamiento. Para introducir un valor en una celda, escrbalo o seleccinelo en la lista desplegable, si la hay. Si desea quitar un parmetro, haga clic en una celda de su fila y pulse el botn Eliminar parmetro.

Las definiciones de los campos de parmetros son: Nombre El nombre del parmetro. Se usar para proporcionar el atributo name en la etiqueta <param> en el archivo HTML y el parmetro name de la llamada getParameter() correspondiente en el cdigo fuente de Java. El tipo de variable que se inserta en el cdigo fuente Java del applet para recoger el valor del parmetro procedente de la pgina HTML.

Tipo

14-1 8

Gua del desarrollador de aplicaciones web

JBuilder y las applets

Desc

Breve descripcin del parmetro. Se utiliza para describir el parmetro cuando, mediante herramientas externas, se hace una consulta sobre los parmetros que acepta el applet. Una de estas herramientas, por ejemplo, est en Applet|Info browser del appletviewer. Nombre de la variable que se inserta en el cdigo fuente Java del applet para recoger el valor del parmetro procedente de la pgina HTML.

Variable

Valor por defecto El valor por defecto del parmetro. ste es el valor que el cdigo fuente Java de esta applet utiliza si un futuro archivo HTML que use el applet no dispone de una etiqueta <param> para este parmetro. Los archivos HTML no facilitan este parmetro si el atributo name de la etiqueta <param> no coincide exactamente con lo introducido en la columna Nombre. Para garantizar la coincidencia, las maysculas y las minsculas tambin deben coincidir.

e Pulse Siguiente para pasar a la ficha Detalles HTML. Si no desea


generar la pgina HTML automticamente, puede desactivar la opcin Generar pgina HTML. De lo contrario, deje esta opcin activada e introduzca informacin sobre la pgina, como su nombre, el del applet, el tamao del applet en la pgina y la posicin de codebase. Por defecto, el Asistente para applets guarda el archivo HTML en el directorio de salida con las clases compiladas.

f Pulse Siguiente para pasar a la ficha Definir configuracin del applet.


s

En JBuilder Developer y Enterprise, active la opcin Crear una configuracin de ejecucin y escriba un nombre para la configuracin en el campo Nombre. Si desea ms informacin, consulte Creacin de una configuracin de ejecucin en la pgina 8-2. En JBuilder Foundation, asegrese de que est activada la opcin Sobrescribir la configuracin existente. Escriba el nombre de la configuracin en el campo Nombre.

g Pulse Finalizar para generar los archivos .java y HTML del applet.
El Asistente para applets crea dos archivos si se selecciona la opcin Generar pgina HTML en la ficha Detalles HTML:
s

Un archivo HTML que contiene una etiqueta <applet> con una referencia a la clase applet. ste es el archivo que debe seleccionar para ejecutar o depurar el applet. Una clase Java, que se deriva de Applet o JApplet y se puede disear por medio del diseador de interfaces de usuario.

Captulo 14: Las applets

1 4 -1 9

JBuilder y las applets

Nota

En el panel del proyecto tambin aparece automticamente un nodo de paquete de cdigo fuente si se ha seleccionado la opcin Activar la localizacin y compilacin de paquetes fuente de la ficha General del cuadro de dilogo Propiedades de proyecto (Proyecto| Propiedades de proyecto).

Consulte
s s

Creacin de applets con el Asistente para applets en la pgina 14-16. Tutorial: Creacin de un applet enIntroduccin a JBuilder.

Ejecucin de applets
Para ejecutar un applet en un proyecto:

1 Guarde todos los archivos. 2 Compile el proyecto. 3 Realice una de las operaciones siguientes:
s

Seleccione Ejecutar|Ejecutar proyecto o pulse el botn Ejecutar de la barra de herramientas con el fin de ejecutar el applet desde la clase principal en el AppletTestbed de JBuilder. (En JBuilder Developer y Enterprise, elija la configuracin de ejecucin, si hay varias.) Haga clic con el botn derecho del ratn en el archivo HTML del applet en el panel del proyecto. Este archivo debe tener una etiqueta <applet>. Seleccione Ejecutar para ejecutar el applet en el appletviewer de Sun. (En JBuilder Developer y Enterprise, elija la configuracin de ejecucin, si hay varias.)

Nota

Tambin se puede seleccionar el archivo .java del applet si tiene un mtodo main() y selecciona Ejecutar. En la ficha Introduzca informacin sobre la clase del applet, del Asistente para applets, se puede crear un applet con un mtodo main(), si selecciona la opcin Puede ejecutarse autnomamente. El applet se compila y, si no se producen errores, se ejecuta. El progreso de la generacin se muestra en un cuadro de dilogo, mientras que el panel de mensajes muestra los errores de compilacin. Si el programa se compila correctamente, se muestra la va de acceso a clases en el panel de mensajes y el programa se ejecuta.

El Appletestbed de JBuilder y el appletviewer de Sun


Hay dos formas de ejecutar un applet en JBuilder:
s s

Con el AppletTestbed de JBuilder. Con el appletviewer de Sun.

El comportamiento por defecto es como sigue, si se ha creado el applet con el Asistente para applets:

14-2 0

Gua del desarrollador de aplicaciones web

JBuilder y las applets


s

Seleccione Ejecutar|Ejecutar proyecto o pulse el botn Ejecutar para ejecutar el applet desde la clase principal en AppletTestbed, el visualizador de applets de JBuilder. (En JBuilder Developer y Enterprise, elija la configuracin de ejecucin, si hay varias.) Haga clic con el botn derecho en el archivo HTML del applet y seleccione Ejecutar para ejecutar el applet en el appletviewer (visualizador de aplicaciones) de Sun. (En JBuilder Developer y Enterprise, elija la configuracin de ejecucin, si hay varias.)

Puede cambiar el comportamiento por defecto de Ejecutar|Ejecutar proyecto y del botn Ejecutar si personaliza la configuracin de ejecucin del applet. Hay dos posibilidades para ejecutar un applet en JBuilder:
s s

Clase principal: con el AppletTestbed de JBuilder Archivo HTML: con el appletviewer de Sun

Clase principal
Cuando se selecciona un clase principal para ejecutar el applet, se ejecuta en el visualizador de applets de JBuilder, AppletTestbed. Cuando se crea un applet usando el Asistente para applets, ste fija la clase principal automticamente. La clase seleccionada debe contener un mtodo init().

Archivo HTML
Cuando se selecciona un archivo HTML para ejecutar el applet, se ejecuta en el appletviewer de Sun. El archivo HTML debe contener la etiqueta <applet> y el atributo code debe contener el nombre completo de la clase. Si el archivo de clase no se encuentra en el mismo directorio que el archivo HTML, el atributo codebase debe indicar la posicin del archivo de clase en relacin con el archivo HTML.

Ejecucin de applets JDK 1.1.x en JBuilder


Si se ejecuta un applet JDK 1.1.x desde su clase principal en JBuilder, lo hace utilizando el AppletTestbed de JBuilder, que necesita JFC (Swing) para abrirse. Debido a que JDK 1.1.x no inclua las clases JFC, necesita descargar la versin especfica para JDK 1.1. x de JFC (Swing), swingall.jar, desde http://java.sun.com.products. Acto seguido, cree una biblioteca para las clases de JFC y adala al proyecto (Herramientas|Configurar bibliotecas).

Ejecucin de applets JDK 1.2 en JBuilder


Para ejecutar un applet en Solaris o Linux desde JBuilder se debe aadir al proyecto la biblioteca del SDK de Open Tools. Si no se aade esta biblioteca, puede producirse una excepcin del tipo NoClassDefFoundError:AppletTestbed. Este problema afecta a algunos de los ejemplos de applet, incluido el Primes Swing.

Captulo 14: Las applets

1 4 -2 1

JBuilder y las applets

Depuracin de applets
Se pueden depurar applets en el IDE de JBuilder de igual forma que procede con los programas Java. Al igual que hay dos formas de ejecutar las applets en JBuilder, tambin se pueden depurar de dos maneras: el AppletTestbed de JBuilder y el appletviewer de Sun. Para depurar con AppletTestbed de JBuilder, se debe ejecutar la clase principal del applet que contiene el mtodo init():

1 Defina la clase principal del applet, la cual contiene el mtodo init(), como
clase ejecutable (utilice una configuracin de ejecucin).

2 Compile el proyecto. 3 Defina un punto de interrupcin en el archivo applet. 4 Elija Ejecutar|Depurar proyecto o pulse el botn Depurar de la barra de
herramientas. El depurador toma el control.
Nota

Si est desarrollando un applet con un JDK anterior, para depurar necesitar cambiar a un JDK ms reciente (JDK 1.2.2 o posterior). Los JDK ms antiguos no admiten la API de depuracin de JPDA (Arquitectura del depurador para plataforma Java) que utiliza JBuilder. Consulte Configuracin del JDK en Creacin de aplicaciones con JBuilder. Si desea instrucciones ms detalladas sobre la depuracin en JBuilder, consulte Depuracin de programas en Java en Creacin de aplicaciones con JBuilder. Para depurar con el appletviewer de Sun, debe ejecutar el archivo HTML utilizando uno de estos mtodos:
s

Desde el panel del proyecto, siga estos pasos:

a Compile el proyecto. b Defina un punto de interrupcin en el archivo applet. c Haga clic con el botn derecho en el archivo HTML del applet, en el
panel del proyecto, y elija Depurar. El depurador toma el control.
s

Desde el men Ejecutar de JBuilder, siga estos pasos:

a Configure el archivo HTML del applet como el archivo ejecutable,


modificando la configuracin de ejecucin.

b Compile el proyecto. c Defina un punto de interrupcin en el archivo applet. d Elija Ejecutar|Depurar proyecto o pulse el botn Depurar de la barra de
herramientas. El depurador se carga en el panel de mensajes y el applet se ejecuta en el appletviewer de Sun.

14-2 2

Gua del desarrollador de aplicaciones web

JBuilder y las applets

Depuracin de applets en el Plug-in de Java


Es una funcin de JBuilder Enterprise

Tambin se pueden depurar las applets desde Internet Explorer 5 o Netscape Navigator 6 y superior mediante el Plug-in de Java y el depurador de JBuilder. Para realizar la depuracin con el JDK 1.4.2:

1 Descargue e instale el plugin para el JDK 1.4 desde la pgina web de Sun:
http://java.sun.com/products/plugin/.

2 Configure los siguientes parmetros de ejecucin en el campo Java


Runtime Parameters, de la pestaa Advanced, del Control Panel del Plug-in de Java: -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,address=3999,suspend=n Si desea obtener ms informacin acerca de la depuracin del plug-in, consulte: http://java.sun.com/j2se/1.4.2/docs/guide/plugin/developer_guide/ debugger.html#how.

3 Inicie JBuilder y haga lo siguiente: a Cree un proyecto. b Utilice el Asistente para applets con el fin de crear una applet sencilla
que se ejecute desde un archivo HTML. Asegrese de que la applet utiliza Swing para su clase base (javax.swing.JApplet). Aada un JPanel a la applet y configure la presentacin en GridBagLayout. Aada un botn JButton al panel, y un suceso al botn que cambie el texto del botn.

c Modifique la configuracin de ejecucin del applet y defina las


siguientes opciones en el nodo Depurar|Remota del cuadro de dilogo Modificar configuracin de ejecucin (Ejecutar|Configuraciones| Modificar):

1 Active la casilla de seleccin Activar depuracin remota. 2 Seleccione la opcin Acoplarse. 3 Compruebe que el campo Nombre del host est configurado en
localhost.

4 Asegrese de que Tipo de transporte est configurado en dt_socket y


que la Direccin es 3999. Si desea informacin sobre las opciones de depuracin remota, consulte Depuracin remota en Creacin de aplicaciones con JBuilder.

4 Compile el proyecto. 5 Ejecute el Convertidor HTML y convierta el archivo HTML del applet (en el
directorio classes del proyecto) al formato requerido por el plugin de Java. Si desea ms informacin sobre el Convertidor HTML y el modo de ejecutarlo, consulte la pgina web de Sun, en http://java.sun.com/j2se/ 1.4.2/docs/guide/plugin/developer_guide/html_converter.html.
Nota

La versin del Convertidor HTML debe coincidir con la del Plug-in.

Captulo 14: Las applets

1 4 -2 3

JBuilder y las applets

6 Inicie Netscape o Internet Explorer y abra el archivo HTML. Asegrese de


que el navegador tiene activado Java. Consulte la ayuda en lnea del navegador para obtener ms informacin.

7 Vuelva a JBuilder y configure un punto de interrupcin en el archivo del


applet. Comience a depurar el proyecto. El depurador debera iniciarse correctamente. Vuelva al visualizador y actualice la pgina. En JBuilder, el depurador se debera haber detenido en el punto de interrupcin del applet.

Distribucin de applets en JBuilder


JBuilder Developer y Enterprise tienen un Creador de recopilatorios que crea recopilatorios ZIP y JAR. Tambin puede crear archivos JAR a mano mediante la herramienta jar de Sun, incluida en el JDK. Existen varias herramientas ZIP que crean archivos ZIP, pero asegrese de utilizar una versin que acepte nombres de archivo largos. Si se tiene una aplicacin web grande con servlets, JSP, applets y otro contenido web, debera utilizar un archivo WAR (un archivo recopilatorio de aplicaciones web). Su aplicacin web, archivo WAR o archivo JAR tambin pueden empaquetarse en un archivo EAR.

Consulte
s

Utilizacin del Creador de recopilatorios en Creacin de aplicaciones con JBuilder. Distribucin de programas en Java Creacin de aplicaciones con JBuilder. Herramienta jar en http://java.sun.com/j2se/1.4.2/docs/tooldocs/ tools.html#basic. Captulo 3, Los mdulos web y los archivos WAR.

14-2 4

Gua del desarrollador de aplicaciones web

Captulo

Captulo 15

JBuilder con Tomcat

Desarrollo web es una funcin de JBuilder Developer y JBuilder Enterprise

Tanto los servlets de Java como las Pginas de JavaServer (JSP) se ejecutan dentro de servidores web. Tomcat, la implementacin de referencia de las Pginas de JavaServer/ Servlets de Java, se incluye en JBuilder. Aunque pudiera ser diferente de su servidor web, Tomcat permite desarrollar y comprobar sus servlets y JSP dentro del entorno de desarrollo de JBuilder. En este captulo se explica cmo se trabaja cuando Tomcat se ejecuta en JBuilder. Cuando se instala JBuilder Enterprise, tres versiones de Tomcat la 3.3, la 4.0 y la 4.1 se instalan automticamente en el directorio de JBuilder. Por defecto, se configuran automticamente. Se puede examinar dicha configuracin con el cuadro de dilogo Configurar servidores. Tomcat 4.0 y 4.1 forman JDK 1.4 Lightweight Editions. Estas ediciones no contienen un analizador XML (JDK 1.4 lleva uno incorporado) ni algunos componentes disponibles para el pblico. Puede descargarse la edicin completa en http://jakarta.apache.org/ y utilizar en cuadro de dilogo Configurar servidores para apuntar hacia ella.

Nota

En JBuilder Enterprise, Tomcat 4.0 es el servidor por defecto. Para cambiar el funcionamiento por defecto del proyecto, consulte Configuracin de servidores en JBuilder en Desarrollo de aplicaciones para servidores J2EE. Para ver las configuraciones de Tomcat:

1 Seleccione Herramientas|Configurar servidores. Se muestra el cuadro de


dilogo Configurar servidores.
Nota

En el rbol de la izquierda del cuadro de dilogo, las entradas en gris todava no han sido configuradas. Las entradas en rojo no son vlidas.

C a p t u l o 1 5 : J B u i l d e r c o n T o m c a t

1 5 -1

JBuilder con Tomcat

2 Escoja una de las instalaciones de Tomcat en la carpeta Directorio inicial.


La opcin Activar servidor del extremo superior derecho del cuadro de dilogo se marcar automticamente. No necesita cambiar ningn parmetro.

3 Haga clic en Aceptar para cerrar el cuadro de dilogo.


Si ha instalado Tomcat en otro directorio, y desea ejecutarlo desde l y no desde el predeterminado, puede cambiar los parmetros de modo que se dirijan a dicho directorio. La siguiente tabla explica los parmetros de configuracin. Tabla 15.1 Opcin
Directorio de inicio

Parmetros del cuadro de dilogo Configurar servidores para Tomcat Descripcin


Directorio de inicio de Tomcat. Si est reconfigurando una de las versiones de Tomcat instaladas con JBuilder, estar en el directorio <jbuilder>/thirdparty. La clase principal para iniciar el servidor Web Tomcat. Los parmetros que hay que pasarle a la MV Java que ejecuta el servidor web. Los parmetros que hay que pasarle al servidor web. El directorio de trabajo. La ubicacin del archivo de clase de Tomcat. Ubicacin de los archivos fuente de Tomcat. Ubicacin de los archivos de documentacin de Tomcat. Bibliotecas que necesita Tomcat.

Clase principal Parmetros de la MV Parmetros del servidor Directorio de trabajo Clase Fuente Documentacin Bibliotecas necesarias

Si necesita ms informacin acerca de Tomcat o si quiere ejecutarlo de forma autnoma, encontrar ms informacin en el directorio de la documentacin de instalacin de Tomcat de JBuilder:
s s

Tomcat 3.3: <jbuilder>/thirdparty/jakarta-tomcat-3.3.1/doc Tomcat 4.0: <jbuilder>/thirdparty/jakarta-tomcat-4,00,6-LE-jdk14/webapps/ tomcat-docs Tomcat 4.1: <jbuilder>/thirdparty/jakarta-tomcat-4.10,27-LE-jdk14/webapps/ tomcat-docs

Importante Nota

Tomcat 4.1 no admite la depuracin de JSP. Borland Enterprise Server AppServer Edition 5.2.1 utiliza Tomcat de forma interna para el servidor web de produccin. Si se utiliza Borland Enterprise Server, no es necesario configurar Tomcat por separado.

15-2

Gua del desarrollador de aplicaciones web

Seleccin de Tomcat como servidor web del proyecto

Seleccin de Tomcat como servidor web del proyecto


Antes de empezar con el desarrollo web se debe seleccionar Tomcat como servidor web del proyecto. Para seleccionar el servidor web Tomcat para el proyecto:

1 Seleccione Proyecto|Propiedades de proyecto. 2 Pulse el nodo Servidor. Se muestra la ficha Servidor. 3 Seleccione la opcin Servidor nico para todos los servicios del proyecto y
elija la versin de Tomcat deseada en la lista desplegable.

4 Si quiere evitar que se aadan a su proyecto libreras que no va a utilizar,


en la lista Servicios desactive la casilla de seleccin junto al servicio o servicios que no necesita. Si desactiva servicios, se desactivarn las correspondientes caractersticas de JBuilder.
Importante

El nico servicio disponible para Tomcat 3.3 es el servicio JSP/Servlet. Para Tomcat 4.0 y 4.1 estn disponibles los servicios JSP/Servlet y Denominacin/ Directorio.

5 Si desea modificar la configuracin de la versin de Tomcat seleccionada,


pulse el botn de puntos suspensivos, a la derecha del nombre del servidor, y modifique los parmetros deseados en las fichas General y Personalizada. Pulse Aceptar cuando haya terminado.

Ejecucin de servlets y JSP con Tomcat


Antes de ejecutar la aplicacin web se deben configurar las opciones de vista web para indicar la forma en que se inicia Tomcat en el IDE. Si desea ms informacin, consulte Configuracin del IDE para ejecutar/depurar web en la pgina 8-14. Antes de realizar la ejecucin web del servlet o la JSP en JBuilder es necesario crear una configuracin de ejecucin, definir las propiedades de ejecucin para el proyecto y compilar el servlet o la JSP. Si desea una informacin completa sobre estos temas, consulte el Captulo 8, Las aplicaciones web en IDE de JBuilder. Una vez que haya llevado a cabo estas tareas, ya puede ejecutar su servlet o JSP. Si desea realizar una ejecucin web de un servlet o una JSP en JBuilder, haga clic con el botn derecho sobre el archivo de servlet o la JSP, en el panel del proyecto, y seleccione Ejecutar web. El comando Ejecutar web ejecuta la configuracin en Tomcat sin depurarla. Si el servlet se ejecuta desde un archivo HTML o SHTML, haga clic con el botn derecho sobre ese archivo y seleccione Ejecutar web. Si el comando Ejecutar web o Depurar web est deshabilitado en el men contextual para un servlet o JSP, compruebe la configuracin de ejecucin. Con el fin de ejecutar una aplicacin web, necesita crear una configuracin de ejecucin con el tipo de servidor seleccionado como ejecutor actual. Ese

C a p t u l o 1 5 : J B u i l d e r c o n T o m c a t

1 5 -3

E j e c u c i n d e s e r v l e t s y J S P c o n T o m c a t

servidor debe admitir el servicio JSP/Servlet. Si desea crear una configuracin de ejecucin, consulte Creacin de una configuracin de ejecucin en la pgina 8-2.
Nota

Las applets no pueden ejecutarse o depurarse. Esto se debe a que no tienen una URL o un contexto web en el que ejecutarse. Adems, las applets se ejecutan en el navegador de un cliente, en lugar de un servidor. Habitualmente, un applet se ejecuta en appletviewer, de Sun, o en AppletTestbed, de JBuilder. Si desea ms informacin, consulte El Appletestbed de JBuilder y el appletviewer de Sun en la pgina 14-20.

Inicio de Tomcat
Cuando se selecciona Ejecutar web, JBuilder inicia Tomcat mediante:
s s

La configuracin de ejecucin. Las opciones configuradas en Herramientas|Preferencias|Web.

Los mensajes se registran en la pestaa Servidor web, mostrada en el panel de mensajes al final del Visualizador de aplicaciones. Los comandos HTTP y los valores de los parmetros se envan a este panel. El nombre de la pestaa reflejar el del servidor web, por ejemplo, Tomcat en el caso del servidor web Tomcat.

Detencin de Tomcat
Para detener Tomcat, pulse el botn Terminar el programa de la pestaa del servidor web. Si desea iniciar de nuevo el servidor web y volver a ejecutar la aplicacin web, pulse el botn Terminar el programa de la pestaa. Cuando se hagan cambios en el cdigo fuente, se recompile y se vuelva a ejecutar, lo ms probable ser que se sigan estos pasos. No se necesita cerrar el panel de servidor Web cada vez que se inicia el servidor Web.
Nota

La primera vez que se pulsa el botn Terminar el programa, simplemente enva un comando al servidor para que se apague. Concretamente, si se intentan depurar los manejadores de sucesos del ciclo de vida de la aplicacin web, se realiza una llamada a los mtodos Servlet.destroy() y ServletContextListener.contextDestroyed(). Si no est depurando, el servidor, por lo general, se apaga por s solo (Tomcat lo hace en unos segundos; a otros servidores les lleva ms tiempo). En cualquier caso, si se pulsa el botn Terminar programa una segunda vez, el proceso que est realizando el servidor se termina inmediatamente.

Cambio del nmero de puerto de Tomcat


De vez en cuando puede encontrarse con el problema de que otra aplicacin est utilizando el nmero de puerto asignado por defecto al servidor web (normalmente es 8080). Puede volver a asignar el nmero de puerto o indicar a JBuilder que busque un puerto no utilizado. (En una instalacin tpica, est configurado por defecto.) Para ello:

15-4

Gua del desarrollador de aplicaciones web

Ejecucin de servlets y JSP con Tomcat

1 Seleccione Ejecutar|Configuraciones y elija una configuracin de ejecucin


para la aplicacin web. Seleccione Modificar.

2 Seleccione Servicio JSP/Servlet en el rbol de la parte inferior izquierda del


cuadro de dilogo Modificar configuracin de ejecucin.

3 Introduzca el nmero de puerto que debe monitorizar el servidor web en el


campo Nmero de puerto.

4 Seleccione la opcin Buscar puerto disponible con el fin de indicar a


JBuilder que elija otro puerto si el especificado se encuentra en uso. (La bsqueda de puerto se efecta solamente la primera vez que se solicita la ejecucin web.) Resulta til seleccionar esta opcin cuando se ejecuta ms de un servlet o una JSP, pues de otra forma se podra recibir un mensaje que indica que el puerto est ocupado. Tambin es til activar esta opcin en el caso de que un problema de usuario provoque la cada del servidor web. Esta opcin proporciona proteccin en el caso de que el servidor web no se cierre de manera adecuada. Esta opcin funciona junto con las opciones de Vista web del nodo Web del cuadro de dilogo Preferencias cuando un proceso ajeno a la web utiliza el puerto.

Creacin de un archivo personalizado server.xml con Tomcat


Normalmente, cuando ejecuta su aplicacin web mediante Tomcat en el IDE de JBuilder, JBuilder crea un archivo serverXXXX.xml (en el que XXXX es el nmero de puerto al que Tomcat est monitorizando) y lo borra cuando se apaga Tomcat. Puede modificar el archivo y obligar a JBuilder a que lo mantenga si sigue estos pasos:

1 Ejecute su aplicacin web en JBuilder como lo hara normalmente. 2 Mientras se est ejecutando Tomcat, dirjase al directorio de su proyecto
Tomcat\conf. Esta carpeta la crea JBuilder cuando se est ejecutando su aplicacin web.

3 Realice una copia del directorio conf en un directorio temp. 4 Abra serverXXXX.xml en el directorio conf en un editor de texto. 5 Elimine la segunda lnea del archivo:
<!--This comment marks this file as generated, so it may be deleted and regenerated at any time (Este comentario marca el archivo como generado, con lo que se puede borrar y volver a generarse en cualquier momento). To preserve manual changes to this file, delete this comment. (Para conservar los cambios manuales realizados en este archivo, borre este comentario)--> Con esta lnea eliminada, JBuilder no borrar automticamente el archivo al detener el servidor.

6 Realice otros cambios necesarios en el archivo de configuracin del


servidor.

C a p t u l o 1 5 : J B u i l d e r c o n T o m c a t

1 5 -5

E j e c u c i n d e s e r v l e t s y J S P c o n T o m c a t

7 Vuelva a JBuilder y apague Tomcat. 8 Guarde el archivo modificado en la copia del directorio conf. 9 Vuelva a copiar el directorio conf en el directorio Tomcat de su proyecto. 10 Reinicie el servidor web y su aplicacin web.
Al reiniciar la aplicacin web y el servidor web, se utilizar el archivo modificado serverXXXX.xml en lugar de un archivo generado automticamente.

Depuracin de pginas JSP con Tomcat 4.1


Tomcat 4.1 no admite la depuracin de JSP. Para corregir este problema, haga lo siguiente:

1 Busque el directorio <jbuilder>/thirdparty/jakarta-tomcat-4.0.6-LE-jdk14/


lib.

2 Copie jasper-compiler.jar y jasper-runtime.jar en el directorio <jbuilder>/


thirdparty/jakarta-tomcat-4.1.27-LE-jdk14/common/lib.

15-6

Gua del desarrollador de aplicaciones web

Captulo

Captulo 16

Ejecucin de aplicaciones web con Java Web Start

Desarrollo web es una funcin de JBuilder Developer y JBuilder Enterprise

Java Web Start, una tecnologa de distribucin de Sun Microsystems, permite iniciar cualquier applet o aplicacin Java desde un enlace de una pgina web en su navegador. Si la aplicacin no est presente en su ordenador, Java Web Start descarga todos los archivos necesarios y los almacena localmente en el cach de forma que el programa pueda volverse a iniciar desde un icono en su escritorio o desde el vnculo de la pgina web. Java Web Start es la implementacin de referencia de la tecnologa del Protocolo Java de inicio desde la red (JNLP). Esta tecnologa define un formato de archivo estndar que describe cmo iniciar una aplicacin JNLP. El Asistente para el inicio de Web Start de JBuilder genera automticamente un archivo JNLP, as como un pgina de inicio HTML para la aplicacin. Si desea obtener ms informacin sobre Web Start, visite la pgina Java Web Start en http://java.sun.com/products/javawebstart/. Tambin puede consultar en:
s

The Java Web Start Developers Guide en http://java.sun.com/products/ javawebstart/docs/developersguide.html. Frequently Asked Questions en http://java.sun.com/products/ javawebstart/faq.html.

C a p t u l o 1 6 : E j e c u c i n d e a p l i c a c i o n e s w e b c o n J a v a W e b S t a r t

1 6 -1

Consideraciones sobre las aplicaciones Java Web Start

Consideraciones sobre las aplicaciones Java Web Start


Generalmente, desarrollar una aplicacin para su distribucin con Java Web Start es lo mismo que desarrollar una aplicacin autnoma. El punto de entrada de la aplicacin es el mtodo main() y la aplicacin debe suministrarse como un archivo JAR o como un conjunto de archivos JAR. No obstante, todos los recursos de la aplicacin deben llamarse usando el mecanismo getResource. Si desea ms informacin, consulte Application Development Considerations en la Developers Guide de Java Web Start, en http:// java.sun.com/products/javawebstart/docs/developersguide.html#dev. Un aspecto clave para la ejecucin de aplicaciones en Internet es la seguridad. Los usuarios son cautos a la hora de descargar y ejecutar programas en sus ordenadores sin una garanta de seguridad que evite que los programas borren archivos o sustraigan informacin personal. Java Web Start aborda este problema ejecutando todo el cdigo no certificado en un entorno restringido llamado sandbox (espacio de contencin) Mientras la aplicacin est en el sandbox, Java Web Start puede asegurar que la aplicacin no comprometer la seguridad de los archivos locales o de los archivos de la red. Java Web Start tambin admite firma de codificacin digital. Esta tecnologa permite que Java Web Start verifique que el contenido del archivo JAR no haya sido modificado desde que se firm. Si esta verificacin falla, Java Web Start no ejecutar la aplicacin. Si desea ms informacin sobre Java Web Start y la seguridad, consulte Security And Code Signing en el apartado Application Development Considerations de la Developers Guide de Java Web Start, en http://java.sun.com/products/javawebstart/docs/ developersguide.html#dev. La API del JNLP suministra servicios adicionales de manipulacin de archivos para la ejecucin en entornos de ejecucin restringidos. Estas clases sustituyen a las operaciones ordinarias de descarga, apertura, escritura y grabacin de los archivos. Por ejemplo, se utilizaran los mtodos de javax.jnlp.FileOpenService para importar archivos del disco local, incluso para aplicaciones que se ejecuten en el sandbox. Si desea ms informacin, consulte JNLP API Examples en la Developers Guide de Java Web Start, en http://java.sun.com/products/javawebstart/docs/ developersguide.html#api.

16-2

Gua del desarrollador de aplicaciones web

Instalacin de Java Web Start

Instalacin de Java Web Start


Ahora, Java Web Start 1.4.2 forma parte del Java Runtime Environment (JRE) 1.4.2. Esto permite a Java Web Start aprovechar las nuevas funciones de este JRE, como las mejoras del funcionamiento. El JDK instalado con JBuilder no incluye una versin configurada para el registro de Java Web Start. Por este motivo se debe comprobar la aplicacin Java Web Start en la mquina de un usuario, despus de desarrollarla con JBuilder en una mquina de desarrollo. Si desea comprobar la aplicacin en una mquina de desarrollo, siga estos pasos para descargar y configurar Java Web Start. Tenga en cuenta que va a terminar con dos versiones del JDK en la mquina de desarrollo: la versin de JBuilder del directorio <jbuilder> y el JRE instalado en el directorio Program Files/Java. Para descargar el JRE de Java 1.4.2:

1 Dirjase a la pgina de inicio de Java Web Start, en http://java.sun.com/


products/javawebstart.
Importante

No intente descargarlo mediante el Visor de ayuda. Utilice un navegador externo.

2 Haga clic en el enlace Download Java Web Start. Aparece la pgina


Download Java Web Start.

3 Haga clic en el primer enlace, Java Web Start 1.4.2. Aparece la pgina
Download Java Web Start 1.4.2.

4 Haga clic en el primer enlace, Download 1.4.2 JRE/SDK. De esta forma se


abre la pgina Java 2 Platform, Standard Edition (J2SE).

5 Desplcese hasta la seccin Download J2SE v 1.4.2_01. Seleccione la


plataforma de sistema operativo en la columna JRE y pulse Download.

6 Aparece la pantalla del acuerdo de licencia. Pulse Accept, en la parte


inferior de la pantalla.

7 Aparece la pgina Download Java(TM) 2 SDK, Standard Edition 1.4.2_01.


Haga clic en el archivo para descargarlo. El archivo de instalacin se copia de forma local en el directorio que se especifique.

8 Acepte el acuerdo de licencia. 9 Abra el ejecutable para ejecutar el programa de instalacin del JDK 1.4.2
JRE.

a Acepte el acuerdo de licencia y pulse Next. b En la pantalla Setup Type, seleccione la opcin Typical y pulse Next. c Pulse Finish cuando termine la instalacin.
Importante

Es necesario configurar opciones adicionales si se utiliza Netscape 6. Si desea ms informacin, dirjase al tema Using Java Web Start Technology with NetscapeTM 6 Web Browsers de la Java Web Start Installation Guide,

C a p t u l o 1 6 : E j e c u c i n d e a p l i c a c i o n e s w e b c o n J a v a W e b S t a r t

1 6 -3

Java Web Start y JBuilder

en http://java.sun.com/products/javawebstart/docs/installguide.html. Otros navegadores pueden necesitar configuracin adicional.


Nota

Si desea utilizar la API de Java Web Start, es necesario que incluya la biblioteca Java Web Start en el proyecto. Esta biblioteca ya est configurada y utiliza el archivo javaws.jar de la carpeta <jbuilder>/jdk1.4/jre/javaws (no el Java Web Start del JRE instalado).

Java Web Start y JBuilder


JBuilder suministra un nmero de caractersticas que pueden convertir su aplicacin autnoma o applet en una aplicacin o applet Web Start. Para lograrlo, deben seguirse los siguientes pasos:

1 Configure un servidor web, por ejemplo, Tomcat 4.0, para su proyecto. Si


desea ms informacin sobre CORBA, consulte CORBA con JBuilder en Desarrollo de aplicaciones para servidores J2EE.

2 Cree un mdulo web con el Asistente para mdulos web. Para obtener ms
informacin sobre mdulos web, consulte el Captulo 3, Los mdulos web y los archivos WAR.

3 Cree el archivo JAR de la aplicacin o el applet con el Creador de


recopilatorios, utilizando las siguientes opciones en los pasos 1 y 2 del asistente. Las opciones en los pasos restantes pueden dejarse con los valores por defecto. Tabla 16.1
Paso 1 Paso 2

Opciones del Creador de recopilatorios Opcin


Tipo de recopilatorio Applet Web Start o Aplicacin Web Start. Mdulo Web: el mdulo web en el que se coloca el archivo JAR. Name: el nombre del nodo del recopilatorio. Archivo el nombre del archivo JAR que se coloca en la estructura de directorios del mdulo web. La opcin por defecto es el directorio raz del mdulo web.

Creador de recopilatorios

Si desea ms informacin sobre la creacin de archivos JAR, consulte El Creador de recopilatorios en Creacin de aplicaciones con JBuilder.

4 Genere el proyecto para crear el archivo JAR.

16-4

Gua del desarrollador de aplicaciones web

Java Web Start y JBuilder

5 Utilice el Asistente para el inicio de Web Start (Archivo|Nuevo|Web) para


crear el archivo JNLP y la pgina principal del applet o la aplicacin. Introduzca las siguientes opciones: Tabla 16.2 Opciones del asistente para el inicio de Web Start Opcin
Nombre: el nombre de la aplicacin o applet Web Start. Mdulo Web: el nombre del mdulo web que alberga al archivo JAR. Archivo JAR: nombre y va de acceso al archivo JAR. Clase principal: en el caso de las applets, la clase del applet. Para aplicaciones, la clase que contiene el mtodo main(). Crear pgina de inicio: crea una pgina de inicio. Djela activada. Nombre del applet: nombre del applet. Raz de documentos: raz del applet. Si desea ms informacin, consulte Directorio del mdulo en la pgina 3-8. Width: el ancho del applet (en pxeles). Height: la altura del applet (en pxeles). Ttulo: ttulo de la aplicacin. Fabricante: nombre de la empresa. Descripcin: descripcin de la aplicacin. Permitir uso fuera de lnea: marque para iniciar desde el escritorio.

Inicio de Web Start


Paso 1: introduzca informacin requerida

Paso 2: introduzca informacin del applet (slo se muestra con las applets)

Paso 3: introduzca informacin descriptiva

6 Cree una configuracin de ejecucin de servidor. Consulte Creacin de


una configuracin de ejecucin del servidor en la pgina 8-5. Para URI de inicio, seleccione el archivo HTML creado por el Inicio de Web Start. Este archivo se encuentra en la carpeta Directorio del mdulo del mdulo web.

7 Haga clic con el botn derecho del ratn en el archivo HTML de la


aplicacin (creado por el Asistente para el inicio de Web Start) y seleccione Ejecutar web Nombre de la configuracin de servidor. El archivo HTML se encuentra en la carpeta Directorio del mdulo del mdulo web, en el panel del proyecto.

8 Copie la URL de la aplicacin que est en el campo URL, en la parte


superior de la ficha Ver web. Se puede configurar esta opcin automticamente en el nodo Web del cuadro de dilogo Preferencias (Herramientas|Preferencias).

9 Pegue la direccin URL en el campo Ubicacin del navegador externo. 10 Pulse en el enlace a la aplicacin en la pgina web. Tenga en cuenta que
slo se ejecutar si se ha instalado Java Web Start 1.4.2 independientemente. Todos estos pasos se describen con ms detalle en el Captulo 21, Tutorial: Ejecucin de CheckBoxControl con Java Web Start.
Nota

El uso de Java Web Start con applets resuelve los problemas de incompatibilidad del navegador. Siempre que el navegador tenga el plugin
1 6 -5

C a p t u l o 1 6 : E j e c u c i n d e a p l i c a c i o n e s w e b c o n J a v a W e b S t a r t

Java Web Start y JBuilder

Java Web Start, podr descargar automticamente los JDK adecuados para ejecutar el applet. La clase principal de un applet Java Web Start es la clase real del applet a ejecutar. La ficha de informacin de applet recoge unos cuantos valores necesarios para simular que el applet est ejecutndose en una pgina web, que es donde un applet espera ejecutarse (cuando de hecho est siendo alojado por el plugin Java Web Start).

El archivo JAR de la aplicacin


El Creador de recopilatorios de JBuilder permite seleccionar un tipo de recopilatorio JAR de un applet Web Start o de una aplicacin Web Start. El Creador de recopilatorios coloca el archivo JAR resultante en el directorio del mdulo web seleccionado, de forma que el servidor web puede proporcionarlo.

El archivo JNLP y la pgina de inicio de la aplicacin


El Asistente para el inicio de Web Start de JBuilder crea el archivo JNLP y la pgina de inicio HTML de la aplicacin. El asistente tambin permite que se especifique el nombre de la aplicacin, el de la empresa que la cre y una descripcin. Esta informacin se presenta cuando Java Web Start inicia su aplicacin. Adicionalmente, se puede utilizar el asistente para permitir que la aplicacin se inicie fuera de lnea, desde un icono en el escritorio.
Nota Advertencia

El Asistente para el inicio de Web Start supone que ya ha creado y generado el archivo JAR de su aplicacin. El asistente para el inicio de Web Start otorga el mismo nombre a los archivos JNLP y HTML. Si el nombre introducido en el campo Nombre en el Paso 1 del asistente coincide con un archivo HTML o JNLP existente en el proyecto, se le pregunta si quiere sobrescribirlo. El archivo JNLP es un documento XML. Los elementos del archivo describen las caractersticas de la aplicacin, como el nombre de la aplicacin, el fabricante y la pgina de inicio; as como las caractersticas JNLP. Si desea ms informacin, consulte JNLP File Syntax en la Developers Guide de Java Web Start, en http://java.sun.com/products/javawebstart/docs/ developersguide.html.

Nota

Antes de distribuir la aplicacin de Web Start, se debe cambiar el atributo codebase en el archivo JNLP. Este atributo se genera automticamente como localhost:8080. Necesitar cambiarlo para que coincida con su servidor Web. Como parte del kit de desarrollo, Java Web Start 1.2 incluye ahora un servlet que le permite generar automticamente la base de cdigo apropiada. Si desea obtener ms informacin, consulte http://java.sun.com/products/ javawebstart/1.2/docs/downloadservletguide.html. La pgina de inicio de su aplicacin es un archivo HTML que contiene cdigo tanto de JavaScript como de VBScript y etiquetado HTML. El script determina si se est ejecutando el archivo HTML en JBuilder o desde un navegador web

16-6

Gua del desarrollador de aplicaciones web

Java Web Start y JBuilder

externo. Si usted est en JBuilder, ver un mensaje en la vista Web que informa sobre la necesidad de Java Web Start para ejecutar esta aplicacin. La vista web tiene este aspecto: Figura 16.1 Vista web de Java Web Start

Si se encuentra en el navegador externo, pegue la direccin URL en el campo Ubicacin. Aparece un enlace a la aplicacin (si ya se ha instalado Web Start). Haga clic en el enlace para iniciar Java Web Start y ejecutar su aplicacin. El navegador externo tendr este aspecto. Figura 16.2 Navegador externo para Java Web Start

Importante

Las aplicaciones Java Web Start no pueden iniciarse desde JBuilder. Con el fin de iniciar su aplicacin, debe pegar la URL de la aplicacin en su navegador externo.

C a p t u l o 1 6 : E j e c u c i n d e a p l i c a c i o n e s w e b c o n J a v a W e b S t a r t

1 6 -7

16-8

Gua del desarrollador de aplicaciones web

Captulo

Captulo 17

Sugerencias sobre aplicaciones web

Desarrollo web es una funcin de JBuilder Developer y JBuilder Enterprise

En esta seccin se ofrecen sugerencias sobre el desarrollo, comprobacin, depuracin y ejecucin de aplicaciones web en un servidor web de produccin y en el IDE de JBuilder. Si desea obtener sugerencias sobre la depuracin de JSP, consulte Depurar pginas JSP en la pgina 6-14.

Creacin de una JSP en un subdirectorio del mdulo web


Cuando se crea una pgina JSP con el Asistente para JSP, sta se coloca en el subdirectorio especificado del mdulo web. Para ello:

1 Utilice el Asistente para WebApp (Archivo|Nuevo y, a continuacin,


seleccione el nodo Web de la galera de objetos) para crear un mdulo web. De esta forma se crea el directorio del mdulo o directorio raz.

2 Abra el Asistente para JSP (Archivo|Nuevo y, a continuacin, seleccione el


nodo Web de la galera de objetos).

3 En la ficha Declarar JSP y componentes del asistente, introduzca el


nombre del directorio, una barra y el nombre de la JSP en el campo Nombre, por ejemplo: subdir/jsp2 No introduzca espacios en el nombre del directorio.

C a p t u l o 1 7 : S u g e r e n c i a s s o b r e a p l i c a c i o n e s w e b

1 7 -1

C r e a c i n d e J S P c o n n o m b r e s i g u a l e s

El asistente crea el subdirectorio y coloca en l la JSP. Para ver la pgina JSP en el panel del proyecto de JBuilder, pulse el nodo Mdulo Web y, a continuacin, el nodo Directorio del mdulo. Pulse la subcarpeta para mostrar la JSP en esa carpeta.

Creacin de JSP con nombres iguales


Es posible crear JSP con nombres iguales en directorios diferentes del mdulo web. Puede que le interese hacerlo si, por ejemplo, su aplicacin web tiene una JSP de conexin para el almacenamiento electrnico y para las correspondientes funciones administrativas. Si desea ms informacin sobre la creacin de JSP en los subdirectorios de un mdulo web, consulte el apartado anterior.

Especificacin de un directorio para un servlet generado a partir de una JSP


El manejo de un servlet generado a partir de una JSP es dependiente del servidor. No se debe indicar un directorio distinto de aqul en el que se genera el servlet, ni copiarlo a otro directorio. Esto se debe a que el servidor intenta proporcionar el servlet generado en el directorio por defecto. Adems, el depurador de JBuilder no puede depurar la JSP si no se encuentra en el directorio esperado.

Cambio del nmero de puerto del servidor web


De vez en cuando puede encontrarse con el problema de que otra aplicacin est utilizando el nmero de puerto asignado por defecto al servidor web (normalmente es 8080). Puede volver a asignar el nmero de puerto o indicar a JBuilder que busque un puerto no utilizado. (En una instalacin tpica, est configurado por defecto.) Para ello:

1 Seleccione Ejecutar|Configuraciones y elija una configuracin de ejecucin


para el mdulo web. Seleccione Modificar.

2 En el cuadro de dilogo Modificar configuracin de ejecucin, seleccione el


Servicio JSP/Servlet en la lista Categora.

3 Introduzca el nmero de puerto que debe monitorizar el servidor web en el


campo Nmero de puerto.

4 Seleccione la opcin Buscar puerto disponible con el fin de indicar a


JBuilder que elija otro puerto si el especificado se encuentra en uso. (La bsqueda de puerto se efecta solamente la primera vez que se solicita la ejecucin web.) Resulta til seleccionar esta opcin cuando se ejecuta ms de un servlet o una JSP, pues de otra forma se podra recibir un mensaje

17-2

Gua del desarrollador de aplicaciones web

A d i c i n d e u n a r c h i v o X M L e s p e c f i c o d e l s e r v i d o r a l a r c h i v o W A R

que indica que el puerto est ocupado. Tambin es til activar esta opcin en el caso de que un problema de usuario provoque la cada del servidor web. Esta opcin proporciona proteccin en el caso de que el servidor web no se cierre de manera adecuada. Esta opcin funciona junto con las opciones de inicio de la ficha Web del cuadro de dilogo Preferencias (Herramientas|Preferencias) cuando un proceso ajeno a la web utiliza el puerto.
Nota

Esta opcin no est disponible si se utiliza JBuilder Developer con el contenedor web de Borland Enterprise Server AppServer Edition 5.2.1. Si el contenedor web est configurado para el uso en JBuilder Developer, se lee el puerto de Tomcat para el servicio JSP/Servlet y no se puede cambiar.

Adicin de un archivo XML especfico del servidor al archivo WAR


Si no est utilizando un servidor que admita JBuilder, tiene que aadir un archivo XML especfico del servidor a la carpeta WEB-INF y al proyecto. Para ello:

1 Coloque el archivo XML especfico del servidor en la carpeta WEB-INF del


mdulo web.

2 En JBuilder, utilice el botn Aadir archivos/paquetes/clases para aadir el


archivo XML al proyecto. JBuilder incluye automticamente todos los archivos .xml en el directorio WEB-INF del archivo WAR; al crear el archivo WAR, se incluir el archivo aadido.

Adicin de otros tipos de archivo al mdulo web e inclusin en el archivo WAR


Al desarrollar su aplicacin web, puede crear archivos de recursos. Para que estos archivos se distribuyan correctamente, es necesario que se copien en la carpeta WEB-INF/classes del archivo WAR. Para ello:

1 Coloque sus archivos de recursos en una carpeta fuera de la carpeta src


de nombre resources. (Asegrese de que ha hecho referencia a los archivos correctamente desde su cdigo.)

2 En JBuilder, utilice el botn Aadir archivos/paquetes/clases para aadir el


archivo de recursos a su proyecto.

3 Pulse el botn derecho del ratn en el archivo, en el panel del proyecto, y


seleccione Propiedades.

4 En el nodo Generar|Recurso, desplcese hasta el tipo de archivo que


desea aadir. Pulse el botn Copiar de la parte superior de la ficha y el

C a p t u l o 1 7 : S u g e r e n c i a s s o b r e a p l i c a c i o n e s w e b

1 7 -3

P r e s e n t a c i n d e l c o n t e n i d o d e l d i r e c t o r i o W E B - I N F

botn Copiar del lateral de la ficha. Haga clic en Aceptar para cerrar el cuadro de dilogo.

5 Haga clic con el botn derecho del ratn en el nodo del mdulo web, en el
panel del proyecto, y seleccione Limpiar.

6 Seleccione Proyecto|Generar de nuevo para generar el proyecto. Si el


mdulo web no se genera automticamente cuando se selecciona Ejecutar Make o Generar para el proyecto, haga clic con el botn derecho del ratn en el mdulo web y seleccione Ejecutar Make.

7 Haga doble clic en el archivo WAR en el panel del proyecto para abrirlo en
el panel de estructura. Abra la carpeta WEB-INF/classes en el panel de estructura. Aparece la carpeta resources.
Nota

No aada archivos directamente al directorio WEB-INF/classes.

Presentacin del contenido del directorio WEB-INF


Si el contenido del directorio WEB-INF no aparece en el panel del proyecto, abra el cuadro de dilogo Propiedades de Mdulo Web (seleccione Propiedades en el men contextual del nodo mdulo web) y active la opcin Sincronizar el directorio del mdulo con el contenido del recopilatorio de la ficha Generar. Vuelva a generar el proyecto.

Desactivacin de la generacin automtica del archivo WAR


Mientras desarrolla su aplicacin web, la creacin del archivo WAR cada vez que seleccione Ejecutar Make o Generar de nuevo su proyecto puede llevarle mucho tiempo. Si no desea generar el archivo WAR hasta que se genere la aplicacin web (en lugar del proyecto), configure la opcin Generar del cuadro de dilogo Propiedades de Mdulo Web. Para ello:

1 Haga clic con el botn derecho del ratn en el nodo del mdulo web, en el
panel del proyecto, y seleccione Propiedades.

2 En el nodo Generar, haga clic en la lista desplegable Generar. Seleccione


la opcin Slo al generar el mdulo web. Tambin puede elegir Nunca y volver a configurar la opcin cuando est listo para distribuir su aplicacin web. Si la opcin Slo al generar el mdulo web est seleccionada, haga clic con el botn derecho del ratn en el mdulo web, en el panel del proyecto, y seleccione Ejecutar Make o Generar de nuevo para crear el archivo WAR.
Nota

Tambin se puede configurar esta opcin en la primera ficha del Asistente para mdulos web al crear el mdulo.

17-4

Gua del desarrollador de aplicaciones web

C o m p r o b a c i n d e u n a a p l i c a c i n w e b e n u n n a v e g a d o r e x t e r n o

Comprobacin de una aplicacin web en un navegador externo


Al ejecutar su aplicacin web en el IDE de JBuilder, las JSP o servlets aparecen en el panel Ver web, en un navegador web incorporado. Este navegador no pretende ser un navegador con todas las funciones y no admite completamente Flash, QuickTime y JavaScript. Por ello, puede que desee comprobar su aplicacin web en un navegador externo. Si desea utilizar un navegador externo en lugar del incorporado, configure las opciones del nodo Web del cuadro de dilogo Preferencias:

1 Seleccione Herramientas|Preferencias para abrir el cuadro de dilogo


Preferencias. Haga clic en el nodo Web.

2 Seleccione la opcin Copiar URL de depuracin o ejecucin Web al


portapapeles. Esta opcin copia automticamente la URL generada en el portapapeles, para que pueda pegarla en el campo de direccin de su navegador externo.

3 En la seccin Opciones de vista web del cuadro de dilogo, seleccione la


opcin No usar vista web, ejecutar en proceso separado. Esta opcin inicia un navegador web externo. Despus de configurar estas opciones, ejecute su aplicacin web como lo hara normalmente. Cuando el servidor haya servido su aplicacin web, tal y como lo indiquen los mensajes de salida en el panel de mensajes, abra un navegador externo, como Netscape o Internet Explorer. Pegue la URL que se copi automticamente en el portapapeles en el campo de direccin. Su aplicacin web se ejecutar en ese navegador externo. Tenga en cuenta que faltan los paneles Ver web y Ver cdigo fuente web de JBuilder.

Apertura de un diseador de Struts


El Diseador de Action y el Diseador de Form Bean de Struts se pueden abrir de tres formas distintas:
s

Cree una Action o un FormBean mediante el Asistente para Action o el Asistente para ActionForm. Active la opcin Abrir el Diseador de Action o Abrir el Diseador de Form Bean en la primera ficha del asistente. Si se pulsa Finalizar en el asistente, el diseador se abre automticamente. Haga clic con el botn derecho en el nodo del panel de estructura correspondiente al archivo struts-config.xml y seleccione Aadir Action o Aadir FormBean. En la ficha Visin general del Editor de configuracin de Struts, seleccione Aadir. Escriba el nombre de la Action o del Form Bean, seleccinelo y haga clic en Modificar. Aparece el diseador visual. Haga doble clic en una Action o en un Form Bean, en el panel de estructura, para el archivo struts-config.xml. Aparece el diseador visual.

C a p t u l o 1 7 : S u g e r e n c i a s s o b r e a p l i c a c i o n e s w e b

1 7 -5

A p e r t u r a d e l d i s ea d o r d e T i l e s

Apertura del diseador de Tiles


Para abrir el Diseador de Tiles de Struts:

1 Haga doble clic en el archivo descriptor de distribucin de Tiles, en el panel


del proyecto.

2 Para aadir una definicin, pulse el botn Aadir de la ficha Visin general,
seleccinela y pulse Modificar.

3 Para modificar una definicin, seleccinela y pulse el botn Modificar. 4 Seleccione la pestaa Diseador de Definition para abrir el Diseador de
Tiles.

Creacin de un archivo tiles-def.xml


Cree un mdulo web mediante el Asistente para mdulos web (Archivo| Nuevo|Web). En la ficha del asistente Configurar parmetros del mdulo web, seleccione la opcin Struts 1.1 y, a continuacin, la opcin Tiles. Se aade un archivo tiles-def.xml al mdulo web.

Creacin de un archivo validation.xml


Cree un mdulo web mediante el Asistente para mdulos web (Archivo| Nuevo|Web). En la ficha del asistente Configurar parmetros del mdulo web, seleccione la opcin Struts 1.1 y, a continuacin, la opcin Validation. Se aade un archivo validation.xml al mdulo web.

Adicin y registro de descriptores de distribucin


Es posible aadir descriptores de distribucin de Struts al mdulo web de forma manual, adems de crear descriptores de distribucin mediante el Asistente para mdulos web. (Si se crean descriptores de distribucin mediante el asistente, se aaden automticamente al mdulo web y se registran.) Para aadir y registrar manualmente descriptores de distribucin adicionales:

1 Cree el archivo descriptor de distribucin XML en un editor de texto y


cpielo en el directorio WEB-INF del mdulo web.

2 Haga clic con el botn derecho del ratn en la carpeta Struts 1.1 del nodo
Descriptor de distribucin del mdulo web. Seleccione Propiedades para abrir el cuadro de dilogo Propiedades de Struts.

3 Para registrar un nuevo descriptor de distribucin de Struts, pulse el botn


Aadir de la parte superior del cuadro de dilogo. Para registrar un nuevo

17-6

Gua del desarrollador de aplicaciones web

Adici n y r e g i s t r o d e d e s c r i p t o r e s d e d i s t r i b u c i n

descriptor de distribucin de Tiles, pulse el botn Aadir de la parte inferior del cuadro de dilogo.

4 Seleccione el descriptor de distribucin que acaba de crear y pulse


Aceptar.

5 Pulse Volver a examinar los archivos descriptores de distribucin, en la


parte superior del cuadro de dilogo Propiedades de Struts, y pulse Aceptar para cerrar el cuadro de dilogo.

C a p t u l o 1 7 : S u g e r e n c i a s s o b r e a p l i c a c i o n e s w e b

1 7 -7

17-8

Gua del desarrollador de aplicaciones web

Captulo

Captulo 18

Tutorial: Creacin de un servlet simple

Desarrollo web es una funcin de JBuilder Developer y JBuilder Enterprise

Este tutorial muestra cmo desarrollar y probar un servlet en JBuilder, mediante el motor servlet Tomcat. Dicho servlet acepta entradas del usuario y cuenta el nmero de visitantes a una sede web. El servlet, generado con el Asistente para servlets, muestra un formulario para remitir un nombre de usuario. Cuando se enva el formulario, el servlet cambia para mostrar el nombre del usuario y un contador del nmero de visitantes. Todos los servlets se generan ampliando una clase Servlet bsica y definiendo mtodos Java para atender las conexiones entrantes. El servlet de este ejemplo ampla la clase HttpServlet, que interpreta el protocolo HTTP y realiza la mayora de las operaciones subyacentes que necesitan las aplicaciones web. Si desea ms informacin sobre los servlets, consulte los siguientes apartados:
s s

Captulo 4, Los servlets Captulo 5, Los servlets en JBuilder

Para obtener ms informacin sobre mdulos web, consulte el Captulo 3, Los mdulos web y los archivos WAR. Este tutorial supone que usted est familiarizado con Java y con el IDE (Entorno integrado de desarrollo) de JBuilder. Para obtener ms informacin sobre los constructores, consulte Procedimientos iniciales con Java. Para obtener ms informacin sobre el IDE de JBuilder IDE, consulte El entorno de JBuilder en Introduccin a JBuilder.

C a p t u l o 1 8 : T u t o r i a l : C r e a c i n d e u n s e r v l e t s i m p l e

1 8 -1

P a s o 1 : C r e a c i n d e l p r o y e c t o y s e l e c c i n d e l s e r v i d o r

El apartado de opciones de accesibilidad en las Sugerencias de JBuilder contiene sugerencias sobre la utilizacin de las funciones de JBuilder para mejorar la facilidad de uso de JBuilder por parte de personas con discapacidades. Para obtener informacin sobre las convenciones utilizadas en este tutorial y en otra documentacin de JBuilder, consulte Convenciones de la documentacin en la pgina 1-3.

Paso 1: Creacin del proyecto y seleccin del servidor


Para desarrollar en JBuilder el servlet Hola a Todos de nuestro ejemplo, primero debe crear un proyecto. Para ello:

1 Seleccione Archivo|Nuevo proyecto para abrir el Asistente para proyectos. 2 Escriba SimpleServlet en el campo Nombre, tal como se muestra en la
siguiente ilustracin. El campo Directorio se rellena automticamente.

3 Pulse Finalizar para cerrar el asistente y crear el proyecto. El archivo de


proyecto SimpleServlet.jpx aparece en el panel del proyecto.

4 Seleccione Proyecto|Propiedades de proyecto|Servidor para abrir el nodo


Servidor del cuadro de dilogo Propiedades de proyecto. Seleccione la opcin Servidor nico para todos los servicios del proyecto. Escoja la opcin Tomcat 4.0 en la lista desplegable.

5 Haga clic en Aceptar para cerrar el cuadro de dilogo. Ahora, el proyecto


define Tomcat 4.0 como objetivo.

18-2

Gua del desarrollador de aplicaciones web

P a s o 2 : C r e a c i n d e l m d u l o w e b

Paso 2: Creacin del mdulo web


Cuando se desarrollan aplicaciones web, uno de los primeros pasos es la creacin de un mdulo web, esto es, la recopilacin de los archivos de contenido de la web de la aplicacin web. Para crear un mdulo web:

1 Para mostrar la galera de objetos, seleccione Archivo|Nuevo. Haga clic en


el nodo Web y seleccione Mdulo Web (WAR). Pulse Aceptar.

2 Aparece la ficha Seleccionar origen del mdulo web del Asistente para
Mdulo Web. Deje la opcin por defecto, Crear mdulo web vaco. La ficha presenta un aspecto similar al siguiente:

3 Pulse Siguiente para dirigirse a la ficha Introduzca atributos bsicos para


aplicaciones web. Deje el campo Nombre con la opcin por defecto, WebModule1. El campo Directorio tambin tiene el valor WebModule1.

4 Asegrese de que la opcin Generar recopilatorio web tiene el valor


Nunca.

C a p t u l o 1 8 : T u t o r i a l : C r e a c i n d e u n s e r v l e t s i m p l e

1 8 -3

P a s o 2 : C r e a c i n del m d u l o w e b

5 Deje la opcin Estndares disponibles con el valor Servlet 2.3 y JSP 1.2.
La ficha Introduzca atributos bsicos para aplicaciones web del Asistente para Mdulo Web debe tener un aspecto parecido al siguiente:

6 Pulse Finalizar para cerrar el asistente y crear el mdulo web. No es


necesario cambiar las opciones por defecto de las dems fichas del asistente. El mdulo web WebModule1 se presenta en el panel del proyecto en forma de nodo. Ample el nodo con el fin de ver el descriptor de distribucin y los nodos del directorio del mdulo.

Para obtener ms informacin sobre mdulos web, consulte el Captulo 3, Los mdulos web y los archivos WAR.

18-4

Gua del desarrollador de aplicaciones web

Paso 3: Creacin del servlet con el Asistente para servlets

Paso 3: Creacin del servlet con el Asistente para servlets


En este paso, se crear el servlet mediante el Asistente para servlets. Podr utilizar el asistente para:
s s s s s s

Introducir el nombre de clase del servlet. Escoger el tipo de servlet y su tipo de contenido. Escoger los mtodos HTTP que hay que implementar. Crear un archivo de formulario HTML para probar el servlet. Crear parmetros para el servlet. Crear una configuracin de ejecucin para ejecutar en el IDE.

Si desea obtener ms informacin sobre las opciones, pulse el botn Ayuda del asistente. Para crear esta aplicacin:

1 Para mostrar la galera de objetos, seleccione Archivo|Nuevo. Haga clic en


el nodo Web y seleccione Servlet. Pulse Aceptar.

2 Aparece la ficha Seleccione el nombre y el tipo de servlet del Asistente


para servlets. Desactive la opcin Generar comentarios de cabecera y acepte las dems opciones por defecto. La ficha Seleccione el nombre y el tipo de servlet tiene este aspecto:

3 Haga clic en Siguiente para ir a la ficha Modificar detalles del servlet


estndar.

4 Una vez en dicha ficha, asegrese de que en la lista desplegable Servlet


genera contenido de tipo est seleccionado HTML. En la seccin Implementar mtodos, seleccione el mtodo doPost(). Asegrese de que est seleccionado el mtodo doGet(). Seleccione la opcin Generar archivo
1 8 -5

C a p t u l o 1 8 : T u t o r i a l : C r e a c i n d e u n s e r v l e t s i m p l e

P a s o 3 : C r e a c i n d e l s e r v l e t c o n e l A s i s t e n t e p a r a s e r v l e t s

HTML con el formulario. La ficha Modificar detalles del servlet estndar debera tener este aspecto:

5 Haga clic en Siguiente para ir a la ficha Introduzca los parmetros de la


peticin del servlet.

6 Pulse el botn Aadir parmetro con el fin de crear un parmetro de


servlet. Este parmetro contiene el nombre introducido en el campo de entrada de texto del servlet. La siguiente tabla describe los campos y valores a utilizar por este tutorial. Introduzca los valores que estn en la columna Valor de la tabla siguiente: Tabla 18.1
Nombre*

Opciones de parmetros del Asistente para servlets Valor UserName Descripcin


El parmetro utilizado en la etiqueta <form> del archivo HTML. Contiene la Cadena que introduce el usuario en el campo de entrada de texto del formulario. El tipo de la variable en lenguaje Java. (Es la opcin por defecto y ya est seleccionada.) El comentario que se aade al cdigo fuente del servlet. El nombre de la variable usada en Servlet1.java que contiene el nombre del usuario que se le ha pasado mediante el archivo HTML. El valor por defecto de la variable

Nombre del parmetro

Tipo*

String

Desc Variable*

Nombre de usuario userName

Valor por defecto

User!

userName.

18-6

Gua del desarrollador de aplicaciones web

Paso 3: Creacin del servlet con el Asistente para servlets

Cuando termine, la ficha Introduzca los parmetros de la peticin del servlet del asistente debe tener este aspecto:

7 Pulse Siguiente para ir a la ficha Introduzca los detalles de webapp, en la


que se especifican un nombre y un mapeo para el servlet.

8 Acepte el nombre y el patrn de URL por defecto. La ficha Introduzca los


detalles de webapp tiene este aspecto:

9 Pulse Siguiente para pasar a la ficha Definir configuracin del servlet.

C a p t u l o 1 8 : T u t o r i a l : C r e a c i n d e u n s e r v l e t s i m p l e

1 8 -7

P a s o 4 : A d i c i n de cd i g o a l s e r v l e t

10 Asegrese de que la opcin Crear una configuracin de ejecucin est


activada. El Asistente para servlets crea automticamente una configuracin de ejecucin llamada Servlet1. Esta configuracin se utiliza para ejecutar el proyecto en la web en el IDE de JBuilder. Si desea ms informacin, consulte Creacin de una configuracin de ejecucin en la pgina 8-2. La ficha Definir la configuracin del servlet tiene este aspecto:

11 Pulse Finalizar para crear el servlet.


Los archivos Servlet1.java y Servlet1.html se aaden al proyecto. Observe que se ha aadido servlet1.html al nodo Directorio raz del mdulo web. La biblioteca Servlet se aade a la lista Bibliotecas necesarias de la ficha Vas de acceso del cuadro de dilogo Propiedades de proyecto (Proyecto| Propiedades de proyecto).

12 Seleccione Archivo|Guardar todo o pulse en la barra de herramientas para


guardar su trabajo.

Paso 4: Adicin de cdigo al servlet


En este paso, se aadir cdigo al Servlet1.java. Este cdigo crea un contador para el nmero de veces que ha sido visitada la pgina y muestra el total.

1 Abra Servlet1.java en el editor. Busque el comentario:


//Inicializar variables globales al principio del archivo. Inmediatamente antes de esa lnea, introduzca la siguiente lnea de cdigo: int connections = 0; Esta lnea de cdigo crea la variable connections y la inicializa a cero.

18-8

Gua del desarrollador de aplicaciones web

P a s o 5 : C o m p i l a c i n y e je c u c i n d e l s e rv l e t

2 Desplcese al mtodo doPost(). Escriba el siguiente cdigo en el cuerpo


del mtodo: String userName = request.getParameter("UserName"); if (userName == null) { userName = "User!"; } response.setContentType(CONTENT_TYPE); PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<h1>Servlet1 doPost method</h1>"); out.println("<body>"); out.println("<p>Thanks for visiting, "); out.println(userName); out.println("<p>Hello world - my first Java servlet program! "); out.println("<p>You are visitor number "); out.println(Integer.toString(++connections)); out.println("</html></body>");
Sugerencia

Este cdigo se puede copiar y pegar directamente en el editor. Estas lneas de cdigo obtienen el valor UserName guardado por el mtodo doGet(). El valor de UserName aparece en una sentencia out.println. A continuacin, el cdigo incrementa el nmero de visitantes y lo muestra.

3 Seleccione Archivo|Guardar todo o pulse en la barra de herramientas para


guardar su trabajo.

Paso 5: Compilacin y ejecucin del servlet


Para compilar y ejecutar el servlet:

1 Seleccione Proyecto| Ejecutar Make del proyecto SimpleServlet.jpx. 2 Pulse el botn derecho en servlet1.html en el panel del proyecto. Se
encuentra en el nodo Directorio del mdulo del nodo WebModule1:

3 Seleccione el comando Ejecutar web con Servlet1.

C a p t u l o 1 8 : T u t o r i a l : C r e a c i n d e u n s e r v l e t s i m p l e

1 8 -9

P a s o 5 : C o m p i l a c i n y e j e c u c i n d e l s e r v l e t

Nota

Tambin es posible ejecutar los servlets directamente si hace clic en el archivo .java con el botn derecho del ratn, en el panel del proyectos, y, a continuacin, selecciona Ejecutar web. En este ejemplo se ejecuta el servlet desde el archivo HTML porque es aqu donde se encuentra el cdigo correspondiente a los campos de introduccin de parmetros y el botn de envo, segn lo establecido en el Asistente para servlets. La ejecucin del archivo HTML inicia Tomcat, el servidor web por defecto de JBuilder. La salida de Tomcat se presenta en el panel de mensajes. Los comandos HTTP y los valores de parmetros tambin se reflejan en el panel de salida. Aparecen dos nuevas pestaas en el panel de contenido del servlet: Vista web y Ver cdigo fuente web. El archivo HTML aparece en la vista web. El campo URL de la parte superior de la vista web muestra la direccin URL http://localhost:8080/WebModule1/servlet1.html. La URL localhost:8080 representa el nombre de host y el puerto de Tomcat. La URI WebModule1/servlet1.html coincide con la seleccionada en el cuadro de dilogo URI de inicio. La vista web tiene este aspecto: Figura 18.1 Servlet que se ejecuta en la vista web

Nota

Puede que sea necesario pulsar el botn Actualizar de la parte superior de Vista web para que aparezca completamente el archivo HTML. Para ejecutar el servlet, escriba un nombre, como User en el campo de texto y pulse Enviar. Se llama al mtodo doPost() y la respuesta se muestra en el visualizador web, como se ve a continuacin. Figura 18.2 Servlet en ejecucin tras enviar el nombre

18-1 0

Gua del desarrollador de aplicaciones web

P a s o 5 : C o m p i l a c i n y e je c u c i n d e l s e rv l e t

Observe que la direccin URL ha cambiado a http://localhost:8080/ WebModule1/servlet1, lo que indica que el programa est ejecutando Servlet1.java. Para ejecutar de nuevo el servlet y ver el incremento del nmero de conexiones, pulse flecha atrs en la parte superior de la vista web. Introduzca otro nombre de usuario y pulse el botn Enviar. Cuando aparezca la respuesta del mtodo doPost(), ver que se ha incrementado el nmero de conexiones. Para detener el servidor web, pulse el botn Terminar el programa directamente encima de la pestaa del servidor web. Si se efectan cambios en el cdigo fuente, se debe detener el servidor web antes de su recompilacin y nueva ejecucin. Ya ha completado su primer programa servlet. Si desea crear un servlet ms avanzado que se conecta con una base de datos, consulte el Captulo 22, Tutorial: Creacin de un servlet que actualiza un libro de visitas.

C a p t u l o 1 8 : T u t o r i a l : C r e a c i n de un servlet simple

18 -1 1

18-1 2

Gua del desarrollador de aplicaciones web

Captulo

Tutorial: Creacin de una JSP mediante el Asistente para JSP


Captulo 19

Desarrollo web es una funcin de JBuilder Developer y JBuilder Enterprise

Este tutorial le acompaa a travs del desarrollo de una Pgina JavaServer (JSP) utilizando el Asistente para JSP de JBuilder. Esta JSP toma un texto como entrada, lo muestra como salida cuando se pulsa Enviar y utiliza un JavaBean para contar el nmero de visitas de la pgina. El Asistente para JSP constituye un buen punto de partida para la creacin de pginas JSP. No genera aplicaciones completas, sino que se encarga de todos los detalles repetitivos necesarios para que la aplicacin empiece a funcionar. Para abrir este asistente, seleccione Nuevo del men Archivo, pulse la pestaa Web y seleccione entonces JavaServer Page. Si desea obtener una completa informacin sobre las opciones del Asistente para JSP, consulte el tema Asistente para JSP en la ayuda en lnea. Para realizar pruebas en este tutorial, utilizar Tomcat. Este tutorial utiliza Tomcat porque viene incluido con JBuilder y no requiere una configuracin adicional. Tomcat es la implementacin de referencia de las especificaciones Java Servlet y Pginas JavaServer. Esta implementacin se puede utilizar en Apache Web Server y en otros servidores web y herramientas de desarrollo. Si desea ms informacin sobre Tomcat, consulte http://jakarta.apache.org. Este tutorial supone que usted est familiarizado con Java y con el IDE (Entorno integrado de desarrollo) de JBuilder. Para obtener ms informacin sobre los constructores, consulte Procedimientos iniciales con Java. Para obtener ms informacin sobre el IDE de JBuilder IDE, consulte El entorno de JBuilder en Introduccin a JBuilder.

C a p t u l o 1 9 : T u t o r i a l : C r e a c i n d e u n a J S P m e d i a n t e e l A s i s t e n t e p a r a J S P

1 9 -1

P a s o 1 : C r e a c i n d e p r o y e c t o s

El apartado de opciones de accesibilidad en las Sugerencias de JBuilder contiene sugerencias sobre la utilizacin de las funciones de JBuilder para mejorar la facilidad de uso de JBuilder por parte de personas con discapacidades. Para obtener informacin sobre las convenciones utilizadas en este tutorial y en otra documentacin de JBuilder, consulte Convenciones de la documentacin en la pgina 1-3.

Paso 1: Creacin de proyectos


1 Seleccione Archivo|Nuevo proyecto para abrir el Asistente para proyectos. 2 En el campo Nombre, introduzca un nombre de Proyecto, como
jsptutorial.

3 Pulse Finalizar para cerrar el asistente para Proyectos y crear el proyecto.


No se necesita hacer ningn cambio en los valores por defecto en los Pasos 2 y 3 del asistente. Se crea un nuevo proyecto.

Paso 2: Seleccin de un servidor


En este paso, se seleccionar el servidor Tomcat 4.0 como servidor de este proyecto.

1 Seleccione Proyecto|Propiedades de proyecto. Aparece el cuadro de


dilogo Propiedades de proyecto.

2 Seleccione la ficha Servidor. 3 Asegrese de que el botn de radio Servidor nico para todos los servicios
del proyecto est seleccionado.

4 Asegrese de que Tomcat 4.0 est seleccionado en la lista desplegable de


servidores.

5 Pulse Aceptar.

Paso 3: Creacin de un mdulo web


En este paso se crea un mdulo web para la JSP. Si desea ms informacin sobre los mdulos web y los archivos WAR, consulte el Captulo 3, Los mdulos web y los archivos WAR.

1 Seleccione Archivo|Nuevo|Web. 2 Seleccione Mdulo Web (WAR) y pulse Aceptar. Aparece el Asistente para
mdulos web.

19-2

Gua del desarrollador de aplicaciones web

P a s o 3 : C r e a c i n d e u n m d u l o w e b

3 Deje seleccionada Crear mdulo web vaco (la opcin por defecto) y pulse
Siguiente.

4 Escriba un nombre para el mdulo web, como jspwebmodule. El campo


Directorio se rellena automticamente con el mismo nombre.

5 Deje la opcin por defecto de Generar recopilatorio web. 6 Deje la opcin por defecto de Estndares disponibles. El asistente debe
tener un aspecto semejante a:

7 Pulse Finalizar para cerrar el asistente.


Aparece un mdulo web, jspwebmodule, en el panel del proyecto. Ample el nodo para ver los nodos Descriptores de distribucin y Directorio del mdulo. Figura 19.1 Nodo del mdulo web en el panel del proyecto

C a p t u l o 1 9 : T u t o r i a l : C r e a c i n d e u n a J S P m e d i a n t e e l A s i s t e n t e p a r a J S P

1 9 -3

P a s o 4 : C r e a c i n de l a J S P

Paso 4: Creacin de la JSP


En este paso crear el esqueleto de una JSP con el Asistente para JSP.

1 Seleccione Archivo|Nuevo|Web. 2 Seleccione Pgina JavaServer y pulse Aceptar. Se abre el Asistente para
JSP.

3 En el campo Nombre, escriba JSPWithCounter. Este es el nombre de la JSP. 4 Active Generar Bean de ejemplo y desactive Generar pgina de error. El
asistente tendr un aspecto parecido a:

5 Pulse Siguiente. 6 Marque Generar formulario de envo. El asistente tendr un aspecto


parecido a:

19-4

Gua del desarrollador de aplicaciones web

Paso 5: Adicin de funciones al JavaBean

7 Pulse Finalizar para aceptar todos los valores por defecto de las restantes
fichas del asistente. Se aade un archivo JSPWithCounter.jsp al directorio raz del mdulo web. Ample el nodo Directorio del mdulo en el panel del proyecto, para verlo. Tambin se ha aadido al proyecto el bean de ejemplo JSPWithCounterBean.java, en el paquete jsptutorial. Este bean es llamado por la JSP. El Asistente para JSP tambin crea automticamente una configuracin de ejecucin de manera que la JSP pueda ejecutarse en el IDE. Si desea obtener ms informacin sobre las configuraciones de ejecucin, consulte Definicin de las configuraciones de ejecucin en Creacin de aplicaciones con JBuilder Si desea ms informacin sobre la creacin de configuraciones de ejecucin mediante asistentes, consulte Creacin de una configuracin de ejecucin con los asistentes en la pgina 8-2.

Paso 5: Adicin de funciones al JavaBean


En este momento se han creado una pgina JSP y un JavaBean que aquella puede utilizar. El siguiente paso de este tutorial consiste en crear un mtodo para contar el nmero de accesos a una pgina web.

1 Ample el nodo del paquete jsptutorial en el panel del proyecto. 2 Haga doble clic en JSPWithCounterBean.java. 3 Modifique el cdigo fuente como sigue, introduciendo los fragmentos en
negrita en el cdigo existente: package jsptutorial; public class JSPWithCounterBean { /**inicializar la variable aqu*/ private int myCount=0; private String sample = "Start value"; //Acceder a la propiedad sample public String getSample() { return sample; } //Acceder a la propiedad sample public void setSample(String newValue) { if (newValue!=null) { sample = newValue; } } /**Nuevo mtodo para el recuento de veces*/ public int count() { return ++myCount; } }

4 Seleccione Archivo|Guardar todo y se guardar el trabajo.


C a p t u l o 1 9 : T u t o r i a l : C r e a c i n d e u n a J S P m e d i a n t e e l A s i s t e n t e p a r a J S P 1 9 -5

P a s o 6 : M o d i f i c a c i n del c d i g o d e l a J S P

Paso 6: Modificacin del cdigo de la JSP


En este paso, modificar el cdigo de la JSP con el fin de contar el nmero de visitas.

1 Haga doble clic en JSPWithCounter.jsp en el panel del proyecto con el fin de


abrirlo en el editor. Recuerde que est en el nodo Directorio del mdulo del mdulo web.

2 Modifique el archivo generado como sigue, aadiendo el cdigo en


negrita. Puede utilizar TagInsight y resaltar el cdigo fuente de la JSP para orientarse. <html> <head> <title> JspWithCounter </title> </head> <jsp:useBean id=jSPWithCounterBeanId scope=session class="jsptutorial.JSPWithCounterBean" /> <jsp:setProperty name="jSPWithCounterBeanId" property="*" /> <body> <h1> JSP generada por JBuilder </h1> <form method="post"> <br>Enter new value: <input name=sample><br> <br><br> <input type="submit" name="Submit" value="Submit"> <input type="reset" value="Reset"> <br> Value of Bean property is: <jsp:getProperty name=JSPWithCounterBeanId property="sample" /> <p>Esta pgina ha sido visitada: <%= jSPWithCounterBeanId.count() %> veces.</ p> </form> </body> </html>

3 Seleccione Archivo|Guardar todo y se guardar el trabajo.


La lnea de cdigo que acaba de aadir utiliza una etiqueta expression de JSP para llamar al mtodo count() de la clase JSPWithCounterBean e inserta el valor devuelto en el HTML generado. Para obtener ms informacin sobre las etiquetas individuales, consulte Etiquetas JSP en la pgina 6-3. Fjese en las etiquetas <jsp:useBean/>, <jsp:setProperty/> y <jsp:getProperty/> en el cdigo anterior. Estas fueron aadidas por el Asistente para JSP. La etiqueta useBean crea una instancia de la clase JSPWithCounterBean. Si la instancia ya existe, se recupera. Si no existe, se crea. Las etiquetas setProperty y getProperty permiten manipular propiedades del bean. El resto del cdigo que gener el Asistente para JSP es HTML estndar.

19-6

Gua del desarrollador de aplicaciones web

P a s o 7 : E j e c u c i n d e l a p g i n a J S P

Paso 7: Ejecucin de la pgina JSP


Con el fin de poder ejecutar la JSP, las propiedades de ejecucin del proyecto deben configurarse correctamente en Proyecto|Propiedades de proyecto| Ejecutar. En este tutorial, las propiedades de ejecucin fueron ya fijadas por el Asistente para JSP, de modo que pueda seguir adelante y ejecutar la JSP.

1 Haga clic con el botn derecho del ratn en JSPWithCounter.jsp en el nodo


Directorio del mdulo del nodo del mdulo web. Elija Ejecutar web usando JSPWithCounter en el men.
Nota

El comando Ejecutar web incluye el nombre de una configuracin de ejecucin, en este caso, GuestbookJSP. Esta configuracin de ejecucin fue creada automticamente por el Asistente para JSP. Por defecto, el asistente asigna a la configuracin el mismo nombre que la JSP. Si desea obtener ms informacin sobre las configuraciones de ejecucin, consulte Definicin de las configuraciones de ejecucin en Creacin de aplicaciones con JBuilder. El proyecto se compila y se ejecuta. Los errores de compilacin se muestran en el panel de mensajes. Si ocurren errores, consulte el tema Depuracin web del servlet o de la JSP en la pgina 8-20. Si no hay errores, se inicia el servidor web y en el panel de contenido aparecen dos nuevas pestaas, Vista web y Ver cdigo fuente web. Tomcat, que se instala junto con JBuilder, es un motor de servlet que admite archivos servlet y JSP. La Vista web es un navegador que muestra la salida de la ejecucin de la JSP. La pestaa Ver cdigo fuente web muestra el cdigo HTML real que la JSP ha generado dinmicamente. Si se han seguido todos los pasos correctamente, la pgina JSP en ejecucin presentar este aspecto: Figura 19.2 JSP en Vista web

C a p t u l o 1 9 : T u t o r i a l : C r e a c i n d e u n a J S P m e d i a n t e e l A s i s t e n t e p a r a J S P

1 9 -7

P a s o 7 : E j e c u c i n d e l a p g i n a J S P

La pestaa Vista web del panel de contenido presenta la pgina JSP. Para la comprobacin local, la URL seala a localhost:8080, que es donde se est ejecutando Tomcat. Para probar la JSP:

1 Seleccione la URL que aparece en la parte superior de la Vista web y


cpiela. Pguela en el campo URL en el navegador con todas las prestaciones que prefiera y vaya a la URL.
Nota

La Vista web de JBuilder ofrece algunas funciones de navegador, pero no es un navegador con todas las prestaciones. Para obtener un mejor resultado, copie la URL de la aplicacin web en ejecucin en un navegador externo y ejectela desde all.

2 Escriba cualquier texto en el campo de texto del navegador externo. 3 Pulse el botn Enviar del navegador externo. El valor introducido se
muestra debajo del botn, y el contador de la pgina aumenta. Los datos de salida y registro de Tomcat aparecen en una nueva pestaa, en el panel de mensajes. La salida de servlets, beans, comandos HTTP y valores de parmetros se muestra en el panel de mensajes. La configuracin de ejecucin de una JSP puede modificarse, o se puede crear una en la ficha Ejecutar del cuadro de dilogo Propiedades de proyecto (Proyecto| Propiedades de proyecto). Si desea ms informacin sobre la configuracin de las propiedades de ejecucin de las JSP, consulte Creacin de una configuracin de ejecucin del servidor en la pgina 8-5. JBuilder utiliza el puerto 8080 por defecto. Si este puerto est en uso, JBuilder buscar por defecto un puerto disponible.

Utilizacin de la pestaa Vista web


La ficha Vista web del panel de contenido muestra el archivo JSP despus de que lo procese el motor JSP. En este caso el motor de la JSP es Tomcat. El panel Ver web no se comporta de la misma forma que el panel de visualizacin. En el panel Vista web puede haber un retraso entre el momento en que se modifica el archivo JSP y cuando el cambio se muestra en l. Si desea ver los cambios mas recientes en un archivo JSP, seleccione el botn Actualizar de la barra de herramientas de la vista, al igual que hara en cualquier navegador web. Si se estuviera depurando la JSP, se podra pulsar F9 para devolver la pantalla a la vista web.
Nota

La Vista Web no es un navegador completo. Si se experimenta algn problema con la ejecucin de la JSP en la Vista Web, copie la direccin URL en un navegador completo y conctese mediante ese navegador a la JSP que se est ejecutando.

19-8

Gua del desarrollador de aplicaciones web

P a s o 7 : E j e c u c i n d e l a p g i n a J S P

Depuracin de las JSP


Las JSP se compilan como servlets. Desde JBuilder se pueden depurar fragmentos de cdigo Java en el archivo JSP original, en lugar de depurarlas en el correspondiente servlet de Java generado. Si desea ms informacin sobre la distribucin de su JSP, consulte Depuracin web del servlet o de la JSP en la pgina 8-20.

Distribucin de la JSP
Para la distribucin en un servidor web de produccin, consulte en su documentacin lo relativo a la forma de distribuir archivos JSP en l. Si desea obtener informacin general sobre la distribucin de las JSP, consulte el Captulo 9, Distribucin de aplicaciones web. Como se indica en la base de datos FAQ de JSP, que se encuentra en http:/ /java.sun.com/products/jsp/faq.html, existen numerosas implementaciones de la tecnologa JSP para distintos servidores web. Puede encontrar la informacin ms reciente en java.sun.com.

C a p t u l o 1 9 : T u t o r i a l : C r e a c i n d e u n a J S P m e d i a n t e e l A s i s t e n t e p a r a J S P

1 9 -9

19-1 0

Gua del desarrollador de aplicaciones web

Captulo

Captulo 20

Tutorial: Creacin de una JSP con InternetBeans Express

Desarrollo web es una funcin de JBuilder Developer y JBuilder Enterprise

Este tutorial le ensea cmo crear una JSP que contenga InternetBeans. Cuando acabe con el tutorial, tendr una JSP que consulta una tabla de un JDataStore, muestra los comentarios del libro de visitas en una IxTable y permite que los visitantes introduzcan sus propios comentarios y los vean aparecer en el libro de visitas. Este tutorial presupone que est familiarizado con Java y las Pginas JavaServer (JSP), con el JBuilder IDE y con JDataStore. Para obtener ms informacin sobre los constructores, consulte Procedimientos iniciales con Java. Si desea ms informacin sobre Pginas JavaServer consulte el Captulo 6, Desarrollo de Pginas JavaServer. Para obtener ms informacin sobre el IDE de JBuilder, consulte El entorno de JBuilder en Introduccin a JBuilder. Para obtener ms informacin sobre JDataStore, consulteGua del desarrollador de JDataStore. El apartado de opciones de accesibilidad en las Sugerencias de JBuilder contiene sugerencias sobre la utilizacin de las funciones de JBuilder para mejorar la facilidad de uso de JBuilder por parte de personas con discapacidades. Para obtener informacin sobre las convenciones utilizadas en este tutorial y en otra documentacin de JBuilder, consulte Convenciones de la documentacin en la pgina 1-3.

C a p t u l o 2 0 : T u t o r i a l : C r e a c i n d e u n a J S P c o n I n t e r n e t B e a n s E x p r e s s

2 0 -1

P a s o 1 : C r e a c i n d e p r o y e c t o s

Paso 1: Creacin de proyectos


1 Seleccione Archivo|Nuevo proyecto para abrir el Asistente para proyectos. 2 En el campo Nombre, introduzca un nombre de Proyecto, como
jspixtutorial.

3 Pulse Finalizar para cerrar el asistente para Proyectos y crear el proyecto.


No se necesita hacer ningn cambio en los valores por defecto en los Pasos 2 y 3 del asistente. Se crea un nuevo proyecto.

Paso 2: Seleccin de un servidor


En este paso, se seleccionar el servidor Tomcat 4.0 como servidor de este proyecto.

1 Seleccione Proyecto|Propiedades de proyecto. Aparece el cuadro de


dilogo Propiedades de proyecto.

2 Seleccione la ficha Servidor. 3 Asegrese de que el botn de radio Servidor nico para todos los servicios
del proyecto est seleccionado.

4 Asegrese de que Tomcat 4.0 est seleccionado en la lista desplegable de


servidores.

5 Pulse Aceptar.

Paso 3: Creacin de un mdulo web


En este paso se crea un mdulo web para la JSP. Si desea ms informacin sobre los mdulos web y los archivos WAR, consulte el Captulo 3, Los mdulos web y los archivos WAR.

1 Seleccione Archivo|Nuevo|Web. 2 Seleccione Mdulo Web (WAR) y pulse Aceptar. Aparece el Asistente para
mdulos web.

3 Seleccione Crear mdulo web vaco (la opcin por defecto) y pulse
Siguiente.

4 Escriba un nombre para el mdulo web, como jspixwebmodule. El campo


Directorio se rellena automticamente mientras escribe.

20-2

Gua del desarrollador de aplicaciones web

P a s o 3 : C r e a c i n d e u n m d u l o w e b

5 Deje las opciones por defecto en Generar el recopilatorio Web y


Estndares disponibles. El asistente debe tener un aspecto semejante a:

6 Pulse Siguiente. 7 Elija el marco de trabajo InternetBeans Express 1.1 JSP/Servlet. No


especifique una URI de inicio. El asistente debe tener un aspecto semejante a:

8 Pulse el botn Finalizar.

C a p t u l o 2 0 : T u t o r i a l : C r e a c i n d e u n a J S P c o n I n t e r n e t B e a n s E x p r e s s

2 0 -3

Paso 4: Utilizacin del Asistente para JSP

Aparece un nuevo mdulo web, jspixwebmodule, en el panel del proyecto. Ample el nodo para ver los nodos Descriptores de distribucin y Directorio del mdulo. Figura 20.1 Nodo del mdulo web en el panel del proyecto

Paso 4: Utilizacin del Asistente para JSP


En este paso crear el esqueleto de una JSP mediante el Asistente para JSP.

1 Seleccione Archivo|Nuevo|Web. 2 Seleccione Pgina JavaServer y pulse Aceptar. Se abre el Asistente para
JSP.

3 En el campo nombre, escriba uno para la JSP: GuestbookJSP. 4 Desactive Generar Bean de ejemplo si est activada.
El asistente para JSP presenta un aspecto similar al siguiente:

5 Pulse Siguiente. 6 Desactive Generar formulario de envo si est activada.

20-4

Gua del desarrollador de aplicaciones web

P a s o 4 : U t i l i z a c i n d e l A s i s t e n t e p a r a J S P

7 Marque internetbeans en InternetBeans Express 1.1, en el rbol


Bibliotecas de etiquetas. El asistente para JSP presenta un aspecto similar al siguiente:

8 Pulse el botn Finalizar. Se aade un archivo GuestbookJSP.jsp al nodo de


Directorio del mdulo del mdulo web, en el panel del proyecto. Ample el nodo Directorio del mdulo para ver el archivo. La JSP contiene la directiva page y la directiva taglib, necesarias para utilizar la biblioteca de etiquetas de InternetBeans. El Asistente para JSP se ocupa de los pasos necesarios para aadir la biblioteca InternetBeans al proyecto, segn se describe en Utilizacin de InternetBeans Express con JSP en la pgina 13-5. El Asistente para JSP tambin crea automticamente una configuracin de ejecucin de manera que la JSP pueda ejecutarse en el IDE. Si desea obtener ms informacin sobre las configuraciones de ejecucin, consulte Definicin de las configuraciones de ejecucin en Creacin de aplicaciones con JBuilder Si desea ms informacin sobre la creacin de configuraciones de ejecucin mediante asistentes, consulte Creacin de una configuracin de ejecucin con los asistentes en la pgina 8-2.

C a p t u l o 2 0 : T u t o r i a l : C r e a c i n d e u n a J S P c o n I n t e r n e t B e a n s E x p r e s s

2 0 -5

Paso 5: Diseo de la parte HTML de la JSP

Paso 5: Diseo de la parte HTML de la JSP


En este paso aadir cdigo HTML al archivo GuestbookJSP.jsp. El HTML que aada proporciona una plantilla para la forma en que los datos se muestran cuando se ejecuta la JSP.

1 Abra el archivo GuestbookJSP.jsp en el editor, si no lo est ya. Se encuentra


en el nodo Directorio del mdulo del mdulo web, en el panel del proyecto.

2 Cambie el contenido de la etiqueta <title> de modo que diga JSP/


InternetBeans Tutorial.

3 Cambie el contenido de la etiqueta <h1> de modo que diga Sign the


Guestbook.

4 Escriba el siguiente cdigo HTML en el cuerpo del archivo, debajo de la


etiqueta </h1>: <table id="guestbooktable" align="CENTER" cellspacing="0" border="1" cellpadding="7"> <tr> <th>Name</th><th>Comment</th> </tr> <tr> <td>Leo</td><td>I rule!</td> </tr> </table> <form method="post"> <p>Enter your name:</p> <input type="text" name="Name" size="50"> <p>Enter your comment:</p> <input type="text" name="Comment" size="100"> <p> <input type=submit name=submit value=Submit></p> </form>

20-6

Gua del desarrollador de aplicaciones web

Paso 6: Adici n d e l a e t i q u e t a d e b a s e d e d a t o s d e I n t e r n e t B e a n s

Cuando haya acabado, el HTML debe tener esta apariencia en la pestaa Ver:

Haga clic en el botn Guardar todo en la barra de herramientas.

Paso 6: Adicin de la etiqueta de base de datos de InternetBeans


En este paso, aadir una etiqueta database de InternetBeans al JSP. La etiqueta database proporciona informacin de conexin con una fuente de datos.

1 Si cambi a la pestaa Ver en el paso anterior, vuelva al editor. 2 Aada la etiqueta de apertura database mostrada en negrita.
<h1> Firme el libro de visitas </h1> <ix:database id=database1 driver=com.borland.datastore.jdbc.DataStoreDriver url="jdbc:borland:dslocal:\jbuilder\\samples\\webmodules\\datastores\\ guestbook.jds" username="user"> <table id="guestbooktable" align="CENTER" cellspacing="0" border="1" cellpadding="7">

3 Cambie el valor del atributo url de la etiqueta database para que apunte
hacia el JDataStore guestbook.jds de <jbuilder>\samples\webmodules\datastores.

4 Aada la etiqueta de cierre database mostrada en negrita.


</form> </ix:database> </body> Haga clic en el botn Guardar todo en la barra de herramientas.

C a p t u l o 2 0 : T u t o r i a l : C r e a c i n d e u n a J S P c o n I n t e r n e t B e a n s E x p r e s s

2 0 -7

Paso 7: Adicin de la etiqueta consulta de InternetBeans

Paso 7: Adicin de la etiqueta consulta de InternetBeans


En este paso, aadir una etiqueta query a la JSP. La etiqueta query especifica una sentencia de consulta SQL.

1 Aada la etiqueta de apertura query mostrada en negrita.


<ix:database id=database1 driver="com.borland.datastore.jdbc.DataStoreDriver" url="jdbc:borland:dslocal:jbuilder\\samples\\webmodules\\datastores\\ guestbook.jds" username="user"> <ix:query id="signatures" statement="select * from signatures"> <table id="guestbooktable" align="CENTER" cellspacing="0" border="1" cellpadding="7"> Observe que est anidando la etiqueta query dentro de la etiqueta database. Esto se hace con el fin de que el atributo database de la etiqueta query no deba especificarse, dado que est implcito. Tambin hace que el cdigo sea ms elegante.

2 Aada la etiqueta de cierre query mostrada en negrita.


</ix:query> </ix:database> Haga clic en el botn Guardar todo en la barra de herramientas.

Paso 8: Adicin de la etiqueta de tabla de InternetBeans


1 Aada las etiquetas de apertura y cierre table mostradas en negrita.
<ix:query id="signatures" statement="select * from signatures"> <ix:table dataSet="signatures"> <table id="guestbooktable" align="CENTER" cellspacing="0" border="1" cellpadding="7"> <tr> <th>Name</th><th>Comment</th> </tr> <tr> <td>Leo</td><td>I rule!</td> </tr> </table> </ix:table> <form method="post">

20-8

Gua del desarrollador de aplicaciones web

P a s o 9 : A d ic i n d e l a s e t i q u e t a s d e c o n t r o l d e I n t e r n e t B e a n s

Observe que se est englobando la etiqueta table de HTML en la etiqueta table de InternetBeans. Esto permite que IxTable de InternetBeans entienda implcitamente a qu tabla est sustituyendo. La etiqueta table de InternetBeans est anidada dentro de la etiqueta query de InternetBeans. Esto no es necesario, ya que el atributo dataSet de la tabla establece una relacin clara. El anidamiento de la tabla de InternetBeans dentro de una etiqueta query hace que el cdigo sea ms elegante.

2 Haga clic en el botn Guardar todo en la barra de herramientas.

Paso 9: Adicin de las etiquetas de control de InternetBeans


Ahora es el momento de aadir las dos etiquetas de control de los dos campos de introduccin de texto. Las etiquetas control permiten suministrar datos dinmicos en lugar de los controles HTML que se utilizan como sustitutos de los datos. Aada las etiquetas mostradas en negrita. <form method="post"> <p>Enter your name:</p> <ix:control dataSet="signatures" columnName="Name"> <input type="text" name="Name" size="50"> </ix:control> <p>Enter your comment:</p> <ix:control dataSet="signatures" columnName="Comment"> <input type="text" name="Comment" size="100"> </ix:control> <p> Observe que se est englobando cada una de las etiquetas input de texto HTML en una etiqueta control de InternetBeans. Esto permite que IxControls de InternetBeans entiendan implcitamente a qu campos de introduccin de texto estn sustituyendo. Haga clic en el botn Guardar todo en la barra de herramientas.

C a p t u l o 2 0 : T u t o r i a l : C r e a c i n d e u n a J S P c o n I n t e r n e t B e a n s E x p r e s s

2 0 -9

Paso 10: Adicin de la etiqueta de envo de InternetBeans

Paso 10: Adicin de la etiqueta de envo de InternetBeans


Aada las etiquetas submit de apertura y cierre mostradas en negrita. <input type="text" name="Comment" size="100"> </ix:control> <p> <ix:submit methodName="submitPerformed"> <input type=submit name=submit value=Submit></p> </ix:submit> </form> Observe que se est englobando la etiqueta input de envo HTML en una etiqueta submit de InternetBeans. Esto permite que IxSubmitButton de InternetBeans entienda implcitamente a qu botn de envo est sustituyendo. Haga clic en el botn Guardar todo en la barra de herramientas.

Paso 11: Adicin del mtodo submitPerformed()


Todava no hemos acabado con el botn de envo. An hay que aadir el mtodo que se ejecutar cuando se presione el botn. Lo har en este paso. Aada el cdigo mostrado en negrita. <ix:submit methodName="submitPerformed"> <%! public void submitPerformed(PageContext pageContext){ DataSet signatures = (DataSet) pageContext.findAttribute( "signatures" ); signatures.post(); signatures.saveChanges(); } %> <input type=submit name=submit value=Submit></p> </ix:submit> El mtodo submitPerformed() est contenido dentro de una etiqueta de declaracin de una JSP. Esta declaracin del mtodo no tiene que estar anidada dentro de la etiqueta submit de InternetBeans, pero es una forma elegante de escribir el cdigo. El parmetro que se pasa a este mtodo es PageContext. Este es un objeto que contiene informacin de la pgina, que existe para cada JSP. El mtodo recupera un DataSet de DataExpress buscando el atributo page que se corresponde con el conjunto de datos signatures. Luego enva la entrada del usuario al conjunto de datos y guarda los cambios en el conjunto de datos. Haga clic en el botn Guardar todo en la barra de herramientas.

20-1 0

Gua del desarrollador de aplicaciones web

Paso 12: Adicin del cdigo para insertar una fila

Paso 12: Adicin del cdigo para insertar una fila


An hay un fragmento de cdigo que es necesario aadir antes de que la JSP funcione correctamente. Cuando se enva el formulario, debe aadir una fila vaca al conjunto de datos para que contenga la entrada del usuario. Aada el cdigo mostrado en negrita. </ix:table> <% signatures.insertRow(false); %> <form method="post"> Este ltimo fragmento de cdigo Java puede parecer un poco confuso, ya que parece que no est encerrado en una declaracin de mtodo. Realmente lo est. Cuando se compila la JSP esto formar parte del mtodo service() en el servlet generado (que no se puede ver, pero que sigue estando ah). Cualquier lnea de cdigo dentro de una etiqueta de un scriplet de una JSP pasar a formar parte del mtodo service(). Este fragmento de cdigo inserta una lnea en el conjunto de datos justo antes de que se muestre el formulario. El formulario presenta valores vacos. Entonces, cuando se enve el formulario se escribirn los datos en la fila vaca antes de llamar al mtodo submitPerformed(). Haga clic en el botn Guardar todo en la barra de herramientas.

Paso 13: Adicin de la biblioteca JDataStore Server al proyecto


Este proyecto necesita la biblioteca JDataStore Server. Para aadir esta biblioteca a las propiedades del proyecto:

1 Seleccione Propiedades de proyecto del men Proyecto. 2 Seleccione la ficha Vas de acceso. 3 Haga clic en la pestaa Bibliotecas necesarias. 4 Pulse Aadir. 5 Seleccione Servidor JDataStore en la carpeta JBuilder. Pulse Aceptar. 6 Pulse Aceptar para cerrar el cuadro de dilogo Propiedades de proyecto.
En este punto, debera asegurarse de que las dependencias de las bibliotecas del proyecto estn correctamente configuradas. Para ello:

7 Haga clic con el botn derecho del ratn en el nodo jspixwebmodule del
panel del proyecto y seleccione Propiedades en el men contextual.

8 Seleccione Contenido|Dependencias.

C a p t u l o 2 0 : T u t o r i a l : C r e a c in d e u n a J S P c o n I n t e r n e t B e a n s E x p r e s s

2 0 -1 1

P a s o 1 4 : E j e c u c i n d e l a p g i n a J S P

9 Asegrese de que las dependencias de las siguientes bibliotecas estn


configuradas como Incluir todo:
s s s s

InternetBeans Express dbSwing Data Express Servidor de JDataStore

10 Si alguna de estas bibliotecas no est configurada como Incluir todo,


seleccinela y marque el botn de radio Incluir siempre todas las clases y recursos. El texto junto al nombre de la biblioteca cambia a Incluir todo. Una vez que todas las dependencias de bibliotecas estn correctamente configuradas, pulse Aceptar. Haga clic en el botn Guardar todo en la barra de herramientas.

Paso 14: Ejecucin de la pgina JSP


Ahora es el momento de ejecutar y probar la JSP.

1 Asegrese de que el nodo Directorio del mdulo del mdulo web est
ampliado en el panel del proyecto.

2 Haga clic con el botn derecho en GuestbookJSP.jsp en el panel del


proyecto.

3 Elija en el men Ejecutar web utilizando GuestbookJSP. Se inicia Tomcat


y la JSP se ejecuta dentro del IDE de JBuilder.
Nota

El comando Ejecutar web incluye el nombre de una configuracin de ejecucin, en este caso, GuestbookJSP. Esta configuracin de ejecucin fue creada automticamente por el Asistente para JSP. Por defecto, el asistente asigna a la configuracin el mismo nombre que la JSP. Si desea obtener ms informacin sobre las configuraciones de ejecucin, consulte Definicin de las configuraciones de ejecucin en Creacin de aplicaciones con JBuilder.

4 Seleccione la URL que aparece en la parte superior de la Vista web y


cpiela. Pguela en el campo URL en el navegador con todas las prestaciones que prefiera y vaya a la URL.
Nota

La Vista web de JBuilder ofrece algunas funciones de navegador, pero no es un navegador con todas las prestaciones. Para obtener un mejor resultado, copie la URL de la aplicacin web en ejecucin en un navegador externo y ejectela desde all.

5 Escriba su nombre y sus comentarios en la JSP en ejecucin en el


navegador externo.

6 Pulse el botn Enviar del navegador externo. Su nombre y su comentario


se aaden a la tabla (y se almacenan en el JDataStore).

20-1 2

Gua del desarrollador de aplicaciones web

Paso 14: Ejecucin de la pgina JSP

Distribucin de la JSP
Las JSP se distribuyen ms fcilmente que los servlets. Esto se debe a que un servidor web las encuentra de la misma forma que procede con los archivos HTML. No se tiene que hacer una instalacin especial, ya que el servidor web es competente para saber lo que tiene que hacer con la JSP. Si desea ms informacin sobre la distribucin de su JSP, consulte el Captulo 9, Distribucin de aplicaciones web.

C a p t u l o 2 0 : T u t o r i a l : C r e a c in d e u n a J S P c o n I n t e r n e t B e a n s E x p r e s s

2 0 -1 3

20-1 4

Gua del desarrollador de aplicaciones web

Captulo

Tutorial: Ejecucin de CheckBoxControl con Java Web Start


Captulo 21

Desarrollo web es una funcin de JBuilder Developer y JBuilder Enterprise

Este tutorial le acompaar a travs de los pasos necesarios para iniciar una aplicacin de ejemplo basada en Swing con Web Start. El ejemplo, CheckBoxControl, est situado en el directorio samples/Swing de su instalacin de JBuilder. Este tutorial da por supuesto que en su ordenador est instalado Java Web Start. Si desea instrucciones para la instalacin, consulte Instalacin de Java Web Start en la pgina 16-3. Si desea ms informacin sobre JBuilder y Java Web Start, consulte el Captulo 16, Ejecucin de aplicaciones web con Java Web Start.

Importante

En este tutorial se da por supuesto que Java Web Start est instalado y configurado en el ordenador. Si desea ms informacin, consulte Instalacin de Java Web Start en la pgina 16-3. El apartado de opciones de accesibilidad en las Sugerencias de JBuilder contiene sugerencias sobre la utilizacin de las funciones de JBuilder para mejorar la facilidad de uso de JBuilder por parte de personas con discapacidades. Para obtener informacin sobre las convenciones utilizadas en este tutorial y en otra documentacin de JBuilder, consulte Convenciones de la documentacin en la pgina 1-3.

C a p tulo 2 1 : Tutor i al: Ejecu ci n d e C h e c k B o x C o n t r o l c o n J a v a W e b S t a r t

2 1 -1

Paso 1: Abrir y configurar el proyecto

Paso 1: Abrir y configurar el proyecto


En primer lugar, abra el proyecto en JBuilder y defina las opciones de la vista web. Para ello:

1 Seleccione Archivo|Abrir proyecto con el fin de presentar el cuadro de


dilogo homnimo.

2 En el cuadro de dilogo Abrir proyecto, pulse el botn Ejemplos. Busque


Swing/CheckBoxControl/. Haga clic en CheckBoxControl.jpx y pulse Aceptar para abrir el proyecto.

3 Seleccione Herramientas|Preferencias para abrir el cuadro de dilogo


Preferencias. En el nodo Web, compruebe que est seleccionada la opcin Copiar URL de depuracin o ejecucin web al portapapeles. Esta opcin copia la URL generada por una ejecucin web en el portapapeles, de manera que pueda pegarse directamente en un visualizador externo. El nodo Web tiene este aspecto:

4 Haga clic en Aceptar para cerrar el cuadro de dilogo. 5 Elija Proyecto|Propiedades de proyecto y se abrir el cuadro de dilogo
homnimo. Seleccione el nodo Servidores.

6 Elija Tomcat 4.0 en la lista desplegable Servidor nico para todos los
servicios del proyecto.

7 Compruebe que slo est seleccionado el servicio JSP/Servlet en la lista


Servicios, en la parte izquierda del cuadro de dilogo.

21-2

Gua del desarrollador de aplicaciones web

P a s o 2 : C r e a c i n del m d u l o w e b d e l a a p l i c a c in

La ficha Servidor, con el servicio JSP/Servlet seleccionado, tiene la siguiente apariencia:

8 Haga clic en Aceptar para cerrar el cuadro de dilogo.


Si desea ver lo que hace esta aplicacin, puede ejecutarla mediante Ejecutar| Ejecutar proyecto. La aplicacin demuestra cmo utilizar el control CheckBox de Swing. (No est utilizando Web Start en este momento). Tenga en cuenta que esta aplicacin no contiene operaciones de manipulacin de ficheros, recomendadas para su ejecucin con Java Web Start. Una aplicacin WebStart, dado que no se distribuye igual que un applet, no puede realizar operaciones de gestin de archivos a menos que se firme digitalmente el archivo JAR o se utilicen las clases JNLP. Si desea ms informacin sobre Java Web Start y los asuntos de seguridad, consulte Consideraciones sobre las aplicaciones Java Web Start en la pgina 16-2.

Paso 2: Creacin del mdulo web de la aplicacin


Para crear un mdulo web, utilice el Asistente para mdulos web. Para obtener ms informacin sobre mdulos web, consulte el Captulo 3, Los mdulos web y los archivos WAR. Para crear el mdulo web de la aplicacin:

1 Para mostrar la galera de objetos, seleccione Archivo|Nuevo. En la ficha


Web, seleccione Mdulo Web y pulse Aceptar.

C a p tulo 2 1 : Tutor i al: Ejecu ci n d e C h e c k B o x C o n t r o l c o n J a v a W e b S t a r t

2 1 -3

P a s o 2 : C r e a c i n del m d u l o w e b d e l a a p l i c a c i n

2 Aparece la ficha Seleccionar origen del mdulo web del Asistente Mdulo
Web. Deje seleccionada la opcin Crear Mdulo Web vaco:

3 Pulse Siguiente para dirigirse a la ficha Introduzca atributos bsicos para


aplicaciones web. Acepte los valores por defecto. La ficha Introduzca atributos bsicos para aplicaciones web tiene este aspecto:

4 Pulse Finalizar para cerrar el asistente y crear el mdulo web.


El mdulo web WebModule1 se presenta en el panel del proyecto en forma de nodo. Ample el nodo con el fin de ver el descriptor de distribucin y los nodos del directorio del mdulo.

21-4

Gua del desarrollador de aplicaciones web

Paso 3: El archivo JAR de la aplicacin

Paso 3: El archivo JAR de la aplicacin


Para iniciar una aplicacin como aplicacin Web Start se debe crear un archivo JAR. Para crear archivos JAR se utiliza el Creador de recopilatorios de JBuilder:

1 Compile el proyecto. Seleccione Proyecto|Ejecutar Make del proyecto


CheckBoxControl.jpr.

2 Seleccione Asistentes|Creador de recopilatorios. 3 Cambie el Tipo de recopilatorio a Aplicacin Web Start en la ficha
Seleccione un tipo de recopilatorio, del Creador de recopilatorios. Pulse Siguiente. Aparece el cuadro de dilogo Error de validacin; pulse Aceptar. El error indica que el archivo JAR no se encuentra en el directorio del mdulo web. Sin embargo, en el siguiente paso del asistente se coloca el archivo JAR en la ubicacin correcta. Vuelva a pulsar Siguiente.

4 Aparece la ficha Seleccione aplicacin web del asistente. Compruebe que


en la lista desplegable Mdulo Web est seleccionado WebModule1.

5 Cambie Nombre a CheckBoxControl.


Pulse el botn de puntos suspensivos (...) contiguo al campo Archivo. En el cuadro de dilogo Indique la ubicacin del recopilatorio, busque el directorio WebModule1 del proyecto. Escriba CheckBoxControl.jar en el campo Nombre del archivo. El cuadro de dilogo Indique la ubicacin del recopilatorio tiene este aspecto:

C a p tulo 2 1 : Tutor i al: Ejecu ci n d e C h e c k B o x C o n t r o l c o n J a v a W e b S t a r t

2 1 -5

P a s o 4 : C r e a c i n d e l a a p l i c a c i n de la p g i n a d e i n i c i o y e l a r c h i v o J N L P

6 Pulse Aceptar para volver a la ficha Seleccione aplicacin web del Creador
de recopilatorios. Debe tener un aspecto parecido al siguiente:

7 Pulse Finalizar para crear el archivo y cerrar el asistente. No tiene que


cambiar ninguna opcin en los pasos restantes del asistente.

8 Elija Archivo|Guardar todo. 9 Seleccione Proyecto|Ejecutar Make del proyecto CheckBoxControl.jpx


para crear el archivo JAR. El asistente crea un nodo de recopilatorio y lo presenta en el panel del proyecto. El recopilatorio se encuentra en este nodo y se genera cada vez que se genera el proyecto.

Paso 4: Creacin de la aplicacin de la pgina de inicio y el archivo JNLP


En este paso, utilizar el Asistente para el inicio de Web Start con el fin de crear el archivo JNLP y la pgina de inicio de la aplicacin. La pgina de inicio es un archivo HTML que se abre en su visualizador externo. Contiene un enlace a su aplicacin. Cuando se pulsa el enlace, el archivo JNLP le dice a Java Web Start que inicie su aplicacin. Para crear estos archivos:

1 Para mostrar la galera de objetos, seleccione Archivo|Nuevo. Seleccione


el nodo Web.

21-6

Gua del desarrollador de aplicaciones web

P a s o 4 : C r e a c i n d e l a a p l i c a c i n d e l a p g i n a d e i n i c i o y e l a r c h i v o J N L P

2 Escoja Inicio de Web Start y pulse Aceptar. Se presenta el Asistente para


el inicio de Web Start.

3 Introduzca CheckBoxControlLauncher en el campo Nombre.


Esta opcin da nombre al archivo HTML y al archivo JNLP.

4 Compruebe que en la lista desplegable Mdulo Web est seleccionado


WebModule1.

5 Pulse el botn de puntos suspensivos (...) situado a la derecha del campo


Archivo JAR. De esta forma abre el cuadro de dilogo Seleccionar JAR para Web Start, en donde se escoge el nombre del archivo JAR generado con el Creador de recopilatorios. Este es CheckBoxControl.jar. Se encuentra en el directorio WebModule1 del proyecto. Seleccione el archivo JAR y pulse Aceptar para cerrar el cuadro de dilogo Seleccionar JAR para Web Start.

6 Pulse el botn puntos suspensivos (...) situado a la derecha del campo


Clase principal si ste no est ya relleno. Aparece el cuadro de dilogo Seleccionar clase principal. Abra la pestaa Examinar. Despliegue la carpeta com en la parte superior del cuadro de dilogo para seleccionar com.borland.samples.swing.checkboxcontrol.Application1. Haga clic en Aceptar para cerrar el cuadro de dilogo.

7 Asegrese de que la opcin Crear pgina de inicio est seleccionada en el


Asistente para el inicio de Web Start. Esta opcin crea el archivo HTML que inicia la aplicacin.
Advertencia

Si el nombre introducido en el campo Nombre coincide con el nombre de un archivo JNLP o HTML ya existente en su proyecto, se le pregunta si quiere sobrescribirlo. La ficha Introduzca informacin requerida del Asistente para el inicio de Web Start tiene este aspecto:

C a p tulo 2 1 : Tutor i al: Ejecu ci n d e C h e c k B o x C o n t r o l c o n J a v a W e b S t a r t

2 1 -7

P a s o 4 : C r e a c i n d e l a a p l i c a c i n de la p g i n a d e i n i c i o y e l a r c h i v o J N L P

8 Pulse Siguiente. 9 Introduzca CheckBox Sample en el campo Ttulo. Introduzca Borland en el


campo Distribuidor y Web Start Sample en el campo Descripcin. Asegrese de que no est seleccionada la opcin Permitir uso fuera de lnea. La ficha Introduzca informacin descriptiva del Asistente para el inicio de Web Start tiene este aspecto:

10 Pulse el botn Finalizar.


El asistente crea un archivo HTML y un archivo JNLP llamado CheckBoxControlLauncher, y los coloca en el directorio del mdulo web. Para ver estos archivos en el panel del proyecto, ample el nodo Directorio del mdulo del nodo WebModule1. El panel del proyecto debe ser similar a:

Nota

Estos archivos pueden abrirse en el editor; no obstante, no los modifique.

21-8

Gua del desarrollador de aplicaciones web

P a s o 5 : C r e a c i n d e u n a c o n f i g u r a c i n de ejecuci n d e l s e r v i d o r

Paso 5: Creacin de una configuracin de ejecucin del servidor


En este paso se crea una configuracin de ejecucin del servidor. Esto permite ejecutar el ejemplo utilizando un servidor.

1 Elija Ejecutar|Configuraciones. Aparece el cuadro de dilogo


Configuraciones de ejecucin.

2 Pulse el botn Nuevo con el fin de abrir el cuadro de dilogo Nueva


configuracin de ejecucin.

3 Introduzca CheckBoxControl Server en el campo Nombre. 4 Seleccione Servidor en la lista desplegable Tipo. 5 Pulse JSP/Servlet en la lista Categoras de la parte izquierda del cuadro de
dilogo.

6 Pulse el botn de puntos suspensivos (...) junto al cuadro de dilogo URI


de inicio para abrir el cuadro de dilogo Escriba o seleccione el URI que se va a lanzar.

7 En la lista Archivo de la parte izquierda del cuadro de dilogo, elija


CheckBoxControlLauncher.html. Observe que este archivo se encuentra en el directorio raz del mdulo web. El cuadro de dilogo Escriba o seleccione el URI que se va a lanzar tendr este aspecto:

8 Haga clic en Aceptar para cerrar el cuadro de dilogo.

C a p tulo 2 1 : Tutor i al: Ejecu ci n d e C h e c k B o x C o n t r o l c o n J a v a W e b S t a r t

2 1 -9

P a s o 6 : I n i c i o d e l a a p l i c a c i n

9 El cuadro de dilogo Nueva configuracin de ejecucin tiene este aspecto:

10 Pulse Aceptar dos veces para cerrar los cuadros de dilogo Nueva
configuracin de ejecucin y Propiedades de proyecto. Si desea ms informacin, consulte Creacin de una configuracin de ejecucin del servidor en la pgina 8-5.

Paso 6: Inicio de la aplicacin


Este paso indica cmo iniciar su aplicacin con Web Start. Para ello:

1 Haga clic con el botn derecho del ratn en CheckBoxControlLauncher.html,


en el panel del proyecto, y seleccione Ejecutar web usando CheckBoxControl Server. (Se encuentra en la carpeta Directorio del mdulo del nodo del mdulo web del panel del proyecto). JBuilder compila los archivos e inicia el servidor web Tomcat. A causa de que el archivo JNLP especifica que esta aplicacin debe ejecutarse con

21-1 0

Gua del desarrollador de aplicaciones web

Paso 6: Inicio de la aplicacin

Web Start, JBuilder muestra un mensaje de advertencia en la vista web. La vista web tiene este aspecto:

2 Abra Internet Explorer. Coloque el cursor en el campo Direccin y pegue la


URL. JBuilder ha copiado esta URL en el portapapeles basndose en la seleccin del nodo Web del cuadro de dilogo Preferencias. (Esta opcin se seleccion en un paso anterior de este tutorial). Pulse Intro para ir a la URL. Internet Explorer muestra la pgina de inicio de la aplicacin, CheckBoxControlLauncher.html. La pgina web contiene un enlace a la aplicacin.

3 Haga clic sobre el enlace en la pgina web. Java Web Start carga e inicia
la aplicacin. La aplicacin se est ejecutando ahora desde un enlace en un visualizador web externo. Advierta que la pantalla de inicio muestra la informacin que se introdujo en el Asistente para el inicio de Web Start.
Nota

Si Tomcat est utilizando un puerto distinto del puerto por defecto (8080), puede suceder que la aplicacin no se inicie. Esto se debe a que el atributo codebase del archivo CheckBoxControlLauncher.jnlp se genera automticamente como localhost:8080. Para cambiarlo, abra el archivo JNLP en el editor. Cambie el nmero de puerto en la segunda lnea del

C a p t u l o 2 1 : T u t o r i a l : E j e c u c i n d e C h e c k B o x C o n t r o l c o n J a v a W e b S t a r t

21 -1 1

P a s o 6 : I n i c i o d e l a a p l i c a c i n

archivo para que coincida con el nmero de puerto que est utilizando Tomcat. Apague Tomcat y empiece de nuevo desde el Paso 1 de este apartado.

4 Elija Archivo|Salir y se cerrar la aplicacin. Si desea detener el servidor


web, pulse el botn Terminar el programa en la pestaa Servidor web. En este tutorial, ha aprendido a configurar un proyecto para una aplicacin Web Start, utilizar el Asistente para el inicio de Web Start para crear la pgina de inicio y el archivo JNLP de la aplicacin y, adems, iniciar la aplicacin con Web Start.

21-1 2

Gua del desarrollador de aplicaciones web

Captulo

Captulo 22

Tutorial: Creacin de un servlet que actualiza un libro de visitas

Desarrollo web es una funcin de JBuilder Developer y JBuilder Enterprise

Este tutorial muestra cmo crear un servlet que acepta una entrada de usuario y guarda los datos en una base de datos JDataStore. Cuando acabe este tutorial, su proyecto contendr las siguientes clases:
s

FormServlet.java - Esta es la clase ejecutable del programa. Su mtodo doGet() muestra un formulario a rellenar que utiliza una etiqueta <form> de HTML. El servlet enva los valores introducidos por el usuario (mediante parmetros) al DBServlet. DBServlet.java - Este servlet pasa los valores de los parmetros (en su mtodo doPost()) a DataModule1. El cdigo en el mtodo doGet() convierte el JDataStore del libro de visitas en una tabla HTML. DataModule1.java - El mdulo de datos que contiene la lgica empresarial del programa. El cdigo del mdulo de datos se conecta con el JDataStore del libro de visitas, lo actualiza y guarda all los cambios.

Este tutorial presupone que ya est familiarizado con los servlets, con las tecnologas de JDataStore y DataExpress de JBuilder. Si desea ms informacin sobre los servlets, consulte las siguientes secciones:
s s

Captulo 4, Los servlets Captulo 5, Los servlets en JBuilder

Para empezar, tambin se puede trabajar con un servlet menos complicado, como el Hola a Todos; consulte el Captulo 18, Tutorial: Creacin de un servlet simple. Si desea ms informacin sobre las funciones de base de

C a p t u l o 2 2 : T u t o r i a l : C r e a c i n d e u n s e r v l e t q u e a c t u a l i z a u n l i b r o d e v i s i t a s

2 2 -1

P a s o 1 : C r e a c i n d e l p r o y e c t o y s e l e c c i n d e l s e r v i d o r

datos de JBuilder, consulte la Desarrollo de aplicaciones de base de datos. Si desea ms informacin sobre JDataStore, consulte la Gua del desarrollador de JDataStore. El apartado de opciones de accesibilidad en las Sugerencias de JBuilder contiene sugerencias sobre la utilizacin de las funciones de JBuilder para mejorar la facilidad de uso de JBuilder por parte de personas con discapacidades. Para obtener informacin sobre las convenciones utilizadas en este tutorial y en otra documentacin de JBuilder, consulte Convenciones de la documentacin en la pgina 1-3.

Paso 1: Creacin del proyecto y seleccin del servidor


Para desarrollar el servlet de ejemplo Libro de visitas en JBuilder, primero se necesita crear un proyecto. Para ello:

1 Seleccione Archivo|Nuevo proyecto para abrir el Asistente para proyectos. 2 Escriba GuestbookServlet en el campo Nombre, tal como aparece en la
siguiente ilustracin. El campo Directorio se rellena automticamente.

3 Pulse Finalizar para cerrar el asistente y crear el proyecto. El archivo de


proyecto, GuestbookServlet.jpx, aparece en el panel del proyecto.

4 Seleccione Proyecto|Propiedades de proyecto|Servidor para abrir el nodo


Servidor del cuadro de dilogo Propiedades de proyecto. Seleccione la opcin Servidor nico para todos los servicios del proyecto. Escoja la opcin Tomcat 4.0 en la lista desplegable. De esta forma, el proyecto define Tomcat 4.0 como objetivo.

5 Haga clic en Aceptar para cerrar el cuadro de dilogo.


22-2 Gua del desarrollador de aplicaciones web

P a s o 2 : C r e a c i n d e l m d u l o w e b

Paso 2: Creacin del mdulo web


Cuando se desarrollan aplicaciones web, uno de los primeros pasos es la creacin de un mdulo web, esto es, la recopilacin de los archivos de contenido de la web de la aplicacin web. Para crear un mdulo web:

1 Para mostrar la galera de objetos, seleccione Archivo|Nuevo. Haga clic en


el nodo Web y seleccione Mdulo Web (WAR). Pulse Aceptar.

2 Aparece la ficha Seleccionar origen del mdulo web del Asistente Mdulo
Web. Deje la opcin por defecto, Crear mdulo web vaco. La ficha presenta un aspecto similar al siguiente:

3 Pulse Siguiente para dirigirse a la ficha Introduzca atributos bsicos para


aplicaciones web. Deje el campo Nombre con la opcin por defecto, WebModule1. El campo Directorio tambin tiene el valor WebModule1.

4 Cambie el valor de la opcin Generar recopilatorio web a Nunca.


Asegrese de que en Estndares disponibles se ha elegido Servlet 2.3 y

C a p t u l o 2 2 : T u t o r i a l : C r e a c i n d e u n s e r v l e t q u e a c t u a l i z a u n l i b r o d e v i s i t a s

2 2 -3

P a s o 2 : C r e a c i n del m d u l o w e b

JSP 1.2. La ficha Introduzca atributos bsicos para aplicaciones web del Asistente Mdulo Web debe tener un aspecto parecido al siguiente:

5 Pulse Finalizar para cerrar el asistente y crear el mdulo web. No es


necesario cambiar las opciones por defecto de las dems fichas del asistente. El mdulo web WebModule1 se presenta en el panel del proyecto en forma de nodo. Ample el nodo con el fin de ver el descriptor de distribucin y los nodos del directorio del mdulo.

Para obtener ms informacin sobre mdulos web, consulte el Captulo 3, Los mdulos web y los archivos WAR.

22-4

Gua del desarrollador de aplicaciones web

Paso 3: Creacin de los servlets

Paso 3: Creacin de los servlets


En este paso, se crearn los dos servlets del proyecto:
s

FormServlet.java - Esta es la clase ejecutable del programa. Su mtodo doGet() muestra un formulario a rellenar que utiliza una etiqueta <form> de HTML. El servlet enva los valores introducidos por el usuario (mediante parmetros) al DBServlet. DBServlet.java - Este servlet pasa los valores de los parmetros (en su mtodo doPost()) a DataModule1. El cdigo en el mtodo doGet() convierte el JDataStore del libro de visitas en una tabla HTML.

Para crear FormServlet.java:

1 Para mostrar la galera de objetos, seleccione Archivo|Nuevo. Haga clic en


el nodo Web y seleccione Servlet. Pulse Aceptar. Aparece la ficha Seleccione el nombre y el tipo de servlet del Asistente para servlets.

2 Cambie el campo Clase a FormServlet. Asigne el nombre guestbookservlet al


Paquete.

3 Asegrese de que no estn seleccionadas las opciones Generar


comentarios de cabecera y Modelo de hilo nico. Compruebe que en la lista desplegable Mdulo Web est seleccionado WebModule1. (Acaba de crear este mdulo web en el paso anterior). Deje seleccionada la opcin Servlet estndar. La ficha Seleccione el nombre y el tipo de servlet del asistente debe tener el siguiente aspecto:

4 Haga clic en Siguiente para ir a la ficha Modificar detalles del servlet


estndar del asistente.

C a p t u l o 2 2 : T u t o r i a l : C r e a c i n d e u n s e r v l e t q u e a c t u a l i z a u n l i b r o d e v i s i t a s

2 2 -5

P a s o 3 : C r e a c i n de los servlets

5 Asegrese de que la opcin Servlet genera contenido de tipo tiene el valor


HTML y que est seleccionado el mtodo doGet(). Desactive la opcin Generar archivo HTML con el formulario. Cuando haya terminado, la ficha Introduzca los detalles del servlet estndar del asistente debera tener este aspecto:

6 Pulse Siguiente dos veces para ir a la ficha Introduzca los detalles de


webapp del asistente. (No es necesario que introduzca parmetros en la ficha del asistente Introduzca los parmetros de la peticin del servlet.)

7 Cambie el valor por defecto del campo Nombre por inputform. Cambie el
valor del campo Patrn de URL por /inputform. Asegrese de que todas las entradas estn en minsculas. La entrada del Patrn de URL se utiliza para ejecutar el servlet en lugar del nombre de clase. La ficha Introduzca los detalles del mdulo web debe tener este aspecto:

22-6

Gua del desarrollador de aplicaciones web

Paso 3: Creacin de los servlets

8 Pulse Finalizar para crear el servlet. No es necesario que configure otras


opciones.

9 Seleccione Archivo|Guardar todo o pulse en la barra de herramientas para


guardar su trabajo. Para crear DBServlet.java:

1 Para mostrar la galera de objetos, seleccione Archivo|Nuevo. Haga clic en


el nodo Web y seleccione Servlet. Pulse Aceptar. Aparece la ficha Seleccione el nombre y el tipo de servlet del Asistente para servlets.

2 Cambie el campo Clase a DBServlet. Asigne el nombre guestbookservlet al


Paquete.

3 Asegrese de que no estn seleccionadas las opciones Generar


comentarios de cabecera y Modelo de hilo nico. El mdulo web WebModule1 debe estar seleccionado en la lista desplegable Mdulo Web. Deje seleccionada la opcin Servlet estndar. La ficha Seleccione el nombre y el tipo de servlet del asistente debe tener el siguiente aspecto:

4 Haga clic en Siguiente para ir a la ficha Modificar detalles del servlet


estndar del asistente.

5 Asegrese de que en Servlet genera contenido de tipo figura HTML.


Elimine la seleccin del mtodo doGet(). En su lugar, seleccione el mtodo doPost(). No seleccione la opcin Generar archivo HTML con el formulario.

C a p t u l o 2 2 : T u t o r i a l : C r e a c i n d e u n s e r v l e t q u e a c t u a l i z a u n l i b r o d e v i s i t a s

2 2 -7

P a s o 3 : C r e a c i n de los servlets

Cuando termine, ste es el aspecto que debe tener la ficha Introduzca los detalles del servlet estndar:

6 Pulse Siguiente dos veces para ir a la ficha Introduzca los detalles de


webapp del asistente. (No es necesario que introduzca parmetros en la ficha del asistente Introduzca los parmetros de la peticin del servlet.)

7 Cambie el valor por defecto del campo Nombre por table. Cambie el valor
del campo Patrn de URL por /table. Asegrese de que todas las entradas estn en minsculas. Se utilizar el nombre table en vez del nombre de clase DBServlet en la etiqueta <form> de HTML de FormServlet. La ficha Introduzca los detalles del mdulo web debe tener este aspecto:

22-8

Gua del desarrollador de aplicaciones web

P a s o 4 : C r e a c i n d e l m d u l o d e d a t o s

8 Pulse Finalizar para crear el servlet. No es necesario que configure otras


opciones.

9 Seleccione Archivo|Guardar todo o pulse en la barra de herramientas para


guardar su trabajo.

Paso 4: Creacin del mdulo de datos


El Asistente para montajes personalizados es una funcin de JBuilder Enterprise.

Con el fin de crear el mdulo de datos que conecte con el JDataStore del libro de visitas y realice las tareas de actualizacin:

1 Para mostrar la galera de objetos, seleccione Archivo|Nuevo. En la ficha


General, seleccione Mdulo de datos y pulse Aceptar. Se abre el Asistente para mdulos de datos.

2 Mantenga el nombre de Clase por defecto de DataModule1. Asigne el


nombre guestbookservlet al Paquete.

3 Desactive las opciones Llamar al Modelador de datos y Generar


cabeceras. Cuando acabe, el Asistente para mdulos de datos tendr este aspecto:

4 Pulse Aceptar para crear el mdulo de datos. 5 Seleccione Archivo|Guardar todo o pulse en la barra de herramientas para
guardar su trabajo.

6 Seleccione Proyecto|Ejecutar Make del proyecto GuestbookServlet.jpx


para compilarlo y crear los archivos de clase.

C a p t u l o 2 2 : T u t o r i a l : C r e a c i n d e u n s e r v l e t q u e a c t u a l i z a u n l i b r o d e v i s i t a s

2 2 -9

P a s o 5 : C m o a a d i r c o m p o n e n t e s d e b a s e s d e d a t o s a l m d u l o d e d a t o s

Paso 5: Cmo aadir componentes de bases de datos al mdulo de datos


En este paso, utilizar el diseador de interfaces de JBuilder para aadir componentes de base de datos al mdulo de datos. Si desea ms informacin sobre el diseador, consulte Introduccin al diseador en Diseo de aplicaciones con JBuilder. Si desea ms informacin sobre componentes de base de datos, consulte Consultas en bases de datos en la Gua del desarrollador de aplicaciones de bases de datos. Para abrir el diseador, haga doble clic en DataModule1.java en el panel del proyecto. A continuacin, haga clic en la pestaa Diseo en la parte inferior del panel de contenido. Para aadir componentes de acceso a datos al mdulo de datos:

1 Seleccione la pestaa DataExpress de la paleta de componentes. 2 Pulse el icono Base de datos. Despus pulse en el rbol de componentes
del panel de estructura, con el fin de aadir el componente de base de datos al mdulo de datos.

3 Pulse en el icono QueryDataSet. Haga clic en el rbol de componentes.


Cuando termine, el rbol de componentes debe tener un aspecto parecido a ste:

Para conectar con el JDataStore del libro de visitas:

1 En el rbol de componentes, seleccione database1. 2 Pulse en la propiedad connection en el Inspector, luego pulse el botn
puntos suspensivos a la derecha del nombre de la propiedad. Esto abre el cuadro de dilogo Conexin.

3 En la ficha General del cuadro de dilogo Conexin, verifique que en el


Controlador se lee com.borland.datastore.jdbc.DataStoreDriver.

4 Pulse el botn puntos suspensivos a la derecha del campo URL para


mostrar el cuadro de dilogo Crear URL para el DataStore. Este cuadro de dilogo se utiliza para elegir el JDataStore al que hay que conectarse.

5 Pulse la opcin Base de datos DataStore local. 6 Pulse el botn de puntos suspensivos para buscar el JDataStore del libro
de visitas (guestbook.jds) en el subdirectorio samples/webmodules/datastores

22-1 0

Gua del desarrollador de aplicaciones web

P a s o 5 : C m o a a d i r c o m p o n e n t e s d e b a s e s d e d a t o s a l m d u l o d e d a t o s

del directorio de instalacin de JBuilder. Pulse Abrir para seleccionar el JDataStore.

7 Pulse Aceptar para cerrar el cuadro de dilogo Crear URL para el


DataStore.

8 En la ficha General del cuadro de dilogo Conexin, escriba user en el


campo Nombre de usuario. El cuadro de dilogo Connection tendr este aspecto:

9 Pulse el botn Probar conexin con el fin de comprobar la conexin con el


JDataStore del libro de visitas. Si se realiza la conexin, aparecer la palabra Correcto a la derecha del botn. Si la conexin no se realiza, un mensaje de error intentar explicar por qu ha fallado.

10 Pulse Aceptar para cerrar el cuadro de dilogo Conexin.


JBuilder aade el mtodo database1.setConnection() al mtodo jbInit() del mdulo de datos. Para acceder a los datos de Guestbook, debe definir una consulta. Si desea ms informacin sobre las consultas, consulte Consultas en bases de datos en la Gua del desarrollador de aplicaciones de bases de datos. Para crear la consulta en JBuilder:

1 Seleccione queryDataSet1 en el rbol de componentes. 2 Haga clic en la propiedad query en el Inspector y, a continuacin, pulse el
botn de puntos suspensivos. Se abre el cuadro de dilogo Consulta.

3 En la ficha Consulta, seleccione database1 de la lista desplegable de Base


de datos.

4 En el cuadro de texto Sentencia SQL, escriba:


SELECT SIGNATURES."Name",SIGNATURES."Comment" FROM SIGNATURES

C a p tulo 2 2 : T u t o r i a l : C r e a c i n d e u n s e r v l e t q u e a c t u a l i z a u n l i b r o d e v i s i t a s

22 -1 1

P a s o 5 : C m o a a d i r c o m p o n e n t e s d e b a s e s d e d a t o s a l m d u l o d e d a t o s

Esta consulta carga todos los valores en los campos Nombre y Comentario de la tabla SIGNATURES del JDataStore del libro de visitas. Cuando introduzca la consulta, utilice las maysculas como se ha mostrado anteriormente.

5 Verifique que est seleccionado Ejecutar consulta al abrirla. 6 En la lista desplegable de Opciones de carga, compruebe que est
seleccionada la opcin Cargar todas las filas. La ficha Consulta del cuadro de dilogo homnimo debe tener este aspecto:

7 Pulse el botn Probar consulta con el fin de comprobarla. Si se realiza la


conexin, aparecer la palabra Correcto a la derecha del botn. Si la consulta no puede ejecutarse, un mensaje de error intentar explicar por qu fall.

8 Pulse Aceptar para cerrar el cuadro de dilogo Consulta.


JBuilder aade el mtodo queryDataSet1.setQuery() al mtodo jbInit().
Nota

Puede ser que vea un mensaje en la pestaa Diseador del panel de mensajes. Por el momento, puede pasar por alto este mensaje. Ya lo arreglar en un paso posterior. Haga clic en la X de la pestaa Diseador, de la parte inferior del Visualizador de aplicaciones, para cerrarla.

9 Pulse el icono Guardar todo de la barra de herramientas para guardar su


trabajo.

22-1 2

Gua del desarrollador de aplicaciones web

P a s o 6 : C r e a c i n d e l a c o n e x in d e d a t o s c o n e l D B S e r v l e t

Paso 6: Creacin de la conexin de datos con el DBServlet


El Asistente para montajes personalizados es una funcin de JBuilder Enterprise.

En este paso, se crear una conexin de datos con DBServlet. La conexin permite que el servlet pase datos al mdulo de datos.

1 Seleccione Proyecto|Ejecutar Make del proyecto GuestbookServlet.jpx


para compilarlo.

2 Haga doble clic en DBServlet.java en el panel del proyecto con el fin de


abrirla en el editor.

3 Seleccione Asistentes|Usar mdulo de datos con el fin de que se abra el


Asistente para usar mdulos de datos.
Nota

Es necesario abrir el Asistente para usar mdulos de datos desde la clase que va a utilizar el mdulo de datos.

4 Mantenga el nombre por defecto para la clase DataModule. Cambie el


Nombre del campo por dm. Deje la declaracin de instancia configurada en la opcin Compartir instancia (esttica) del mdulo de datos.

5 Pulse Aceptar para cerrar el asistente. El asistente aade la siguiente lnea


de cdigo a la declaracin de clase DBServlet: DataModule1 dm; Tambin aade el siguiente constructor: public DBServlet() { try { jbInit(); } catch(Exception e) { e.printStackTrace(); } } A continuacin del constructor, se aade el siguiente cdigo: private void jbInit() throws Exception { dm = guestbookservlet.DataModule1.getDataModule(); }

6 Pulse el icono Guardar todo de la barra de herramientas para guardar su


trabajo. Ahora que el servlet est conectado al mdulo de datos, es necesario que ambos hagan algo. A partir de este punto del tutorial, usted mismo introducir el cdigo en el editor. El primer paso ser crear un formulario de entrada en FormServlet.

C a p tulo 2 2 : T u t o r i a l : C r e a c i n d e u n s e r v l e t q u e a c t u a l i z a u n l i b r o d e v i s i t a s

22 -1 3

P a s o 7 : C r e a c i n d e u n f o r m u l a r i o d e e n t r a d a e n e l F o r m S e r v l e t

Paso 7: Creacin de un formulario de entrada en el FormServlet


En este paso, aadir cdigo al mtodo doGet() de FormServlet. Este cdigo crea un formulario mediante la etiqueta <form> de HTML. El formulario leer dos valores, UserName y UserComment, introducidos por el usuario. Estos datos sern enviados a DBServlet, el servlet que se comunica con el mdulo de datos. Una etiqueta <form> es una etiqueta HTML estndar que crea un formulario de entrada para recoger los datos y mostrar la informacin a un usuario. La etiqueta contiene los atributos action y method. Estos atributos le dicen al servlet qu hacer cuando se pulsa el botn Enviar del formulario. En nuestro tutorial, el atributo action llama a DBServlet. El atributo method enva los parmetros UserName y UserComment a DBServlet. Para aadir cdigo a FormServlet:

1 Haga doble clic en FormServlet en el panel del proyecto con el fin de que se
abra en el editor. (Puede estar ya abierta).

2 Busque el mtodo doGet() en la parte superior del archivo.


Sugerencia

Puede buscarlo situando el cursor en el panel de estructura y escribiendo doGet.

3 Borre todas las lneas que empiecen por out.println. 4 Aada las siguientes lneas de cdigo al mtodo doGet(), despus de
PrintWriter out = response.getWriter();: out.println(<html><body>); out.println("<h1>Sign the guestbook</h1>"); out.println("<strong>Escriba su nombre y comentario en la entrada fields below.</strong>"); out.println("<br><br>"); out.println("<form action=table method=POST>"); out.println("Name<br>"); out.println("<input type=text name=UserName value=\"\" size=20 maxlength=150>"); out.println("<br><br>"); out.println("Comment<br>"); out.print("<input type=text name=UserComment value=\"\" size=50 maxlength=150>"); out.println("<br><br><br><br>"); out.print("<input type=submit value=Submit>"); out.println("</form>"); out.println("</html></body>");
Sugerencia

Este cdigo se puede copiar y pegar directamente en el editor.

5 Pulse el icono Guardar todo de la barra de herramientas para guardar su


trabajo.

22-1 4

Gua del desarrollador de aplicaciones web

Paso 8: Adici n d e c d ig o a l mt o d o D B S e r v l e t d o P o s t ( )

Paso 8: Adicin de cdigo al mtodo DBServlet doPost()


En este paso, aadir al cdigo el mtodo doPost() del DBServlets que:
s s

Lee en los parmetros UserName y UserComment de FormServlet. Llama al mtodo DataModule que actualiza el JDataStore del libro de visitas, pasando los valores de los parmetros UserName y UserComment. Llama al mtodo del mdulo de datos y guarda los cambios en el JDataStore.

Para ello:

1 Haga doble clic en DBServlet en el panel del proyecto con el fin de abrirla en
el editor. (Puede estar ya abierta).

2 Busque el mtodo doPost(). 3 Elimine la siguiente lnea de cdigo del mtodo doPost():
out.println(<p>The servlet has received a POST. Esta es la respuesta.</p>);

4 Inserte las siguientes lneas de cdigo, manteniendo el cursor en el lugar


del que acaba de eliminar cdigo: String userName = request.getParameter("UserName"); String userComment = request.getParameter("UserComment"); dm.insertNewRow(userName, userComment); dm.saveNewRow(); doGet(request, response);
Nota

Estos mtodos an no han sido aadidos al mdulo de datos, por lo que ver errores en la carpeta Errores del panel de estructura. Por el momento, puede hacer caso omiso de ellos. Este cdigo se puede copiar y pegar directamente en el editor. Las dos primeras lneas de cdigo reciben los valores de los parmetros UserName y UserComment que se pasan desde FormServlet. Las siguientes lneas llaman a dos mtodos del mdulo de datos:
s

Sugerencia

insertNewRow() - inserta los nuevos valores de Nombre y Comentario en la ltima fila de la tabla. saveNewRow() - guarda los cambios en el JDataStore del libro de visitas.

La ltima lnea llama al mtodo doGet() del servlet que convierte la tabla Guestbook (libro de visitas) en HTML.

5 Pulse el icono Guardar todo de la barra de herramientas para guardar su


trabajo.

C a p tulo 2 2 : T u t o r i a l : C r e a c i n d e u n s e r v l e t q u e a c t u a l i z a u n l i b r o d e v i s i t a s

22 -1 5

P a s o 9 : A d i c i n de cd i g o p a r a c o n v e r t i r l a t a b l a S I G N A T U R E S d e G u e s t b o o k

Paso 9: Adicin de cdigo para convertir la tabla SIGNATURES de Guestbook


En este paso, aadir un mtodo doGet() a DBServlet para convertir la tabla SIGNATURES de Guestbook (Libro de visitas) en HTML. Se presentan tanto las filas existentes como la nueva.

1 Inserte el siguiente cdigo despus del mtodo doPost() del DBServlet:


public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType(CONTENT_TYPE); PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<body>"); out.println("<h2>" + dm.getQueryDataSet1().getTableName() + "</h2>"); Column[] columns = dm.getQueryDataSet1().getColumns(); out.println ("<table border = 1><tr>"); for (int i=1; i < columns.length; i++) { out.print("<th>" + columns[i].getCaption() + "</th>"); } out.println("</tr>"); dm.getQueryDataSet1().first(); while (dm.getQueryDataSet1().inBounds()) { out.print("<tr>"); for (int i = 1; i < columns.length; i++) { out.print ("<td>" + dm.getQueryDataSet1().format(i) + "</td>"); } out.println("</tr>"); dm.getQueryDataSet1().next(); } out.println("</table>"); out.println("<body>"); out.println("<html>"); }
Sugerencia

Este cdigo se puede copiar y pegar directamente en el editor.

2 Aada los paquetes siguientes a la lista de sentencias import de la parte


superior del archivo. Esto le asegura que el servlet se compilar. import com.borland.dx.dataset.*; import com.borland.dx.sql.dataset.*; import com.borland.datastore.*;
Sugerencia Nota

Puede utilizar MemberInsight (Ctrl+H) con el objeto de que le ayude a completar las sentencias import. No tenga en cuenta los errores que vea en la carpeta Errores del panel de estructura.

3 Pulse el icono Guardar todo de la barra de herramientas para guardar su


trabajo.

22-1 6

Gua del desarrollador de aplicaciones web

P a s o 9 : A d i c i n d e c d i g o p a r a c o n v e r t i r l a t a b l a S I G N A T U R E S d e G u e s t b o o k

Qu hace el mtodo doGet()


El mtodo doGet() que acaba de aadir convierte la tabla SIGNATURES del Libro de visitas en HTML. Se mueve cclicamente a travs de las filas de la tabla JDataStore y las muestra en el navegador web. Las siguientes lneas de cdigo contienen la declaracin de un mtodo de servlet estndar, configuran el tipo de contenido del servlet y definen el escritor de salida: public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType(CONTENT_TYPE); PrintWriter out = response.getWriter(); La dos lneas siguientes de cdigo configuran la salida como HTML e inician la pgina HTML: out.println(<html>); out.println("<body>"); La siguiente lnea de cdigo imprime el nombre de la taba JDataStore, SIGNATURES, en la parte superior de la pgina HTML. El cdigo utiliza el mtodo queryDataSet1.getTableName() para obtener el nombre de la tabla: out.println(<h2> + dm.getQueryDataSet1().getTableName() + </h2>); La siguiente lnea llama al mtodo queryDataSet1.getColumns() para recoger el nombre de las columnas, y las devuelve como una matriz: Column[] columns = dm.getQueryDataSet1().getColumns(); La lnea siguiente crea la tabla con la etiqueta <table> y crea la primera fila de la tabla: out.println (<table border = 1><tr>); Entonces, el cdigo utiliza un bucle for para pasar a travs de los nombres de las columnas de la matriz de columnas, recupera los ttulos de las columnas y muestra cada uno en una fila de la tabla. En este tutorial, se presentan solamente la segunda y la tercera columna del JDataStore. No se presenta la primera columna, el nmero interno de fila: for (int i = 1; i < columns.length; i++) { out.print("<th>" + columns[i].getCaption() + "</th>"); } La lnea que sigue al bloque for cierra la fila de la tabla: out.println(</tr>); La lnea siguiente sita el cursor en la primera fila del JDataStore: dm.getQueryDataSet1().first(); El bucle while pasa a travs del JDataStore y presenta los datos de la segunda y de la tercera columna de la tabla. La primera vez que pasa, presenta los datos de la primera fila. A continuacin, el mtodo next() sita el cursor en la siguiente fila del JDataStore. El bucle while contina mostrando

C a p tulo 2 2 : T u t o r i a l : C r e a c i n d e u n s e r v l e t q u e a c t u a l i z a u n l i b r o d e v i s i t a s

22 -1 7

P a s o 1 0 : C m o a adir la l g i c a e m p r e s a r i a l a l m d u l o d e d a t o s

los datos mientras que el cursor est dentro de los lmites, o lo que es lo mismo, mientras el mtodo inBounds() informe que la navegacin est entre el primer y el ltimo registro visible para el cursor. Cuando esta condicin no se cumple, se cierra la tabla y la pgina HTML: while (dm.getQueryDataSet1().inBounds()) { out.print("<tr>"); for (int i = 1; i < columns.length; i++) { out.print ("<td>" + dm.getQueryDataSet1().format(i) + "</td>"); out.println("</tr>"); dm.getQueryDataSet1().next(); } out.println("</table>"); out.println("<body>"); out.println("<html>");

Paso 10: Cmo aadir la lgica empresarial al mdulo de datos


Est casi hecho. En este momento, todava no hay cdigo para escribir los datos recin aadidos al JDataStore del Libro de visitas y guardarlos. Este cdigo se aadir al DataModule1. Este cdigo abrir el conjunto de datos, insertar la nueva fila (mediante las cadenas userName y userComment que se pasan desde DBServlet) y guardar la nueva fila en el JDataStore. Siga estos pasos y aada lgica empresarial al mdulo de datos:

1 Haga doble clic en DataModule1.java en el panel del proyecto con el fin de


abrirlo en el editor. (Puede que ya est abierto en el Diseador de interfaces de usuario; si es as, pulse la pestaa Fuente de la parte inferior del panel de contenido.)

2 Busque el mtodo jbInit() mediante el comando Buscar|Buscar. Aada el


cdigo siguiente antes de la llave de cierre del mtodo: queryDataSet1.open(); Este cdigo abre el conjunto de datos. Debe estar abierto para poder insertar o guardar datos. En el mdulo de datos, el conjunto de datos se abre justo despus del cdigo que conecta con la base de datos y configura la consulta.

3 Aada el cdigo para el mtodo que inserta una fila nueva. Con el fin de
aadir una fila, se necesita crear un objeto DataRow, luego hay que pasar los datos de los parmetros userName y userComment al DataRow. Este mtodo se aadir despus del mtodo jbInit(). Simplemente mueva el cursor una lnea hacia abajo, ms all de la llave de cierre del mtodo y pulse Enter unas cuantas veces. Aada el siguiente mtodo: public void insertNewRow(String userName, String userComment) { try { DataRow dataRow1 = new DataRow(queryDataSet1, new String[] { "Name", "Comment"}); dataRow1.setString("Name", userName);

22-1 8

Gua del desarrollador de aplicaciones web

P a s o 1 1 : C o m p i l a c i n y e j e c u c i n d e l p r o y e c t o

dataRow1.setString("Comment", userComment); queryDataSet1.addRow(dataRow1); } catch (DataSetException ex) { ex.printStackTrace(); } } La primera lnea del mtodo crea un objeto DataRow que contiene los nuevos valores de Nombre y Comentario. La segunda y la tercera fila pasan los valores de los parmetros userName y userComment a los campos Nombre y Comentario. La ltima fila aade el objeto DataRow al conjunto de datos.

4 Aada el siguiente mtodo para guardar la nueva fila en el conjunto de


datos tras el mtodo insertNewRow(): public void saveNewRow() { try { database1.saveChanges(queryDataSet1); } catch (DataSetException ex) { ex.printStackTrace(); } }

5 Pulse el icono Guardar todo de la barra de herramientas para guardar su


trabajo. Ahora ya se ha aadido todo el cdigo al programa.

Paso 11: Compilacin y ejecucin del proyecto


Antes de realizar la compilacin y la ejecucin es necesario comprobar las dependencias del mdulo web y modificar la configuracin de ejecucin. Para comprobar las dependencias del mdulo web:

1 Haga clic con el botn derecho del ratn en el mdulo web WebModule1, en el
panel del proyecto, y seleccione Propiedades.

2 Elija la ficha Dependencias en el cuadro de dilogo Propiedades.


Asegrese de que los parmetros de las bibliotecas de servidor Data Express y JDataStore Server, en el lado derecho de la ficha, estn configurados como Incluir todo. Si estn configurados con cualquier otro valor, seleccione la opcin Incluir siempre todas las clases y recursos, en la parte inferior de la ficha, para cada biblioteca.

3 Haga clic en Aceptar para cerrar el cuadro de dilogo.


Para modificar la configuracin de ejecucin:

1 Seleccione Ejecutar|Configuraciones para que se abra el cuadro de


dilogo Configuraciones de ejecucin. Elija la configuracin FormServlet y

C a p tulo 2 2 : T u t o r i a l : C r e a c i n d e u n s e r v l e t q u e a c t u a l i z a u n l i b r o d e v i s i t a s

22 -1 9

P a s o 1 1 : C o m p i l a c i n y e j e c u c i n d e l p r o y e c t o

pulse Modificar con el fin de que aparezca el cuadro de dilogo Modificar configuracin de ejecucin.

2 Elija el servicio JSP/Servlet en el rbol de la izquierda de la ficha. 3 Pulse sobre el botn con puntos suspensivos a la derecha del campo URI
de inicio con el fin de mostrar el cuadro de dilogo Escriba o seleccione el URI que se va a lanzar, donde escoger el nombre del servlet a ejecutar.

4 Seleccione /inputform en el rbol de directorio Correspondencia de


servlets, en el centro del cuadro de dilogo. El campo URI en la parte superior del cuadro de dilogo ahora contiene: /inputform. ste es el nombre del mdulo web creado con el Asistente para mdulos web, seguido por el nombre del servlet. El cuadro de dilogo Escriba o seleccione el URI que se va a lanzar tendr este aspecto:

22-2 0

Gua del desarrollador de aplicaciones web

P a s o 1 1 : C o m p i l a c i n y e j e c u c i n d e l p r o y e c t o

5 Pulse Aceptar para cerrar el cuadro de dilogo Escriba o seleccione el URI


que se va a lanzar. El cuadro de dilogo Modificar configuracin de ejecucin tiene un aspecto parecido a ste:

6 Pulse dos veces ms el botn Inspeccionar. 7 Pulse el icono Guardar todo de la barra de herramientas para guardar su
trabajo. Para compilar y ejecutar el proyecto:

1 Seleccione Proyecto|Ejecutar Make del proyecto GuestbookServlet.jpx. 2 Seleccione Ejecutar|Ejecutar proyecto.


El servidor web Tomcat se presenta en el panel de mensajes.

3 El formulario de entrada de FormServlet se presenta en la vista web. La URL


es http://localhost:8080/WebModule1/inputform. La URL localhost:8080 representa el nombre de host y el puerto de Tomcat. El URI es WebModule1/

C a p tulo 2 2 : T u t o r i a l : C r e a c i n d e u n s e r v l e t q u e a c t u a l i z a u n l i b r o d e v i s i t a s

22 -2 1

P a s o 1 1 : C o m p i l a c i n y e j e c u c i n d e l p r o y e c t o

inputform y coincide con el seleccionado en el cuadro de dilogo URI de inicio.

4 Introduzca Mi nombre en el campo Nombre y Mi comentarioen el campo


Comentario.

5 Pulse el botn Enviar.


La tabla FIRMAS del guestbook se convierte en HTML. Mi nombre y Mi comentario aparecen en la ltima fila de la tabla. Observe que el URI ha cambiado a http://localhost:8080/WebModule1/table, lo que indica que el programa ejecuta DBServlet.

22-2 2

Gua del desarrollador de aplicaciones web

P a s o 1 1 : C o m p i l a c i n y e j e c u c i n d e l p r o y e c t o

Si desea ms informacin sobre URL, URI y servlets, consulte Cmo los URL ejecutan los servlets en la pgina 8-10.

6 Puede pulsar la flecha de retroceso a la izquierda del campo Ubicacin del


URL con el objeto de volver al formulario de entrada e introducir otro nombre y otro comentario.

7 Si desea detener el servidor web, pulse el botn Terminar el programa


directamente encima de la pestaa del servidor web. Se debe detener el servidor web antes de compilar y ejecutar el servlet de nuevo, despus de efectuar cambios.
Nota

Puede abrir el JDataStore del Libro de visitas en el Explorador de JDataStore (Herramientas|Explorador de JDataStore) si desea verificar que los nuevos datos se han guardado en la tabla. Ha finalizado este tutorial. Ahora ya sabe cmo crear un formulario de entrada HTML para utilizar un servlet, pasar un parmetro de un servlet a otro, conectar un servlet con un mdulo de datos, pasar parmetros desde un servlet a un mdulo de datos y utilizar un mdulo de datos para actualizar un JDataStore.

C a p tulo 2 2 : T u t o r i a l : C r e a c i n d e u n s e r v l e t q u e a c t u a l i z a u n l i b r o d e v i s i t a s

22 -2 3

22-2 4

Gua del desarrollador de aplicaciones web

Captulo

Captulo 23

Tutorial: Creacin de un servlet con InternetBeans Express

Desarrollo web es una funcin de JBuilder Developer y JBuilder Enterprise

Este tutorial le ensea cmo crear un Servlet mediante InternetBeans. Cuando finalice este tutorial, tendr un servlet que utiliza un DataModule para consultar una tabla en un JDataStore, muestra los comentarios de un libro de visitas en una IxTable y permite que los visitantes introduzcan sus propios comentarios y los vean aparecer en el libro de visitas. Este tutorial presupone que est familiarizado con Java y los servlets de Java, con JBuilder IDE y con JDataStore. Para obtener ms informacin sobre los constructores, consulte Procedimientos iniciales con Java. Para obtener ms informacin sobre los servlets Java consulte el Captulo 4, Los servlets. Para obtener ms informacin sobre el IDE de JBuilder, consulte El entorno de JBuilder en Introduccin a JBuilder. Para obtener ms informacin sobre JDataStore, consulteGua del desarrollador de JDataStore. El apartado de opciones de accesibilidad en las Sugerencias de JBuilder contiene sugerencias sobre la utilizacin de las funciones de JBuilder para mejorar la facilidad de uso de JBuilder por parte de personas con discapacidades. Para obtener informacin sobre las convenciones utilizadas en este tutorial y en otra documentacin de JBuilder, consulte Convenciones de la documentacin en la pgina 1-3.

C a p t u l o 2 3 : T u t o r i a l : C r e a c i n d e u n s e r v l e t c o n I n t e r n e t B e a n s E x p r e s s

23 -1

P a s o 1 : C r e a c i n d e p r o y e c t o s

Paso 1: Creacin de proyectos


1 Seleccione Archivo|Nuevo proyecto para abrir el Asistente para proyectos. 2 En el campo Nombre, introduzca un nombre de Proyecto, como
guestbooktutorial.

3 Pulse Finalizar para cerrar el asistente para Proyectos y crear el proyecto.


No se necesita hacer ningn cambio en los valores por defecto en los Pasos 2 y 3 del asistente. Se crea un nuevo proyecto.

Paso 2: Seleccin de un servidor


En este paso, se seleccionar el servidor Tomcat 4.0 como servidor de este proyecto.

1 Seleccione Proyecto|Propiedades de proyecto. Aparece el cuadro de


dilogo Propiedades de proyecto.

2 Seleccione la ficha Servidor. 3 Asegrese de que el botn de radio Servidor nico para todos los servicios
del proyecto est seleccionado.

4 Asegrese de que Tomcat 4.0 est seleccionado en la lista desplegable de


servidores.

5 Pulse Aceptar.

Paso 3: Creacin de un mdulo web


En este paso se crea un mdulo web para el servlet. Si desea ms informacin sobre los mdulos web y los archivos WAR, consulte el Captulo 3, Los mdulos web y los archivos WAR.

1 Seleccione Archivo|Nuevo|Web. 2 Seleccione Mdulo Web (WAR) y pulse Aceptar. Aparece el Asistente para
mdulos web.

3 Seleccione Crear mdulo web vaco (la opcin por defecto) y pulse
Siguiente.

4 Escriba un nombre para el mdulo web, como guestbookmodule. El campo


Directorio se rellena automticamente mientras escribe.

23-2

Gua del desarrollador de aplicaciones web

P a s o 3 : C r e a c i n d e u n m d u l o w e b

5 Deje las opciones por defecto en Generar recopilatorio web y Estndares


disponibles. El asistente debe tener un aspecto semejante a:

6 Pulse Siguiente. 7 Elija el marco de trabajo InternetBeans Express 1.1 JSP/Servlet. No


especifique una URI de inicio.

8 El asistente debe tener un aspecto semejante a:

9 Pulse el botn Finalizar.


Aparece un mdulo web, guestbookmodule, en el panel del proyecto. Ample el nodo para ver los nodos Descriptores de distribucin y Directorio del mdulo.

C a p t u l o 2 3 : T u t o r i a l : C r e a c i n d e u n s e r v l e t c o n I n t e r n e t B e a n s E x p r e s s

23 -3

P a s o 4 : C r e a c i n d e l s e r v l e t

Figura 23.1 Nodo del mdulo web en el panel del proyecto

Paso 4: Creacin del servlet


En este paso, se crear el servlet mediante el Asistente para servlets.

1 Seleccione Archivo|Nuevo|Web. 2 Seleccione Servlet. 3 Pulse Aceptar. Aparece el Asistente para servlets. 4 Introduzca el nombre de la clase: SignatureServlet. 5 Seleccione guestbookmodule para el mdulo web, si an no lo ha hecho. El
asistente debe tener un aspecto semejante a:

6 Haga clic en Siguiente para avanzar en el asistente. 7 Asegrese de que en Servlet genera contenido de tipo figura HTML. 8 Asegrese de que estn seleccionados los mtodos doGet() y doPost().

23-4

Gua del desarrollador de aplicaciones web

P a s o 5 : C r e a c i n d e l m d u l o d e d a t o s

9 Asegrese de que Generar archivo HTML con el formulario no est


marcada. El asistente debe tener un aspecto semejante a:

10 Pulse el botn Finalizar. Se aade un archivo SignatureServlet.java a su


proyecto.

11 Pulse el botn Guardar todo de la barra de herramientas para guardar su


trabajo.

Paso 5: Creacin del mdulo de datos


En este paso, utilizar el Asistente para mdulo de datos con el fin de crear el que albergar la lgica de conexin de la base de datos.

1 Seleccione Archivo|Nuevo. 2 Seleccione Mdulo de datos en la ficha General de la galera de objetos.

C a p t u l o 2 3 : T u t o r i a l : C r e a c i n d e u n s e r v l e t c o n I n t e r n e t B e a n s E x p r e s s

23 -5

P a s o 5 : C r e a c i n del m d u l o d e d a t o s

3 Pulse Aceptar. Se abre el Asistente para mdulos de datos.

4 No modifique la configuracin por defecto de los campos Paquete y


Nombre de clase.

5 Asegrese de que est seleccionado Llamar al Modelador de datos. 6 Pulse Aceptar. Se abre el Modelador de datos. 7 Vaya al men Base de datos y seleccione Aadir URL de conexin. 8 Seleccione com.borland.datastore.jdbc.DataStoreDriver en la lista
desplegable de controlador.

9 En el campo URL, busque o escriba la va de acceso al archivo


guestbook.jds. Se encuentra en la carpeta <JBuilder>/samples/webmodules/ datastores. Pulse Aceptar para cerrar el cuadro de dilogo Crear URL para el DataStore.

10 Pulse Aceptar de nuevo. La nueva URL para la base de datos se aade a


la lista de URL para bases de datos, en la parte inferior izquierda del Modelador de datos y se selecciona.

11 Haga doble clic sobre la URL y escriba usuario en el cuadro de dilogo de


conexin. No es necesaria una contrasea. Haga clic en Aceptar para cerrar el cuadro de dilogo.

12 Abra la lista de tablas pulsando el nodo Tablas, del rbol Columnas


disponibles.

13 Seleccione la tabla SIGNATURES pulsando sobre ella.

23-6

Gua del desarrollador de aplicaciones web

P a s o 6 : D i s e o d e l a p g i n a d e p l a n t i l l a H T M L

14 Pulse el botn Copiar todo. El Modelador de datos presenta un aspecto


similar al siguiente:

15 Seleccione Archivo|Guardar en el men del Modelador de datos. 16 Seleccione Archivo|Salir en el men del Modelador de datos. El archivo
DataModule1.java se actualiza con la informacin de conexin requerida.

Paso 6: Diseo de la pgina de plantilla HTML


En este paso, crear una pgina HTML que puede ser utilizada por InternetBeans como plantilla para la disposicin de los datos dinmicos.

1 Pulse el botn Aadir archivos/paquetes/clases en la barra de


herramientas del proyecto.

2 Pulse el botn Proyecto en la pestaa Explorador del cuadro de dilogo


Aadir al <proyecto>.

3 Seleccione el directorio del mdulo web (esto es, guestbookmodule). 4 Escriba AdvancedApp en el campo Nombre. 5 Pulse Aceptar. 6 Pulse nuevamente Aceptar para crear el archivo. 7 En el panel del proyecto, haga doble clic en el archivo para abrirlo. Se abre
el archivo vaco HTML.

8 Pulse la pestaa Fuente para abrir el cdigo del HTML. En este momento
estar vaco.

9 Escriba el siguiente cdigo HTML en el archivo nuevo. Tambin se puede


copiar y pegar desde la versin en lnea de este tutorial.

C a p t u l o 2 3 : T u t o r i a l : C r e a c i n d e u n s e r v l e t c o n I n t e r n e t B e a n s E x p r e s s

23 -7

Paso 6: Diseo de la pgina de plantilla HTML

<html> <head> <title>Guestbook Signatures</title> </head> <body> <h1>Sign the guestbook</h1> <table id="guestbooktable" align="CENTER" cellspacing="0" border="1" cellpadding="7"> <tr> <th>Name</th><th>Comment</th> </tr> <tr> <td>Leo</td><td>I rule!</td> </tr> </table> <form method="post"> <p>Enter your name:</p> <input type="text" id="Name" name="Name" size="50"> <p>Enter your comment:</p> <input type="text" id="Comment" name="Comment" size="100"> <p> <input type=submit name=submit value=Submit></p> </form> </body> </html> Observe que la etiqueta <table> contiene datos de prueba. Estos datos sern sustituidos con los datos dinmicos del JDataStore cuando se ejecute el servlet. Estos datos de prueba suministran una indicacin de como se vern los datos dinmicos reales cuando se presenten. Si desea mas informacin sobre la forma en que InternetBeans Express utiliza la tablas, consulte Generacin de tablas en la pgina 13-5.

10 Haga clic en el botn Guardar todo en la barra de herramientas.

23-8

Gua del desarrollador de aplicaciones web

Paso 7: Conexin del servlet al DataModule

11 Seleccione la pestaa Ver. El HTML debe tener este aspecto en Ver:

Paso 7: Conexin del servlet al DataModule


En este paso, aadir una lnea de cdigo al servlet que lo habilitar para utilizar el DataModule.

1 Seleccione Proyecto|Ejecutar Make guestbooktutorial.jpx. Esto genera el


proyecto de manera que se crea el archivo DataModule1.class.

2 Abra el archivo SignatureServlet.java en el editor. Se encuentra en el


paquete guestbooktutorial.

3 Seleccione Asistentes|Usar mdulo de datos. Se abre el Asistente para


usar mdulos de datos. La clase DataModule1 ya est seleccionada.

C a p t u l o 2 3 : T u t o r i a l : C r e a c i n d e u n s e r v l e t c o n I n t e r n e t B e a n s E x p r e s s

23 -9

P a s o 8 : D i s e o del se r v l e t

4 Asegrese de que est seleccionada la opcin Compartir instancia


(esttica) del mdulo de datos. El asistente debe tener un aspecto semejante a:

5 Pulse Aceptar. Se aade una lnea de cdigo al mtodo jbInit() para


asociar el DataModule con el servlet.

Paso 8: Diseo del servlet


En este paso, se utilizar el diseador para aadir componentes de InternetBeans al servlet. Estos componentes no sern visibles en el diseador, ya que la GUI del servlet est realmente en el archivo HTML. No obstante, las propiedades de los componentes podrn verse en el inspector. Cuando se ejecuta el servlet, los componentes de InternetBeans que se aadan en este paso sustituirn los datos de prueba en el archivo HTML con datos del JDataStore.

1 Asegrese de que el archivo SignatureServlet.java est abierto en el editor. 2 Pulse sobre la pestaa Diseo para abrir el diseador de JBuilder. 3 Seleccione la pestaa InternetBeans de la paleta de componentes. 4 Seleccione el icono IxPageProducer y suelte un IxPageProducer dentro del
servlet pulsando en el diseador. Aparece en la carpeta Por defecto del panel de estructura.

5 Configure como sigue las propiedades del IxPageProducer:


Propiedad Valor

dataModule dataModule11 gb1.html - Configure esta propiedad desplazndose hasta la ubicacin htmlFile del archivo. Esto rellena automticamente la propiedad rootPath.

23-1 0

Gua del desarrollador de aplicaciones web

P a s o 8 : D i s e o d e l s e r v l e t

6 Seleccione el icono IxControl en la paleta. Suelte tres IxControl dentro del


servlet pulsando en el diseador.
Sugerencia

Cuando quiera eliminar mltiples instancias de un control desde la paleta de componentes del diseador, presione Mays y haga clic en el icono del control. Esto hace que el control permanezca seleccionado. Cuando haya finalizado con ese control, pulse en la herramienta de seleccin de la paleta de componentes con el fin de finalizar su seleccin.

7 Seleccione ixControl1 y configure sus propiedades en el orden que se


muestra a continuacin: Propiedad dataSet columnName pageProducer controlName Valor Signatures[dataModule11] Nombre ixPageProducer1 Nombre

8 Seleccione ixControl2 y configure sus propiedades como sigue:


Propiedad dataSet columnName pageProducer controlName Valor Signatures[dataModule11] Comentario ixPageProducer1 Comentario

9 Seleccione el icono IxTable de la paleta. Suelte una IxTable dentro del


servlet pulsando en el diseador.

10 Configure las propiedades de ixTable1 como sigue:


Propiedad pageProducer dataSet elementId Valor ixPageProducer1 Signatures[dataModule11] guestbooktable

11 Seleccione ixControl3 y configure sus propiedades como sigue:


Propiedad pageProducer controlName Valor ixPageProducer1 submit

C a p t u l o 2 3 : T u t o r i a l : C r e a c i n d e u n s e r v l e t c o n I n t e r n e t B e a n s E x p r e s s

23 -1 1

Paso 9: Edicin del servlet

12 Haga clic en la pestaa Sucesos del Inspector de propiedades. La IU


presenta un aspecto similar al siguiente:

13 Pulse una vez en la propiedad submitPerformed en el inspector a fin de


asignar al evento submitPerformed() el valor ixControl3_submitPerformed. Esto aade un monitor de eventos a ixControl3. Pulse Intro para generar el mtodo ixControl3_submitPerformed(). Esto abre el editor y sita el cursor en el nuevo mtodo.

14 Haga clic en el botn Guardar todo en la barra de herramientas.

Paso 9: Edicin del servlet


1 Asegrese de que el archivo SignatureServlet.java est abierto en el editor. 2 Elimine el cuerpo del mtodo doGet() del servlet, generado por el asistente. 3 Escriba la siguiente lnea de cdigo en el cuerpo del mtodo doGet():
ixPageProducer1.servletGet(this, request, response); Ahora est completo el mtodo doGet(). A menudo todo lo que necesita hacer aqu es llamar al mtodo servletGet() de la IxPageProducer.

4 Escriba las siguientes lneas de cdigo dentro del cuerpo del mtodo
doPost(): DataModule1 dm = (DataModule1) ixPageProducer1.getSessionDataModule(request.getSession()); dm.getSignatures().insertRow(false); ixPageProducer1.servletPost(this, request, response); doGet(request, response);

23-1 2

Gua del desarrollador de aplicaciones web

P a s o 1 0 : C o n f i g u r a c i n d e l a s d e p e n d e n c i a s d e l md u l o w e b

Cuando se enve el formulario, este cdigo obtiene una instancia por cada sesin del DataModule, inserta una lnea vaca, llama a IxPageProducer.servletPost() para rellenar la lnea vaca con los valores escritos por el usuario y, a continuacin, llama de nuevo a doGet() para mostrar los datos que se han enviado.

5 Luego necesita rellenar el cuerpo del mtodo ixControl3_submitPerformed().


Este mtodo es llamado por el mtodo servletPost(). Introduzca el cdigo siguiente en el cuerpo del mtodo ixControl3_submitPerformed(): DataModule1 dm = (DataModule1) ixPageProducer1.getSessionDataModule(e.getSession()); dm.getSignatures().post(); dm.getSignatures().saveChanges(); Este cdigo obtiene una instancia de DataModule por cada sesin y enva y guarda la entrada del usuario en el JDataStore. Advierta que esta instancia por sesin es diferente de la instancia compartida almacenada en la variable dataModule11.

6 Haga clic en el botn Guardar todo en la barra de herramientas.

Paso 10: Configuracin de las dependencias del mdulo web


En este paso se configuran las dependencias del mdulo web con el fin de asegurarse de que se incluyen las bibliotecas necesarias.

1 Haga clic con el botn derecho del ratn en el nodo guestbookmodule del
panel del proyecto.

2 Seleccione Propiedades en el men contextual del mdulo web. 3 Seleccione la pestaa Dependencias del cuadro de dilogo de
Propiedades.

4 Asegrese de que las dependencias de las siguientes bibliotecas estn


configuradas como Incluir todo:
s s s s

Data Express Servidor de JDataStore InternetBeans Express dbSwing

5 Pulse Aceptar.

C a p t u l o 2 3 : T u t o r i a l : C r e a c i n d e u n s e r v l e t c o n I n t e r n e t B e a n s E x p r e s s

23 -1 3

P a s o 1 1 : E j e c u c i n d e l s e r v l e t

Paso 11: Ejecucin del servlet


En este paso, ejecutar y probar el servlet.

1 Haga clic con el botn derecho en el archivo SignatureServlet.java en el


panel del proyecto.

2 Elija Ejecutar web usando SignatureServlet en el men. El servlet se


ejecuta en el IDE de JBuilder.

3 Pruebe el servlet borrando los valores existentes en los campos Nombre y


Comentario. Introduzca su nombre y su comentario y pulse Enviar. Su nombre y su comentario aparecen en la tabla y se guardan en el JDataStore.

4 Detenga el servlet pulsando el botn Terminar el programa en la pestaa


Servidor web del panel de mensajes.

Distribucin del servlet


Si desea ms informacin sobre la distribucin de su servlet, consulte el Captulo 9, Distribucin de aplicaciones web.

23-1 4

Gua del desarrollador de aplicaciones web

ndice
A
aadir archivos a mdulos web 3-8 descriptores de distribucin 17-6 Form Bean a Action 12-11 struts-config.xml al proyecto en web.xml 7-4 tiles-def.xml al proyecto 7-4 validation.xml al proyecto 7-4 API de servlet 4-3 aplicaciones distribuidas contra aplicaciones web 2-9 web 2-1, 3-1 contra aplicaciones distribuidas 2-9 depurar 8-20 descripcin general 1-1 en JBuilder 8-1 marco de trabajo Struts 7-1 probar en un navegador externo 17-5 sugerencias 17-1 utilizar 8-1 web preparada para Struts, crear en JBuilder 7-19 web Ver tambin mdulos web applets 14-1, 14-2 bibliotecas de terceros 14-13 comprobar 14-14 con el JDK 1.1.x 14-21 con el JDK 1.2 14-21 depurar 14-22, 14-23 descripcin general 2-1, 2-6 distribuir en JBuilder 14-24 ejecutar 14-20, 14-21 implementacin de Java en navegadores 14-6 incluir en un archivo WAR 3-21 Java Web Start 14-7 Mquina virtual de Java. 14-2 navegadores 14-5, 14-7 Plug-in de Java 14-7 recopilar 14-9 seguridad 14-2 sugerencias 14-8 utilizar paquetes 14-9 AppletTestbed 14-20 depurar applets 14-22 appletviewer 14-20 depurar applets 14-22 archivo de formulario HTML 5-6 internetbeans.tld 13-5 formato 13-8 tabla de etiquetas JSP 13-7 JAR atributo archive de applets 14-3 autenticar 14-11 incluir en archivo WAR 3-21 recopilatorios distribucin a un servidor web 9-1 struts-config.xml 11-1 editar 11-1 elemento action-mappings 11-19 elemento controller 11-24 elemento data-source 11-4 elemento form-beans 11-7 elemento global-exceptions 11-13 elemento global-forwards 11-16 elemento message-resources 11-28 elemento plug-ins 11-31 y archivo web.xml 7-2 y Struts 7-2 tiles-def.xml 11-34 crear 17-6 elemento definition 11-34 elemento put 11-34 elemento putList 11-34 validation.xml crear 17-6 WAR 3-2 aadir applets 3-21 aadir archivo XML especfico del servidor 17-3 aadir archivos JAR 3-21 compresin 3-10 crear 3-10 definicin de 3-19 desactivar generacin automtica 17-4 directorios a incluir 3-14 distribuir 9-1 generar 3-3 herramientas 3-2 incluir tipos de archivo adicionales 17-3 nombre de configuracin de 3-10 propiedades 3-19 relacin con los mdulos web 3-19 tipos de archivo incluidos 3-19 ubicacin de la configuracin de 3-10 ver contenido de 3-19 web.xml 3-1, 9-4 aadir restricciones de seguridad 10-2

n d i c e

I-1

aadir un filtro 10-2 aadir un servlet 10-2 aadir una coleccin de recursos web 10-2 asignar pgina de error 10-6 bibliotecas de etiquetas 10-18 colecciones de recursos web 10-13 creacin de 3-9 editar 3-2, 10-1 entradas de entorno 10-6 etiquetas de asignacin de filtro 10-8 etiquetas de monitor 10-9 etiquetas de servlet 10-14 etiquetas taglib 10-18 mapeo MIME 10-10 mapeos de servlets 10-17 ms informacin 9-5 mtodo de autentificacin 10-18 parmetros de inicializacin 10-8, 10-16 referencias de competencias de seguridad 10-16 referencias de entorno de recurso 10-11 referencias de recursos 10-11 referencias EJB 10-4 referencias locales del EJB 10-5 Restricciones de seguridad 10-12 struts-config.xml 7-2 y Struts 7-2 ZIP atributo archive de applets 14-3 asistentes para Action 7-12 para ActionForm 7-10 para applets 14-16 para conversin de Struts 7-15 para JSP 6-10 a partir de ActionForm 7-13 compatibilidad con Struts 7-9 e InternetBeans Express 13-5 para mdulos web 3-3 compatibilidad con Struts 7-8 para servlets opciones 5-1 atributos archivo internetbeans.tld name 13-8 required 13-8 rtexprvalue 13-8 tagclass 13-8 etiqueta de applets archive 14-3 code 14-3 codebase 14-3 height 14-3 hspace 14-3

name 14-3 vspace 14-3 etiqueta de appletswidth 14-3 autenticar applets 14-11 mdulos web 10-18

B
bibliotecas de etiquetas configurar 6-6 importar en JSP 7-9 JSP 6-4 Struts 7-1, 7-7 usar en mdulo web 7-8 y JBuilder 7-7 de etiquetas estndar para pginas JavaServer (JSTL) 6-4 Consulte tambin JSTLaaa de etiquetas InternetBeans Express 13-5 control 13-7 database 13-7 image 13-7 query 13-7 submit 13-7 table 13-7 de etiquetas JSP configurar 6-6 InternetBeans Express 13-5 de terceros applets 14-13 Borland asistencia a desarrolladores 1-5 tcnica 1-5 contacto 1-5 correo electrnico 1-6 grupos de noticias 1-6 informar sobre errores 1-6 recursos en lnea 1-5 World Wide Web 1-5

C
cambiar cdigo durante la depuracin 6-15 CGI (Interfaz de enlace comn) en comparacin con los servlets 2-2 clases Action 7-1, 7-12 archivo struts-config.xml 7-12 ActionForm 7-1, 7-10, 7-13 archivo struts-config.xml 7-10 AtionServlet 7-1

I-2

Gu a d e l d e s a r r r o l l a d o r d e a p l i c a c i o n e s w e b

database utilizar en una JSP 13-7 IxCheckBox 13-2 IxComboBox 13-2 IxControl 13-2 utilizar en una JSP 13-7 IxHidden 13-2 IxImage 13-2 utilizar en una JSP 13-7 IxImageButton 13-2 IxLink 13-2 IxListBox 13-2 IxPageProducer 13-2 mtodo servletPost() 13-4 IxPassword 13-2 IxPushButton 13-2 IxRadioButton 13-2 IxSpan 13-2 IxSubmitButton 13-2 utilizar en un servlet 13-4 utilizar en una JSP 13-7 IxTable 13-2 generar tablas 13-5 utilizar en una JSP 13-7 IxTextArea 13-2 IxTextField 13-2 QueryDataSet utilizar en una JSP 13-7 cdigo modificar durante la depuracin 6-15 coleccin de recursos web aadir a archivo web.xml 10-2 comandos Depurar web 6-14 Ejecutar web 6-13 web, configurar IDE 8-14 compilar applets 14-20 JSP 6-13, 8-15 servlets 8-15 components InternetBeans Express 13-1 comprobar applets 14-14 configuraciones de ejecucin de applets 8-2 crear con asistentes 8-2 crear mediante Ejecutar| Configuraciones 8-3 de JSP 8-2 configurar archivos ejecutables 8-5 crear con asistentes 8-2 crear mediante Ejecutar| Configuraciones 8-5

de servlets 5-11, 8-2 configurar archivos ejecutables 8-5 crear con asistentes 8-2 crear mediante Ejecutar| Configuraciones 8-5 configurar bibliotecas 6-6 Tomcat 15-1 convenciones de la documentacin 1-3 convenciones de plataformas 1-4 cuadros de dilogo Configurar bibliotecas 6-6 Propiedades de Mdulo Web 3-10, 3-11 Clases, ficha 3-15 Contenido, ficha 3-14 Dependencias, ficha 3-17 Descriptor, ficha 3-18 Directorios, ficha 3-14 Distribucin, ficha 3-19 Generar, ficha 3-13 Limpiar, ficha 3-12 Mdulo, ficha 3-10 Propiedades de Struts 7-4

D
DataExpress utilizar en un servlet 13-1 utilizar en una JSP 13-1, 13-5 denominacin de servlets 5-8, 8-10 depuracin remota JSP 6-16 web 8-20 JSP 8-20 servlets 8-20 depurar aplicaciones web 8-20 applets 14-22, 14-23 cdigo fuente para JSP 8-20 configuracin de ejecucin para depurar JSP 6-15 JSP 6-14 con nombres iguales 6-16 e Intercambio inteligente 6-15 en el subdirectorio del mdulo web 6-16 JSP con nombres iguales 6-16 opcin de configuracin de ejecucin 6-15 por servidor 6-14 remota 6-16 y directorio de trabajo Tomcat del proyecto 6-15 y directorio Tomcat del proyecto 6-15 modificar cdigo 6-15 Depurar web (comando)

n d i c e

I-3

JSP 6-14 desarrollo web 2-8 descriptores de distribucin 3-1 aadir a mdulo web 17-6 archivo web.xml 3-9, 10-1 editar 3-2 Editor DD de Mdulo Web 10-1 Editor de configuracin de Struts 11-1 ms informacin 9-5 mdulo web 3-7, 9-4 nodo de mdulo web 3-9 propios del fabricante para un mdulo web 9-4 registrar 17-6 struts-config.xml 11-1 directorios de un mdulo web 3-14 raz del mdulo web 3-7 WEB-INF 3-7 ver contenido de 17-4 diseadores de Action 12-5 aadir destino de reenvo a Action 12-7 aadir Exception a Action 12-8 aadir Form Bean a Action 12-6 aadir recursos de entrada a Action 12-8 usar inspector 12-9 ver clase de implementacin 12-9 de Form Bean 12-10, 12-11 aadir propiedad Form Bean a Form Bean 12-12 DynaBean 12-12 usar inspector 12-13 ver clase de implementacin 12-13 de Struts 12-1 abrir 17-5 arrastrar y soltar 12-1 de Action 12-5 de Form Bean 12-10 de Tiles 12-13 inspector 12-1 men contextual 12-1 superficie de diseo 12-1 de Tiles 12-13 abrir 17-6 aadir definicin del superior a Definition 12-15 aadir Put a Definition 12-16 usar inspector 12-16 distincin entre maysculas y minsculas en applets y etiquetas APPLET 14-9 distribuir aplicaciones 16-1 applets 14-8, 14-13 archivos

recopilatorio 9-1 recopilatorios de applets 14-9 WAR 9-1 JSP 9-3 mdulos web 9-1 por tipo de archivo 3-19 servlets 4-7, 9-2

E
editar descriptores de distribucin 9-4 Editor DD de Mdulo Web 10-1 aadir coleccin de recursos web 10-2 filtro 10-2 restriccin de seguridad 10-2 servlet 10-2 ficha Aplicaciones Web 10-2 Bibliotecas de etiquetas 10-18 Colecciones de recursos web 10-13 Competencias de seguridad 10-18 Entradas de entorno 10-6 Filtros 10-7 Mapeos de filtros 10-8 Mapeos de servlets 10-17 Mapeos MIME 10-10 Monitores 10-9 Pginas de error 10-6 Parmetros de inicializacin 10-8, 10-16 Referencias de competencia de seguridad 10-16 Referencias de recurso 10-11 Referencias del entorno de recursos 10-11 Referencias EJB 10-4 Referencias locales del EJB 10-5 Restricciones de seguridad 10-12 Servlets 10-14 men contextual 10-2 Editor de configuracin de Struts 11-2 ficha Controlador 11-24 de descripcin general de Recursos de mensajes 11-28 General de Actions 11-19 General de Excepciones globales 11-13 General de Form Bean 11-7 General de Fuentes de datos 11-4 General de Plug Ins 11-31 General de Recursos de mensajes 11-28 General de Reenvos globales 11-16 Plug Ins Overview 11-31 Propiedad de Form Bean 11-7 Visin general de Actions 11-19

I-4

Gu a d e l d e s a r r r o l l a d o r d e a p l i c a c i o n e s w e b

Visin general de excepciones globales 11-13 Visin general de Form Beans 11-7 Visin general de Fuentes de datos 11-4 Visin general de Reenvos globales 11-16 men contextual 11-4 Editor de definiciones de Tiles 11-34 Editor de Tiles ficha General de Tiles 11-34 Put 11-34 PutList 11-34 Visin general de Tiles 11-34 ejecutar applets 14-20 web 8-17 JSP 8-16, 15-3 servlets 8-16, 15-3 Ejecutar web (comando) JSP 6-13 elementos action-mappings Diseador de Action 12-5 struts-config.xml 11-19 controller, archivo struts-config.xml 11-24 data-source, struts-config.xml 11-4 definition archivo tiles-def.xml 11-34 Diseador de Tiles 12-13 form-bean Diseador de Form Bean 12-10 form-beans, archivo struts-config.xml 11-7 global-exceptions, archivo strutsconfig.xml 11-13 global-forwards, archivo struts-config.xml 11-16 message-resources, archivo strutsconfig.xml 11-28 plug-ins, archivo struts-config.xml 11-31 put, archivo tiles-def.xml 11-34 putList, archivo tiles-def.xml 11-34 espacio de contencin seguridad de las aplicaciones Web Start 16-2 seguridad de las applets 14-10 etiquetas control, InternetBeans Express 13-7 database, InternetBeans Express 13-7 de applets 14-2 atributos 14-3 errores 14-4 image, InternetBeans Express 13-7 JSP directiva page 6-3 directiva taglib 6-3 etiqueta comment 6-3

etiqueta declaration 6-3 etiqueta expression 6-3 etiqueta getProperty 6-3 etiqueta scriptlet 6-3 etiqueta setProperty 6-3 etiqueta useBean 6-3 param, applets 14-3 query, InternetBeans Express 13-7 submit, InternetBeans Express 13-7 table, InternetBeans Express 13-7 etiquetas JSP 6-3

F
fichas Aplicaciones Web (Editor DD de Mdulo Web) 10-2 Bibliotecas de etiquetas (Editor DD de Mdulo Web) 10-18 Clases (cuadro de dilogo Propiedades de Mdulo web) 3-15 Colecciones de recursos web (Editor DD de Mdulo Web) 10-13 Competencias de seguridad (Editor DD de Mdulo Web) 10-18 Contenido (cuadro de dilogo Propiedades de Mdulo web) 3-14 Controlador (Editor de configuracin de Struts) 11-24 de descripcin general de Recursos de mensajes (Editor de configuracin de Struts) 11-28 Dependencias (cuadro de dilogo Propiedades de Mdulo web) 3-17 Descriptor (cuadro de dilogo Propiedades de Mdulo Web) 3-18 Directorios (cuadro de dilogo Propiedades de Mdulo Web) 3-14 Distribucin (cuadro de dilogo Propiedades de Mdulo web) 3-19 Entradas de entorno (Editor DD de Mdulo Web) 10-6 Filtros (Editor DD de Mdulo Web) 10-7 General de Actions (Editor de configuracin de Struts) 11-19 General de Excepciones globales (Editor de configuracin de Struts) 11-13 General de Form Beans (Editor de configuracin de Struts) 11-7 General de Fuentes de datos (Editor de configuracin de Struts) 11-4 General de Plug Ins (Editor de configuracin de Struts) 11-31 General de Recursos de mensajes (Editor de configuracin de Struts) 11-28

n d i c e

I-5

General de Reenvos globales (Editor de configuracin de Struts) 11-16 General de Tiles (Editor de configuracin de Tiles) 11-34 Generar (cuadro de dilogo Propiedades de Mdulo Web) 3-13 Limpiar (cuadro de dilogo Propiedades de Mdulo web) 3-12 Mapeos de filtros (Editor DD de Mdulo Web) 10-8 Mapeos de servlets (Editor DD de Mdulo Web) 10-17 Mapeos MIME (Editor DD de Mdulo Web) 10-10 Mdulo (cuadro de dilogo Propiedades de Mdulo web) 3-10 Monitores (Editor DD de Mdulo Web) 10-9 Pginas de error (Editor DD de Mdulo Web) 10-6 Parmetros de inicializacin (Editor DD de Mdulo Web) 10-8, 10-16 Plug Ins Overview (Editor de configuracin de Struts) 11-31 Propiedad de Form Beans (Editor de configuracin de Struts) 11-7 Put (Editor de configuracin de Tiles) 11-34 PutList (Editor de configuracin de Tiles) 11-34 Referencias de competencia de seguridad (Editor DD de Mdulo Web) 10-16 Referencias de recurso (Editor DD de Mdulo Web) 10-11 Referencias del entorno de recursos (Editor DD de Mdulo Web) 10-11 Referencias EJB (Editor DD de Mdulo Web) 10-4 Referencias locales del EJB (Editor DD de Mdulo Web) 10-5 Restricciones de seguridad (Editor DD de Mdulo Web) 10-12 Servlets (Editor DD de Mdulo Web) 10-14 Visin general de Actions (Editor de configuracin de Struts) 11-19 Visin general de Excepciones globales (Editor de configuracin de Struts) 11-13 Visin general de Form Beans (Editor de configuracin de Struts) 11-7 Visin general de Fuentes de datos (Editor de configuracin de Struts) 11-4 Visin general de Reenvos globales (Editor de configuracin de Struts) 11-16 Visin general de Tiles (Editor de Tiles) 11-34 Web (cuadro de dilogo Propiedades de Mdulo Web) 3-11 filtros

aadir a archivo web.xml 10-2 mdulo web 3-12 fuentes Convenciones empleadas en la documentacin de JBuilder 1-3

G
generar tablas con InternetBeans Express 13-5 grupos de noticias Borland 1-6 public 1-6

I
importar archivos a mdulos web 3-8 mdulo web 3-3 iniciar JSP 8-5 servlets 8-5 Tomcat 15-4 URI 8-2, 8-5 instalar Web Start 16-3 Intercambio inteligente 6-15 Interfaz de enlace comn (CGI) en comparacin con servlets 2-2 Internet tabla de tecnologas 2-1 InternetBeans Express 13-1 analizar HTML 13-4 descripcin general 2-1, 2-6 directiva page 13-5 taglib 13-5 envo de los datos del servlet 13-4 formato de archivo de biblioteca de etiquetas 13-8 generar tablas 13-5 tabla de clases 13-2 de etiquetas JSP 13-7 tutorial 20-1, 23-1 y JSP 6-4, 13-5 y servlets 13-4

J
Java Network Launching Protocol Consulte JNLP Java Web Start 2-7 JNLP 16-1 archivo JNLP 16-6 JSP 6-1 asignar bibliotecas de etiquetas 10-18 bibliotecas de etiquetas

I-6

Gu a d e l d e s a r r r o l l a d o r d e a p l i c a c i o n e s w e b

caractersticas de JBuilder 6-5 compilar 6-13, 8-15 configuracin de ejecucin para depurar 6-15 convertir en Struts 7-15 crear a partir de ActionForm 7-13 con el asistente 6-10 con nombres iguales 17-2 en un subdirectorio del mdulo web 17-1 depuracin con Tomcat 4.1 15-6 del cdigo fuente 8-20 remota 6-16 web 6-14, 8-20 desarrollo 6-10 descripcin general 2-1, 2-3 distribuir 9-3 ejecutar con Tomcat 15-3 web 6-13, 8-16 enlazados a datos 13-1 especificar paquete para servlet generado automticamente 17-2 incluir en archivo WAR 3-19 iniciar 8-5 InternetBeans Express 6-4, 13-5 JSTL 6-4 marcos de trabajo 6-4, 6-5 propiedades de ejecucin 8-13 sintaxis 6-3 Struts 6-4 tutorial 19-1, 20-1 vnculos 6-17 y servlets 4-2 JSTL descripcin general 2-5

de servlets, redefinir estndar 5-5 servletPost() 13-4 mdulos web 3-1 aadir archivos 3-8 tipos de archivo adicionales 17-3 asistente 3-3 comprobar 9-3 descriptores de distribucin 3-7, 9-4 descriptores de distribucin, especficos del fabricante 9-4 directorio raz 3-7 WEB-INF 3-7 distribuir 9-1 editor del descriptor de distribucin 10-1, 11-1 estructura 3-1 herramientas 3-2 importacin a JBuilder 3-3 de archivos 3-8 propiedades 3-10 ubicacin de archivos 3-7

N
navegadores compatibilidad con Java 14-5 diferencias en la implementacin de Java 14-6 ejecutar applets 14-5 llamada a servlets desde 5-12 Plug-in de Java 14-7 sobre la compatibilidad con JDK 14-5 soluciones para ejecutar applets 14-7 nodo mdulo web 3-7

P
pginas HTML convertir en Struts 7-15 llamada a servlets desde 5-13 JavaServer 6-1 Consulte tambin JSP panel del proyecto mostrar webapps de Struts 7-3 paquetes en applets 14-9 servlet HTTP 4-4 parmetros de servlets 5-7 patrn de URL 5-8, 8-10 Plug-in de Java 14-7 propiedades archivos WAR 3-19 mdulo Web

L
llamar a los servlets 5-11

M
mapeo servlets 5-8, 8-2, 8-10 marcos de trabajo 6-5 Cocoon 7-7 configurar 6-6 cuadros de dilogo Configurar bibliotecas 7-7 definidos por el usuario 6-6 InternetBeans 7-7 JSTL 7-7 Struts 7-7 utilizar con JSP 6-4 mtodos

n d i c e

I-7

ficha Generar 3-13 Registro a travs de Pgina Web 3-11 mdulos web 3-10 Clases (ficha) 3-15 compresin del archivo WAR 3-10 directorio 3-10 ficha Contenido 3-14 ficha Dependencias 3-17 ficha Descriptor 3-18 ficha Directorios 3-14 ficha Distribucin 3-19 ficha Limpiar 3-12 ficha Mdulo 3-10 filtros 3-12 generacin del archivo WAR 3-10 generar 3-13 iniciar URI 3-11 limpiar 3-12 marcos de trabajo JSP/Servlet 3-11 nombre del archivo WAR 3-10 raz de contexto 3-11 tipos de ficheros incluidos 3-10 ubicacin del archivo WAR 3-10 proyecto Blank para Struts 7-22 proyectos configurar Web Start 16-4 seleccionar servidor web 15-3 puertos cambiar para Tomcat 15-4

R
recopilatorios web Consulte archivos WAR referencias EJB locales archivo web.xml 10-5 registrar descriptores de distribucin 17-6 struts-config.xml en web.xml 7-4 tiles-def.xml en struts-config.xml 7-4 validation.xml en struts-config.xml 7-4 restriccin de seguridad aadir a archivo web.xml 10-2 mdulo web 10-12

S
seguridad administrador de seguridad 14-10 applets 14-11 autenticar applets 14-11 de las applets 14-2 administrador de seguridad 14-10 autenticar 14-11 espacio de contencin 14-10

restricciones 14-11 soluciones 14-11 en las aplicaciones Web Start 16-2 espacio de contencin 14-10 restricciones de un applet 14-11 server.xml crear archivo personalizado para Tomcat 15-5 servidores de aplicaciones compatibilidad con depuracin de JSP 6-14 web cambiar nmero de puerto 17-2 compatibilidad con depuracin de JSP 6-14 finalizar 8-19 iniciar 8-17 salida en bruto 8-19 Tomcat Consulte Tomcat ServletContext 3-7 servlets 4-1, 5-1 aadir a archivo web.xml 10-2 archivo de formulario HTML 5-6 ciclo de vida 4-4 compilar 8-15 crear con asistentes 5-1 de filtro 5-2, 5-10, 10-7 de hilo simple 5-2 denominacin 5-8, 8-10 depuracin web 8-20 descripcin general 2-1, 2-2 destruir 4-5 distribuir 4-7, 9-2 e InternetBeans Express 5-14, 13-4 ejecutar con Tomcat 15-3 web 8-16 ejemplos de uso 4-6 en comparacin con la CGI (Interfaz de enlace comn) 2-2, 4-1 enlace a HTML 4-5 enlazar a datos 5-14, 13-1 especficos para HTTP 4-6 estndar 5-2 archivo de formulario HTML 5-6 hilos 4-5, 5-2 HTML 4-5, 5-4 HTTP 4-6 incluir en archivo WAR 3-19 inicializar 4-4 iniciar 8-5 internacionalizacin 5-13 llamada 5-12, 5-13 mapeo 5-8, 8-2, 8-10 monitor 5-2, 10-9

I-8

Gu a d e l d e s a r r r o l l a d o r d e a p l i c a c i o n e s w e b

interfaces 5-6 multihilo 4-5 paso de las respuestas 4-5 patrn de URL 5-8, 8-10 propiedades de ejecucin 8-13 ServletContext 3-7 solicitudes del cliente 4-5 tipo de contenido 5-4 tutorial 18-1, 22-1, 23-1 WML 5-4 XHTML 5-4 XML 5-4 y JSP 4-2 y mdulos web 5-2, 5-8, 8-10 y servidores web 4-1, 4-3 y URI 8-10 y URL 5-8, 8-10 solicitudes del cliente al servlet 4-5 Struts 7-1 aadir descriptores de distribucin a web.xml 7-4 archivo struts-config.xml 7-2 web.xml 7-2 asistente para Action 7-12 para ActionForm 7-10 para conversin de Struts 7-15 para JSP a partir de ActionForm 7-13 para mdulos web 7-8 bibliotecas de etiquetas 7-1 clase Action 7-1, 7-12 ActionForm 7-1, 7-10, 7-13 AtionServlet 7-1 compatibilidad del marco de trabajo 7-7 en JBuilder 7-2 controlador 7-1 cuadro de dilogo Propiedades 7-4 descripcin general 2-5 modelo 7-1 mostrar en panel del proyecto 7-3 pasos para crear una webapp preparada para Struts 7-19 proyecto Blank 7-22 registrar descriptores de distribucin en web.xml 7-4 URI de inicio 7-8 utilizar con JBuilder 7-19 con JSP 6-4 versin 1,1 7-1

vista 7-1 y asistente para JSP 7-9 y Tiles 11-34

T
tablas generar con InternetBeans Express 13-5 tecnologas web 2-1 qu tecnologa usar 2-7 sugerencias 17-1 Tiles aadir descriptores de distribucin a strutsconfig.xml 7-4 registrar descriptores de distribucin en strutsconfig.xml 7-4 tipos de archivo incluir en archivo WAR 3-19 de servlet 5-2 estndar 5-2 filtro 5-2, 5-10, 10-7 monitor 5-2, 5-6 Tomcat 15-1 cambiar nmero de puerto 15-4 compatibilidad con depuracin de JSP 6-14 configurar 15-1 crear archivo personalizado server.xml 15-5 depurar JSP con Tomcat 4.1 15-6 directorio de trabajo del proyecto 6-15 ejecutar JSP 15-3 ejecutar servlets 15-3 finalizar 15-4 iniciar 15-4 seleccionar para proyecto 15-3 tutoriales JSP 19-1 JSP e InternetBeans 20-1 servlet 18-1, 22-1 servlet e InternetBeans 23-1 Web Start 21-1

U
ubicaciones de archivos, mdulo web 3-7 URI y servlets 8-10 URL y servlets 5-8, 8-10 Usenet, grupos de noticias 1-6

V
Validacin aadir descriptores de distribucin a strutsconfig.xml 7-4 registrar descriptores de distribucin en strutsconfig.xml 7-4

n d i c e

I-9

vista de cdigo fuente web 8-19

W
Web Start 2-7, 16-1 applets 14-7 archivo JAR 16-6 JNLP 16-6 asistente 16-6 configurar proyecto para 16-4 instalar 16-3 pgina de inicio de la aplicacin, Web Start 16-6 seguridad de las aplicaciones 16-2 tutorial 21-1 y JBuilder 16-4 WebApps Consulte mdulos web WebLogic archivo weblogic.xml 9-4 descriptor de distribucin 9-4

X
XML especfico del servidor, aadir a WAR 17-3

I-10

Gu a d e l d e s a r r r o l l a d o r d e a p l i c a c i o n e s w e b

Вам также может понравиться