Introduccin al Framework Struts Web Este documento le lleva a travs de los fundamentos del uso de NetBeans IDE para desarrollar aplicaciones web utilizando el framework de desarrollo web Struts. Struts es un framework de cdigo abierto que se extiende de la API Java Servlet y utiliza unModelo, Vista, Controlador (MVC). Le permite crear mantenible, extensible y aplicaciones web flexibles basados en tecnologas estndar, como las pginas JSP, JavaBeans, paquetes de recursos, y XML. Este tutorial te ensea cmo construir una sencilla aplicacin MVC que muestra una pgina de inicio de sesin y devuelve una pgina de xito en la presentacin de los datos que pasan la validacin. Se aprende varias caractersticas bsicas proporcionadas por Struts, as como la forma de estas caractersticas se implementan utilizando el IDE. En concreto, se utilizan etiquetas de Struts en las pginas JSP, mantener los datos de usuario con Struts ActionForm de frijol, y poner en prctica la lgica de reenvo utilizando una Struts Accin objeto. Tambin se muestra cmo implementar la validacin simple de su solicitud, incluyendo la creacin de un mensaje de advertencia de un intento fallido. Para una introduccin ms finos como para Struts, vase Cmo funciona Struts? en la pgina oficial de Struts sitio web. Asimismo, hacer uso de la bsqueda del IDE Javadoc Index (Ayuda Javadoc> Bsqueda ndice) para ver el API Struts Framework , que est empaquetado con las libreras de Struts. Contenido
Descripcin de la aplicacin Configuracin de una aplicacin Struts Creacin de pginas JSP o Creacin de una pgina de acceso o Creacin de una pgina de xito Creacin de un ActionForm bean Creacin de una accin de clase Implementacin de validacin o Acceso a los datos de frijol y la preparacin de un Estado de Desvo o Configuracin de un mensaje de error Aadir adelante los comentarios de struts-config.xml Configuracin y ejecucin de la aplicacin o Configuracin de la pgina de bienvenida o Adjuntar una hoja de estilos o Ejecutar la aplicacin
Descripcin de la aplicacin Cuando se utiliza Struts, el marco que proporciona un servlet controlador, ActionServlet , que se define en las libreras de Struts que se incluyen en el IDE, y que se registra automticamente en el web.xml descriptor de despliegue que se muestra a continuacin . El servlet controlador utiliza un struts- config.xml archivo de corresponder las peticiones entrantes a StrutsAccin objetos, y crear instancias de los ActionForm objetos asociados a la accin para almacenar temporalmente los datos del formulario. La accin objeto de procesos de las solicitudes mediante su ejecucin de mtodo, mientras que haciendo uso de los datos almacenados en el grano de la forma. Una vez que la accin objeto procesa una solicitud, que almacena todos los datos nuevos (es decir, en el bean de formulario, o en un grano de resultado por separado), y enva los resultados a la vista apropiada.
Desarrollo de una aplicacin Struts es similar al desarrollo de cualquier otro tipo de aplicacin web en el IDE NetBeans. Sin embargo, complementar su kit de herramientas de desarrollo web, aprovechando el apoyo Struts proporcionada por el IDE. Por ejemplo, puede utilizar las plantillas en el IDE para crear puntales de accin y objetos ActionForm frijoles. Tras su creacin, el IDE se registra automticamente en estas clases en el struts-config.xml archivo y le permite ampliar este archivo muy fcilmente utilizando los elementos del men en el men del botn derecho del Editor de cdigo fuente de. Debido a que muchas aplicaciones web utilizan pginas JSP para la vista, Struts tambin proporciona bibliotecas de etiquetas personalizadas, que facilitan la interaccin con los formularios HTML. En Editor de cdigo fuente del IDE, puede llamar a la finalizacin de cdigo y el apoyo Javadoc que le ayuda a trabajar de manera eficiente a estas bibliotecas. Los pasos siguientes muestran cmo crear un sencillo formulario que recoge datos de los usuarios, realiza la validacin de simple, y enva los datos en una pgina de xito.
Configuracin de una aplicacin Struts En el IDE, una aplicacin Struts no es ms que una aplicacin web normal, acompaado de las bibliotecas y archivos de configuracin de Struts. Se crea una aplicacin Struts en la misma forma que se crea cualquier otra aplicacin Web en el IDE - utilizando el asistente de nueva aplicacin Web, con el paso adicional de lo que indica que desea que las bibliotecas y archivos de configuracin de Struts que se incluirn en su solicitud.
1. Elija Archivo> Nuevo Proyecto (Ctrl + Maysculas + N; + Maysculas + N en Mac) en el men principal. En Categoras, seleccione Web. En Proyectos, seleccione Aplicacin Web y haga clic en Siguiente.
2. En el panel de Nombre y Ubicacin, escriba MyStrutsApp de nombre del proyecto y haga clic en Siguiente.
3. En el panel Server y Configuracin, seleccione el servidor al que desea implementar la aplicacin. Slo los servidores que estn registrados con el IDE estn en la lista. (Para registrar un servidor, haga clic en Aadir junto al servidor de la lista desplegable.) Adems, tenga en cuenta que la ruta de contexto de la aplicacin implementada se convierte en / MyStrutsApp . Haga clic en Siguiente.
4. En el panel Marcos, seleccione Struts: Para fines de este tutorial, no cambie ninguno de los valores de configuracin en la regin inferior de este panel. Estos son los siguientes:
o Nombre de la accin Servlet : El nombre del servlet action de Struts utilizado en la aplicacin. El web.xmldescriptor de despliegue contiene una entrada para el servlet de accin y especifica las adecuadas Struts parmetros especficos, tales como la ruta de la clase servlet dentro de la biblioteca Struts y el struts-config.xml archivo de configuracin dentro de la aplicacin. o Patrn de Accin URL : Especifica los patrones de las solicitudes de entrada que se asignan a la accin del controlador Struts. Esto genera una entrada de asignacin en el descriptor de despliegue. De forma predeterminada, slo el *. no se asigna patrn. o Aplicacin de Recursos : permite especificar el paquete de recursos que se utilizarn en el struts-config.xmlarchivo de mensajes de localizacin. De forma predeterminada, esto es com.myapp.struts.ApplicationResource . o Aadir dominios de primer nivel de Struts : Le permite generar descriptores de etiquetas de la biblioteca para las bibliotecas de etiquetas de Struts. Un descriptor de biblioteca de etiquetas es un documento XML que contiene informacin adicional acerca de la biblioteca de etiquetas completo, as como cada etiqueta individual. En general esto no es necesario, porque se puede consultar en lnea los URI en lugar de archivos locales de dominios de nivel superior. 5. Haga clic en Finalizar. El IDE crea la carpeta del proyecto en su sistema de archivos. Al igual que con cualquier aplicacin web en el IDE, la carpeta del proyecto contiene todas las fuentes y los metadatos del IDE del proyecto, tales como la secuencia de comandos Ant. Sin embargo, la aplicacin Web, adems cuenta con todas las bibliotecas de Struts en su ruta de clase. No slo estn en ruta de clases de la aplicacin, pero se incluyen en el proyecto y se empaquetan con l ms tarde, cuando se genera el proyecto. El proyecto se abre en el IDE. La ventana de Proyectos es el principal punto de entrada a las fuentes de su proyecto. Muestra una vista lgica de los contenidos de los proyectos importantes. Por ejemplo, si expande varios nodos dentro del nuevo proyecto, que puede aparecer como sigue:
Las Struts los archivos de configuracin, as como descriptor de la aplicacin de despliegue, estn convenientemente ubicados dentro de la carpeta Archivos de configuracin. Abra el descriptor de despliegue (doble clic en el archivo web.xml nodo del archivo para que se muestre en el Editor de cdigo fuente). Con el fin de manejar el procesamiento de Struts, un mapeo se proporciona para el servlet controlador de Struts:
Por encima, el servlet controlador de Struts se llama la accin y se define en la biblioteca de Struts (org.apache.struts.action.ActionServlet ). Se pone a manejar todas las peticiones que satisfacen la *. hacer la cartografa.Adems, los parmetros de inicializacin del servlet se especifican mediante el struts- config.xml archivo, tambin figuran en laWEB-INF carpeta. Creacin de pginas JSP Comience por la creacin de dos pginas JSP de la aplicacin. El primero muestra un formulario. La segunda es la opinin de regres al inicio de sesin tiene xito. Creacin de una pgina de acceso Creacin de una pgina de xito Creacin de una pgina de acceso 1. Haga clic con el MyStrutsApp nodo del proyecto, seleccione Nuevo> JSP, y el nombre del nuevo archivo de inicio de sesin . Haga clic en Finalizar. El login.jsp archivo se abre en el editor de cdigo.
2. En el Editor de cdigo fuente, modificar el contenido tanto de la <title> y <h1> etiquetas (o <h2> etiquetas, dependiendo de la versin IDE que est utilizando) para Login Form .
3. Agregue los siguientes dos directivas taglib a la parte superior del archivo: <% @ Taglib uri = "http://struts.apache.org/tags-bean" prefix = "bean"%> <% @ Taglib uri = "http://struts.apache.org/tags-html" prefix = "html"%>
Muchas aplicaciones web utilizan pginas JSP para vistas en el paradigma MVC, por lo que Struts proporciona las bibliotecas de etiquetas personalizadas, que facilitan la interaccin con los formularios HTML. Estos se pueden aplicar fcilmente a un archivo JSP utilizando el soporte del IDE para completar el cdigo. Al escribir en el editor de cdigo fuente, el IDE te ofrece la finalizacin de cdigo para las etiquetas de Struts, as como el Javadoc Struts. Tambin se puede invocar la finalizacin de cdigo manualmente pulsando Ctrl-Espacio: El frijol taglib le ofrece numerosas etiquetas que son tiles cuando se asocia un grano de forma (es decir, un ActionForm frijol), con los datos recogidos en el formulario. El HTML taglib ofrece una interfaz entre la vista y otros componentes necesarios para una aplicacin web. Por ejemplo, por debajo de sustituir comunes html formulario etiquetas con Struts " <html:form> etiquetas. Uno de los beneficios esto proporciona es que hace que el servidor para localizar o crear un objeto de frijol que se corresponde con el valor proporcionado para html: formulario de 's la accin del elemento.
4. Por debajo de la <h1> (o <h2> ) las etiquetas, aada lo siguiente:
5. En la paleta (Ventana> Paleta) en la regin derecha del IDE, arrastre un elemento de la tabla de la categora de HTML a un punto situado justo encima de la <html:submit value="Login" /> lnea. El cuadro de dilogo Insertar muestra.Establecer las filas de tres , las columnas a 2 , y dejar el resto de valores en 0 . Ms adelante en el tutorial, adjuntar una hoja de estilo que afectan a la pantalla de tabla. Haga clic en Aceptar y, a continuacin, opcionalmente, el cdigo de formato (Alt-Shift-F). La forma en la login.jsp ahora se ve de la siguiente manera:
6. En la primera fila de la tabla, escriba lo siguiente:
7. En la segunda fila de la tabla, escriba lo siguiente:
El html: texto elemento que permite hacer coincidir los campos de entrada de la forma con propiedades en la forma de frijol que se crearn en el siguiente paso. As, por ejemplo, el valor de la propiedad debe coincidir con un campo declarado en el grano de forma asociada con este formulario. 8. Mueva el <html:submit value="Login" /> elemento en la segunda columna de la fila de la tabla en tercer lugar, por lo que la tercera fila de la tabla aparece de la siguiente manera:
En esta etapa, el formulario de inicio de sesin debe tener el siguiente aspecto:
Creacin de una pgina de xito 1. Haga clic con el MyStrutsApp nodo del proyecto, seleccione Nuevo> JSP, y el nombre del nuevo archivo de xito . En el campo Carpeta, haga clic en el botn Examinar y seleccionar junto WEB-INF en el cuadro de dilogo que aparece. Haga clic en Seleccionar carpeta para entrar en WEB-INF en el campo Carpeta. Los archivos contenidos en la carpeta WEB-INF no son directamente accesibles a las peticiones de los clientes. Con el fin de success.jsp que se muestra correctamente, debe contener los datos procesados. Haga clic en Finalizar.
2. En el Editor de cdigo, cambia el con tenido de la pgina recin creada a la siguiente:
3. Aadir un bean taglib Directiva a la parte superior del archivo:
4. Agregue los siguientes <bean:write> etiquetas:
Mediante el empleo de los <bean:write> etiquetas, hacer uso de la semilla taglib para localizar el ActionForm de frijol est a punto de crear y visualizar los datos del usuario guardados para el nombre y la direccin de correo electrnico.
Creacin de un ActionForm bean Un Struts ActionForm bean se utiliza para guardar los datos entre las peticiones. Por ejemplo, si un usuario enva un formulario, los datos se almacenan temporalmente en el bean de formulario de forma que puede volver a mostrar en la pgina del formulario (si los datos estn en un formato no vlido, o si no de inicio de sesin) o aparece en un xito de inicio de sesin pgina (si los datos pasan de validacin). 1. Haga clic con el MyStrutsApp nodo del proyecto y seleccione Nuevo> Otros. En Categoras elegir Struts, a continuacin, en Tipos de archivo elegir Struts ActionForm Bean. Haga clic en Siguiente.
2. Escriba LoginForm el nombre de clase. A continuacin, seleccione com.myapp.struts en el paquete de la lista desplegable y haga clic en Finalizar.
El IDE crea el ActionForm frijol y lo abre en el Editor de cdigo fuente. De forma predeterminada, el IDE se ofrece unacadena de llamados nombre y un int llamada nmero . Ambos campos tienen mtodos de acceso definidos por ellos.Adems, el IDE agrega una declaracin de frijol a la struts-config.xml archivo. Si abre el struts-config.xml archivo en el Editor de cdigo fuente, se puede ver la siguiente declaracin, que fue aadido por el asistente:
El IDE proporciona soporte de navegacin en el struts- config.xml archivo. Mantenga presionada la tecla Ctrl y mueva su ratn sobre el ActionForm nombre del bean de clase completo. El nombre se convierte en un vnculo, lo que le permite navegar directamente a la clase en el Editor de cdigo fuente:
3. En el ActionForm de frijol en el Editor de cdigo fuente, crear campos y que acompaan a los mtodos de acceso que corresponden a la nombre y correo electrnico campos de entrada de texto que cre en el login.jsp . Debido a que el nombre ya se ha creado en el ActionForm esqueleto, slo tiene que aplicar de correo electrnico . Agregue la siguiente declaracin bajo el name:
Seleccione Getter y Setter, a continuacin, en el cuadro de dilogo que aparece, seleccione e-mail: String y haga clic en Generar. Mtodos de acceso se generan para el correo electrnico de campo.
Creacin de una accin de clase La accin de clase contiene la lgica de negocio en la aplicacin. Cuando los datos del formulario se recibe, es la ejecucin deun mtodo de accin objeto que procesa los datos y determina qu ver que transmita los datos procesados a. Debido a que laaccin de clase es parte integral del marco de trabajo Struts, NetBeans IDE proporciona un asistente.
1. En la ventana de Proyectos, haga clic en el MyStrutsApp nodo del proyecto y seleccione Nuevo> Otros. En la categora de Struts Struts elija Accin y haga clic en Siguiente.
2. En el panel Nombre y ubicacin, cambiar el nombre a loginAction . 3. Seleccione com.myapp.struts en el paquete de la lista desplegable. 4. Escriba / login en el camino de accin. Este valor debe coincidir con el valor establecido para la accin de atributo de los<html:form> etiquetas en login.jsp . Asegrese de que la configuracin de aparecer como en la siguiente imagen, haga clic en Siguiente.
5. En el tercer paso del asistente, se le da la oportunidad de asociar la accin de clase con un form bean. Observe que elLoginForm frijol que ya ha creado aparece como una opcin para ActionForm Nombre Bean. Realice los siguientes ajustes en el panel:
Eliminar la barra diagonal para el campo de entrada de recursos Establecer Alcance a la solicitud (perodo de sesiones es el valor del mbito predeterminado en Struts.) Desmarque la opcin Validar bean ActionForm Haga clic en Finalizar. El loginAction clase se genera, y el archivo se abre en el Editor de cdigo fuente. Tambin tenga en cuenta que la siguiente accin de entrada se agrega a la struts-config.xml archivo:
Click Finish. The LoginAction class is generated, and the file opens in the Source Editor. Also note that the following actionentry is added to the struts-config.xml file:
Los nombres y alcance atributos se aplican a la forma de frijol que est asociado con la accin. En concreto, cuando una solicitud de entrada los partidos o de inicio de sesin , el marco de trabajo Struts automticamente instancias de unLoginForm objeto y la rellena con los datos del formulario enviado en la solicitud. El valor predeterminado de validacin se establece cierto . Esto le dice al marco de referencia para llamar a la validacin de mtodo del bean de formulario. Se anula la seleccin de esta opcin en el asistente sin embargo, debido a que la voluntad a mano el cdigo de validacin simple en el siguiente paso, que no requiere la validacin de mtodo.
Implementacin de validacin En el Editor de cdigo fuente, navegar a travs de la loginAction clase y mirar al ejecutar el mtodo:
Tenga en cuenta la definicin de XITO , que figuran por debajo de la loginAction declaracin de la clase:
En la actualidad, el mapping.findForward mtodo se ha configurado para remitir incondicionalmente cualquier peticin a un punto de vista de salida llamado xito . Esto no es realmente conveniente, desea realizar primero una especie de validacin de los datos de entrada para determinar si se debe enviar el xito de vista, o cualquier otro punto de vista diferente.
Acceso a los datos de frijol y la preparacin de un Estado de Desvo Configuracin de un mensaje de error Acceso a los datos de frijol y la preparacin de un Estado de Desvo 1. Escriba el siguiente cdigo dentro del cuerpo de la ejecucin de mtodo:
Para poder utilizar los datos del formulario de entrada, usted necesita tomar ejecutar 's ActionForm argumento y proyectarlo como LoginForm , a continuacin, aplicar los mtodos getter que cre anteriormente. 2. Escriba el siguiente clusula condicional para realizar la validacin en los datos de entrada:
En esta etapa, la ejecucin de mtodo debe ser el siguiente:
3. Agregar una declaracin de NO a la loginAction clase:
Usando la lgica de lo anterior, la ejecucin de mtodo, remite la solicitud a la xito de vista si el usuario proporciona una entrada para ambas el nombre y el correo electrnico los campos, y el correo electrnico introducido contiene un smbolo "@". De lo contrario, la falta de vista se transmiti. Como se demostrar ms adelante, en adicin a trmino los comentarios de struts- config.xml , puede definir el fracaso para sealar de nuevo a la pgina del formulario, para que el usuario tiene otra oportunidad de introducir datos en el formato correcto.
Configuracin de un mensaje de error Si el formulario de inicio de sesin se devuelve, que sera bueno para informar al usuario de que la validacin ha fallado. Usted puede lograr esto mediante la adicin de un error de campo en el form bean, y una adecuada <bean:write> etiqueta a la forma en la login.jsp . Finalmente, en la accin objeto, establecer el mensaje de error que se mostrar en el caso de que elfallo vista que se elija.
1. Abra LoginForm y aade el error de campo a la clase:
2. Agregue un mtodo get y un mtodo de seleccin para el error , como se ha demostrado anteriormente .
3. Modificar el mtodo de seleccin para que aparezca la siguiente manera: public void setError() { this.error = "<span style='color:red'>Please provide valid entries for both fields</span>"; }
4. Abra login.jsp y realice los cambios siguientes:
5. En loginAction , en el caso de la clusula condicional, agregue una instruccin para fijar el mensaje de error antes de enviar el fracaso condicin
Su completa la clase loginAction, esta debe aparecer como sigue:
Aadir adelante los comentarios de struts- config.xml Para que la aplicacin para que coincida con las pginas JSP con las condiciones de envo devueltos por loginAction 's ejecutarel mtodo, es necesario aadir adelante entradas en el struts-config.xml archivo. 1. Abra struts-config.xml en el Editor de cdigo fuente, haga clic en cualquier lugar en el la accin de entrada paraLoginForm , y elegir Struts> Add Forward.
2. En el cuadro Agregar tipo de dilogo hacia adelante, el xito en el nombre de Adelante. Introduzca la ruta al success.jspen el campo del archivo de recursos (es decir, / WEB-INF/success.jsp ). El cuadro de dilogo debe verse de la siguiente manera: Haga clic en Agregar. Tenga en cuenta que el siguiente avance se agregaba al struts-config.xml
3. Realice la misma accin para agregar una entrada a seguir para el fracaso . Establezca la ruta del archivo de recursos para / login.jsp . El siguiente avance entrada se agrega a struts- config.xml
Configuracin y ejecucin de la aplicacin El IDE usa un script de construccin Ant para construir y ejecutar la aplicacin web. El IDE genera el script de compilacin cuando se cre el proyecto, basndose en las opciones que ha entrado en el Asistente para nuevo proyecto. Antes de construir y ejecutar la aplicacin, es necesario establecer el punto de la aplicacin por defecto la entrada a login.jsp . Si lo desea, tambin puede agregar una sencilla hoja de estilo para el proyecto. Configuracin de la pgina de bienvenida Adjuntar una hoja de estilos Ejecutar la aplicacin
Configuracin de la pgina de bienvenida 1. En la ventana de proyectos, haga doble clic en el archivo web.xml descriptor de despliegue. Las fichas que aparecen en la parte superior del editor de cdigo que proporcionan una interfaz para el web.xml archivo. Haga clic en la ficha Pginas. En el campo de los archivos de bienvenida, introduzca login.jsp . Ahora haga clic en la ficha XML para ver el archivo. Tenga en cuenta que login.jsp aparece ahora en el archivo de bienvenida de entrada:
Adjuntar una hoja de estilos 1. Agregar una sencilla hoja de estilo para el proyecto. Una manera fcil de hacer esto es por el ahorro de esta hoja de estilo de la muestra a su equipo. Copie el archivo (Ctrl-C), luego en el IDE, seleccione el nodo Web Pages en la ventana de Proyectos y pulse Ctrl-V). El archivo se agrega a su proyecto. 2. Vincular la hoja de estilo a sus pginas JSP mediante la adicin de una referencia entre los <head> etiquetas tanto delogin.jsp y success.jsp : <link rel="stylesheet" type="text/css" href="stylesheet.css">
Ejecutar la aplicacin 1. En la ventana de Proyectos, haga clic en el nodo del proyecto y seleccione Ejecutar. El IDE se basa la aplicacin web y lo implementa, con el servidor que ha especificado al crear el proyecto. El explorador se abre y muestra el login.jsp pgina.Escriba algunos datos que no pasan la validacin debe, es decir, deje en blanco el campo ya sea, o introducir una direccin de correo electrnico con un faltante smbolo "@": Al hacer clic en Inicio de sesin, los vuelve a mostrar la forma de inicio de sesin de pginas, que contienen un mensaje de error: Prueba a introducir los datos que debe pasar la validacin. Al hacer clic en Inicio de sesin, se le presentar la pgina de xito: