introducción a la web framework struts - netbeans ide tutorial

13
NetBeans IDE Plataforma NetBeans Empresa Plugins Docs y soporte Comunidad Search INICIO / Docs y soporte Introducción al Marco Struts Web Este documento le lleva a través de los aspectos básicos del uso de NetBeans IDE para desarrollar aplicaciones web usando el framework web Struts. Struts es un framework de código abierto que se extiende la API Java Servlet y emplea un Modelo, Vista, Controlador (MVC). Se le permite crear aplicaciones web mantenibles, extensibles y flexibles basadas en tecnologías estándar, como las páginas JSP, JavaBeans, paquetes de recursos, y XML. Este tutorial te enseña cómo crear una sencilla aplicación MVC que muestra una página de inicio de sesión y devuelve una página de éxito al presentar datos que pasan la validación. Se aprende varias funciones básicas proporcionadas por Struts, así como cómo estas características se implementan utilizando el IDE. En concreto, se utilizan etiquetas de Struts en páginas JSP, mantener los datos del usuario con un Struts ActionForm frijol, y aplicar la lógica de reenvío utilizando un Struts Acción objeto. Además, se muestra cómo implementar la validación simple a su aplicación, incluyendo la creación de mensaje de advertencia para un intento de inicio de sesión fallido. Para una introducción más de grano fino a Struts, véase ¿Cómo funciona Struts? en la página oficial Struts sitio web. También, hacer uso de la IDE de Javadoc Índice Búsqueda (Ayuda> Javadoc Índice Búsqueda) para ver el API Struts Framework , que se empaqueta con las bibliotecas de Struts. Contenido Visión general del uso Configuración de una aplicación Struts Creación de páginas JSP Creación de una página de entrada Creación de una página de éxito Creación de un ActionForm Frijol Creación de una acción de clase Validación Implementación Acceso a la haba de datos y preparación de la Condición Forwarding Configuración de un mensaje de error Adición adelante Entradas a strutsconfig.xml Configuración y ejecución de la aplicación Configuración de la página de bienvenida Colocación de una hoja de estilos Ejecutar la aplicación Ver También Para completar este tutorial, necesita el siguiente software y recursos. Software o de recursos Se necesita una versión NetBeans IDE 7.2, 7.3, 7.4, 8.0, Java EE Java Development Kit (JDK) 7o8 Servidor GlassFish o Tomcat contenedor de servlets Abrir 3.x Source Edition 4.0 o versión 7.x o 8.x Notas: La instalación de Java le permite, opcionalmente, instalar el servidor GlassFish y el contenedor de servlets Apache Tomcat. Debe instalar uno de estos (o registrar un servidor diferente en el IDE) para trabajar a través de este tutorial. Si usted necesita comparar su proyecto con una solución de trabajo, se puede descargar la aplicación de ejemplo . Visión general del uso Cuando se utiliza Struts, el marco que proporciona un servlet controlador, ActionServlet , que se define en las bibliotecas de Struts que se incluyen en el IDE, y que se registra automáticamente en el web.xml descriptor de despliegue como se muestra a continuación . El servlet controlador utiliza un strutsconfig.xml archivo de corresponder las peticiones entrantes a Struts Acción objetos, y crear instancias de cualquier ActionForm objetos asociados a la acción para almacenar temporalmente los datos del formulario. La Acción objeto procesa las solicitudes utilizando su ejecución método, al hacer uso de los datos almacenados en forma de grano. Una vez que la acción objeto procesa una solicitud, que almacena todos los datos nuevos (es decir, en forma de grano, o en un grano de resultado por separado), y envía los resultados a la vista apropiada. Entrenamiento Apoyo Oracle Ofrenda Herramientas de desarrollo de Apoyo para NetBeans IDE Documentación General de Desarrollo de Java Herramientas y Servicios Externos Aplicaciones Java GUI Desarrollo Web Java EE y Java Servicios Web Aplicaciones Plataforma NetBeans (RCP) y Módulo de Desarrollo PHP y HTML5 Aplicaciones C / Aplicaciones C ++ Aplicaciones Móviles Aplicaciones de ejemplo Demos y Screencasts Más Preguntas frecuentes Contribuir Documentación! Docs para versiones anteriores Elija idioma de la página Programación Java Texto original Java Programming Language Sugiere una traducción mejor

Upload: ben-avraham

Post on 11-Nov-2015

25 views

Category:

Documents


4 download

DESCRIPTION

tip

TRANSCRIPT

  • 14/4/2015 IntroduccinalaWebFrameworkStrutsNetBeansIDETutorial

    https://netbeans.org/kb/docs/web/quickstartwebappsstruts.html 1/13

    NetBeansIDE PlataformaNetBeans Empresa Plugins Docsysoporte Comunidad Search

    INICIO/Docsysoporte

    IntroduccinalMarcoStrutsWebEstedocumentolellevaatravsdelosaspectosbsicosdelusodeNetBeansIDEparadesarrollaraplicacioneswebusandoelframeworkwebStruts.StrutsesunframeworkdecdigoabiertoqueseextiendelaAPIJavaServletyempleaunModelo,Vista,Controlador(MVC).Selepermitecrearaplicacioneswebmantenibles,extensiblesyflexiblesbasadasentecnologasestndar,comolaspginasJSP,JavaBeans,paquetesderecursos,yXML.

    EstetutorialteenseacmocrearunasencillaaplicacinMVCquemuestraunapginadeiniciodesesinydevuelveunapginadexitoalpresentardatosquepasanlavalidacin.SeaprendevariasfuncionesbsicasproporcionadasporStruts,ascomocmoestascaractersticasseimplementanutilizandoelIDE.Enconcreto,seutilizanetiquetasdeStrutsenpginasJSP,mantenerlosdatosdelusuarioconunStrutsActionFormfrijol,yaplicarlalgicadereenvoutilizandounStrutsAccinobjeto.Adems,semuestracmoimplementarlavalidacinsimpleasuaplicacin,incluyendolacreacindemensajedeadvertenciaparaunintentodeiniciodesesinfallido.

    ParaunaintroduccinmsdegranofinoaStruts,vaseCmofuncionaStruts?enlapginaoficialStrutssitioweb.Tambin,hacerusodelaIDEdeJavadocndiceBsqueda(Ayuda>JavadocndiceBsqueda)paraverelAPIStrutsFramework,queseempaquetaconlasbibliotecasdeStruts.

    Contenido

    Visingeneraldeluso

    ConfiguracindeunaaplicacinStruts

    CreacindepginasJSP

    Creacindeunapginadeentrada

    Creacindeunapginadexito

    CreacindeunActionFormFrijol

    Creacindeunaaccindeclase

    ValidacinImplementacin

    AccesoalahabadedatosypreparacindelaCondicinForwarding

    Configuracindeunmensajedeerror

    AdicinadelanteEntradasastrutsconfig.xml

    Configuracinyejecucindelaaplicacin

    Configuracindelapginadebienvenida

    Colocacindeunahojadeestilos

    Ejecutarlaaplicacin

    VerTambin

    Paracompletarestetutorial,necesitaelsiguientesoftwareyrecursos.

    Softwareoderecursos Senecesitaunaversin

    NetBeansIDE 7.2,7.3,7.4,8.0,JavaEE

    JavaDevelopmentKit(JDK) 7o8

    ServidorGlassFish o Tomcatcontenedordeservlets

    Abrir3.xSourceEdition4.0oversin7.xo8.x

    Notas:

    LainstalacindeJavalepermite,opcionalmente,instalarelservidorGlassFishyelcontenedordeservletsApacheTomcat.Debeinstalarunodeestos(oregistrarunservidordiferenteenelIDE)paratrabajaratravsdeestetutorial.

    Siustednecesitacompararsuproyectoconunasolucindetrabajo,sepuededescargarlaaplicacindeejemplo.

    VisingeneraldelusoCuandoseutilizaStruts,elmarcoqueproporcionaunservletcontrolador,ActionServlet,quesedefineenlasbibliotecasdeStrutsqueseincluyenenelIDE,yqueseregistraautomticamenteenelweb.xmldescriptordedesplieguecomosemuestraacontinuacin.Elservletcontroladorutilizaunstrutsconfig.xmlarchivodecorresponderlaspeticionesentrantesaStrutsAccinobjetos,ycrearinstanciasdecualquierActionFormobjetosasociadosalaaccinparaalmacenartemporalmentelosdatosdelformulario.LaAccinobjetoprocesalassolicitudesutilizandosuejecucinmtodo,alhacerusodelosdatosalmacenadosenformadegrano.Unavezquelaaccinobjetoprocesaunasolicitud,quealmacenatodoslosdatosnuevos(esdecir,enformadegrano,oenungranoderesultadoporseparado),yenvalosresultadosalavistaapropiada.

    Entrenamiento

    Apoyo

    OracleOfrendaHerramientasdedesarrollodeApoyoparaNetBeansIDE

    DocumentacinGeneraldeDesarrollodeJavaHerramientasyServiciosExternosAplicacionesJavaGUIDesarrolloWebJavaEEyJavaServiciosWebAplicacionesPlataformaNetBeans(RCP)yMdulodeDesarrolloPHPyHTML5AplicacionesC/AplicacionesC++AplicacionesMviles

    AplicacionesdeejemploDemosyScreencasts

    MsPreguntasfrecuentesContribuirDocumentacin!Docsparaversionesanteriores

    Elijaidiomadelapgina

    ProgramacinJava

    Textooriginal

    JavaProgrammingLanguage

    Sugiereunatraduccinmejor

  • 14/4/2015 IntroduccinalaWebFrameworkStrutsNetBeansIDETutorial

    https://netbeans.org/kb/docs/web/quickstartwebappsstruts.html 2/13

    DesarrollodeunaaplicacinStrutsessimilaraldesarrollodecualquierotrotipodeaplicacinwebenNetBeansIDE.Sinembargo,secomplementaneldesarrollodesukitdeherramientaswebaprovechandoelapoyoStrutsproporcionadaporelIDE.Porejemplo,utilizalasplantillasenelIDEparacrearStrutsAccinobjetosyActionFormfrijoles.Trassucreacin,elIDEregistraautomticamenteestasclasesenelstrutsconfig.xmlarchivoylepermiteextenderestearchivomuyfcilmenteutilizandoloselementosdelmenenelmendelbotnderechodelEditordecdigofuente.DebidoaquemuchasaplicacioneswebutilizanpginasJSPparalavista,StrutstambinproporcionabibliotecasdeetiquetaspersonalizadasquefacilitanlainteraccinconlosformulariosHTML.DentroEditorFuentedelIDE,puedeinvocarlafinalizacindecdigoyapoyoJavadocqueteayudaatrabajardeformaeficienteconestasbibliotecas.

    Lospasossiguientesmuestrancmocrearunsencilloformularioquerecogelosdatosdelusuario,realizalavalidacinsencilla,yenvalosdatosenunapginadexito.

    ConfiguracindeunaaplicacinStrutsEnelIDE,unaaplicacinStrutsnoesmsqueunaaplicacinwebnormalacompaadodelasbibliotecasyarchivosdeconfiguracindeStruts.CrearunaaplicacinStrutsenlamismaformaquesecreacualquierotraaplicacinwebenelIDEUsandoelnuevoAsistenteparaaplicacionesweb,conelpasoadicionaldeindicarquedeseaquelasbibliotecasyarchivosdeconfiguracindeStrutsparaserincluidosenlaaplicacin.

    1. SeleccioneArchivo>Nuevoproyecto(Ctrl+Maysculas+NMaysNenMac)enelmenprincipal.SeleccioneJavaWebenlalistadecategorasy,acontinuacin,seleccioneAplicacinWebenlalistadeproyectos.HagaclicenSiguiente.

    2. EnelpanelNombreyubicacin,introduzcaMyStrutsAppporNombredelproyectoyhagaclicenSiguiente.

    3. EnelpanelServidoryConfiguracin,seleccioneelservidoralquedeseaimplementarsuaplicacin.SlolosservidoresqueestnregistradosconelIDEseenumeran.(Pararegistrarunservidor,hagaclicenAgregarjuntoalalistadesplegableServidor.)Adems,tengaencuentaquelarutadecontextoparasuaplicacinimplementadaseconvierte/MyStrutsApp.HagaclicenSiguiente.

    4. SeleccioneStrutsenelpanelMarcos.

    Paraefectosdeestetutorial,nocambieningunodelosvaloresdeconfiguracinenlaregininferiordeestepanel.Elasistentemuestralassiguientesopcionesdeconfiguracin.

    AccinServletNombre:ElnombredelservletaccinStrutsutilizadoenlaaplicacin.Elweb.xmldescriptordedesplieguecontieneunaentradaparaelservletaccinyespecificalosparmetrosapropiadosStrutsespecfica,comolarutadeaccesoalaclaseservletdentrodelabibliotecaStrutsyalstrutsconfig.xmlarchivodeconfiguracindelaaplicacin.

  • 14/4/2015 IntroduccinalaWebFrameworkStrutsNetBeansIDETutorial

    https://netbeans.org/kb/docs/web/quickstartwebappsstruts.html 3/13

    AccinPatrndeURL:EspecificalospatronesdelassolicitudesdeentradaqueseasignanalcontroladoraccinStruts.Estogeneraunaentradadeasignacineneldescriptordedespliegue.Pordefecto,sloel*.dopatrnseasigna.

    RecursosdeAplicacin:permiteespecificarelpaquetederecursosquesernutilizadosenelstrutsconfig.xmlarchivoparalocalizarmensajes.Pordefecto,esteescom.myapp.struts.ApplicationResource.

    AadirStrutsTLDs:lepermitegenerardescriptoresbibliotecadecdigosparalasbibliotecasdeetiquetasStruts.UndescriptordelabibliotecaesundocumentoXMLquecontieneinformacinadicionalacercadelatotalidaddelabibliotecadeetiquetas,ascomocadaetiquetaindividual.Engeneralestonoesnecesario,porquesepuedehacerreferenciaalosURIenlneaenlugardearchivosTLDlocales.

    5. HagaclicenFinalizar.ElIDEcrealacarpetadelproyectoenelsistemadearchivos.AligualqueconcualquieraplicacinwebenelIDE,lacarpetadelproyectocontienetodaslasfuentesylosmetadatosdelproyectodelIDE,comoelscriptdeconstruccinAnt.Sinembargo,suaplicacinwebademstienetodaslasbibliotecasdeStrutsensurutadeclase.Noslosonelclasspathdelaaplicacin,sinoqueseincluyenenelproyectoysernempaquetadosconlmstarde,cuandosegeneraelproyecto.

    ElproyectoseabreenelIDE.LaventanadeProyectoseselprincipalpuntodeentradaasusfuentesdelproyecto.Muestraunavistalgicadeloscontenidosimportantesdelproyecto.Porejemplo,siseexpandevariosnodosdentrodelnuevoproyecto,puedeaparecercomosigue:

    Nota:UtilicelaventanaArchivos(Ventana>Archivos)paravertodosloscontenidosdesuproyectoenunavistabasadaendirectorios.

    LosarchivosdeconfiguracinespecficosdeStruts,ascomodescriptordedesplieguedelaaplicacin,estnconvenientementeubicadosdentrodelacarpetadearchivosdeconfiguracin.Abraeldescriptordedespliegue(dobleclicenelarchivoweb.xmlnododelarchivoparaquemostraraenelEditordecdigofuente).Conelfindemanejarelprocesamientodepuntales,seproporcionaunmapeoparaelservletcontroladorStruts.

    accin

    org.apache.struts.action.ActionServlet

    config

    /WEBINF/strutsconfig.xml

    debug

    2

    detalle

  • 14/4/2015 IntroduccinalaWebFrameworkStrutsNetBeansIDETutorial

    https://netbeans.org/kb/docs/web/quickstartwebappsstruts.html 4/13

    2

    2

    accin

    *.Hacer

    Porencima,elcontroladorservletStrutssedenominaaccinysedefineenlabibliotecaStruts(org.apache.struts.action.ActionServlet).Sefijaparamanejartodaslassolicitudesquesatisfaganel*.domapeo.Adems,losparmetrosdeinicializacindelservletseespecificanmedianteelstrutsconfig.xmlarchivo,tambincontenidasenelWEBINFcarpeta.

    CreacindepginasJSPComienceporlacreacindedospginasJSPparalaaplicacin.Laprimeramuestraunformulario.Lasegundaeslavistadevuelvecuandoinicialasesincorrectamente.

    Creacindeunapginadeentrada

    Creacindeunapginadexito

    Creacindeunapginadeentrada

    1. HagaclicconelMyStrutsAppnododelproyecto,elijaNuevo>JSP,yelnombredelnuevoarchivodeiniciodesesin.HagaclicenFinalizar.Ellogin.jsparchivoseabreenelEditordecdigofuente.

    2. EnelEditordecdigofuente,cambiarelcontenidodeamboselyetiquetas(oetiquetas,dependiendodelaversinIDEqueestutilizando)alFormulariodeacceso.

    3. Aadirlasdosdirectivastaglibsiguientesalapartesuperiordelarchivo:

    MuchasaplicacioneswebutilizanpginasJSPparavisitasenelparadigmaMVC,StrutsloproporcionabibliotecasdeetiquetaspersonalizadasquefacilitanlainteraccinconlosformulariosHTML.EstossepuedenaplicarfcilmenteaunarchivoJSPconelapoyodelaIDEparalafinalizacindecdigo.AlescribirenelEditordecdigofuente,elIDEproporcionaautocompletadodecdigoparalasetiquetasdeStruts,ascomoelJavadocStruts.TambinpuedeinvocarlafinalizacindecdigomanualmentepulsandoCtrlEspacio:

    Eltaglibfrijolproporcionanumerosasetiquetasquesontilesalasociarunfrijolforma(esdecir,unActionFormfrijol)conlosdatosrecogidosenelformulario.Eltaglibhtmlofreceunainterfazentrelavistayotroscomponentesnecesariosparaunaaplicacinweb.Porejemplo,pordebajodeustedreemplazarhtmlcomnformularioetiquetasconStruts'etiquetas.Unodelosbeneficiosqueestoproporcionaesquehacequeelservidorparalocalizarocrearunobjetodefrijolquesecorrespondeconelvalorprevistohtml:form'saccinelemento.

    4. Pordebajodelos(o)etiquetas,agregueelsiguiente:

  • 14/4/2015 IntroduccinalaWebFrameworkStrutsNetBeansIDETutorial

    https://netbeans.org/kb/docs/web/quickstartwebappsstruts.html 5/13

    CuandoterminedeescribirenelEditordecdigofuente,sepuedeponerenordenelcdigohaciendoclicderechoyseleccionandoFormat(AltShiftF).

    5. EnlaPaleta(Ventana>Paleta)enlareginderechadelIDE,arrastreunelementodelatabladelacategoradeHTMLaunpuntojustoencimadelalnea.ElcuadrodedilogoInsertartabla.Establezcalasfilasde3,columnasde2,ydejarelrestodeajustesen0.Msadelanteeneltutorial,adjuntarunahojadeestilosparaafectaralapresentacindelastablas.HagaclicenAceptary,acontinuacin,opcionalmente,reformatearelcdigo(AltShiftF).Laformaenlogin.jspahorasevedelasiguientemanera:

    Nota:Puedeeliminarelfiladelatabla,yaquenoseutilizaenestetutorial.

    6. Enlaprimerafiladelatabla,introduzcalossiguientes(cambiosennegrita):

    Introduzcasunombre:

    7. Enlasegundafiladelatabla,introduzcalossiguientes(cambiosennegrita):

    Introduzcasudireccindecorreoelectrnico:

  • 14/4/2015 IntroduccinalaWebFrameworkStrutsNetBeansIDETutorial

    https://netbeans.org/kb/docs/web/quickstartwebappsstruts.html 6/13

    Elhtml:textoelementopermiteunirloscamposdeentradadelaformaconpropiedadesenformadefrijolquesecrearenelsiguientepaso.As,porejemplo,elvalordelapropiedaddebecoincidirconuncampodeclaradoenelfrijolformaasociadaconesteformulario.

    8. Muevaelelementoenlasegundacolumnadelatercerafiladelatabla,porloquelatercerafiladelatablaaparececomosigue(cambiosennegrita):

    Enestaetapa,elformulariodeaccesodebeversedelasiguientemanera:

    Introduzcasunombre:

    Introduzcasudireccindecorreoelectrnico:

    Creacindeunapginadexito

    1. HagaclicconelMyStrutsAppnododelproyecto,elijaNuevo>JSP,yelnombredelarchivonuevoxito.EnelcampoCarpeta,hagaclicenelbotnExaminaryseleccioneadyacenteWEBINFdesdeeldilogoqueaparece.HagaclicenSeleccionarcarpetaparaentrarWEBINFenelcampoCarpeta.TodoslosarchivoscontenidosenlacarpetaWEBINFnosondirectamenteaccesiblesalassolicitudesdelcliente.Paraquesuccess.jspserrepresentadaadecuadamente,debecontenerlosdatosprocesados.HagaclicenFinalizar.

    2. EnelEditordecdigofuente,cambiarelcontenidodelapginaqueacabadecrearalosiguiente:

    LoginSuccess

    Enhorabuena!

    Hasiniciadosesincorrectamente.

    Sunombrees:.

    Sudireccindecorreoelectrnicoes:.

    3. Aadiruntaglibfrijoldirectivaalprincipiodelarchivo:

    4. AgregueelsiguienteEtiquetas(cambiosennegrita):

    Sunombrees:.

    Sudireccindecorreoelectrnicoes:.

    Alempleareletiquetas,sehaceusodelataglibfrijolparalocalizarelActionFormfrijolqueestapuntodecrearymostrarlosdatosdeusuarioguardadospornombreycorreoelectrnico.

  • 14/4/2015 IntroduccinalaWebFrameworkStrutsNetBeansIDETutorial

    https://netbeans.org/kb/docs/web/quickstartwebappsstruts.html 7/13

    CreacindeunActionFormFrijolUnStrutsActionFormfrijolseutilizaparamantenerlosdatosentrelaspeticiones.Porejemplo,siunusuarioenvaunformulario,losdatossealmacenantemporalmenteenformadegranoparaquecualquierasepuedevuelveamostrarenlapginadelformulario(silosdatosestnenunformatonovlidoosiiniciodesesinfalla)ovisualizaenunxitodeiniciodesesinpgina(silosdatossuperalavalidacin).

    1. HagaclicconelMyStrutsAppnododelproyectoyseleccioneNuevo>Otro.EnCategoraselegirStruts,acontinuacin,enTiposdearchivoeligenStrutsActionFormBean.HagaclicenSiguiente.

    2. EscribaLoginFormparaelnombredelaclase.Acontinuacin,seleccionecom.myapp.strutsenlalistadesplegabledelpaqueteyhagaclicenFinalizar.ElIDEcreaelLoginFormfrijolyloabreenelEditordecdigofuente.Pordefecto,elIDEproporcionaconunacadenallamadonombreyunintllamadonmero.Amboscampostienenmtodosdeaccesodefinidosparaellos.Adems,elIDEagregaunadeclaracindefrijolalastrutsconfig.xmlarchivo.Siabreelstrutsconfig.xmlarchivoenelEditordecdigofuente,sepuedeverlasiguientedeclaracin,quefueaadidoporelasistente:

    ElIDEproporcionaapoyoalanavegacinenelstrutsconfig.xmlarchivo.MantengapresionadalateclaCtrlycolocarelratnsobrelaLoginFormnombredeclasecompletodelfrijol.Elnombreseconvierteenunvnculo,loquelepermitenavegardirectamentealaclaseenelEditordecdigofuente:

    3. EnelLoginFormfrijolenelEditordecdigofuente,crearcamposymtodosdeaccesoqueseacompaanquecorrespondenalosnombresdeycorreoelectrnicocamposdeentradadetextoquecreenlogin.jsp.DebidoaqueelnombreyasehacreadoenelLoginFormesqueleto,slotienequeaplicardecorreoelectrnico.Agreguelasiguientedeclaracinbajonombre(cambiosennegrita):

    privateStringnombre

    emailprivateString

    Paracrearmtodosdeacceso,coloqueelcursorsobreelcorreoelectrnicoypulseAltInsert.

    SeleccioneGetterySetter,luegoeneldilogoqueaparece,seleccioneemail:StringyhagaclicenGenerar.Mtodosdeaccesosegeneranparaelcorreoelectrnicodecampo.

    Nota:Puedeeliminarlosmtodosdedeclaracinydedescriptordeaccesoparaelnmero,yaquenoseutilizaenestetutorial.

    CreacindeunaaccindeclaseLaAccinclasecontienelalgicadenegociodelaaplicacin.Cuandoserecibelosdatosdelformulario,eslaejecucindeunmtododeaccinobjetoqueprocesalosdatosydeterminaqueverparareenviarlosdatosprocesadosa.DebidoalaaccindeclaseesparteintegraldelmarcodetrabajoStruts,NetBeansIDEproporcionaunasistente.

    1. EnlaventanaProyectos,hagaclicenelMyStrutsAppnododelproyectoyseleccioneNuevo>Otro.ApartirdelacategoradeStrutselegirStrutsAccinyhagaclicenSiguiente.

    2. EnelpanelNombreyubicacin,cambieelnombreaLoginAction.

  • 14/4/2015 IntroduccinalaWebFrameworkStrutsNetBeansIDETutorial

    https://netbeans.org/kb/docs/web/quickstartwebappsstruts.html 8/13

    3. Seleccionecom.myapp.strutsenlalistadesplegablepaquete.

    4. Tipo/EntrarenCaminoAccin.Estevalordebecoincidirconelvalorestablecidoparalaaccinatributodelosetiquetasenlogin.jsp.Asegresedequelosajustesaparecencomoenlasiguienteimagen,hagaclicenSiguiente.

    5. Eneltercerpasodelasistente,seledalaoportunidaddeasociarlaaccindeclaseconunaformadegrano.ObservequeelLoginFormfrijolcreanteriormentesemuestracomounaopcinparabeanActionFormNombre.Realicelossiguientesajustesenelpanel:

    Eliminarlabarranormalparaelcampodeentradaderecursos

    EstablecerAlcancedeSolicitud(SesineselalcanceconfiguracinpredeterminadaenStruts.)

    DesactivelaopcinValidarbeanActionForm

    HagaclicenFinalizar.ElLoginActionsegeneralaclase,yelarchivoseabreenelEditordecdigofuente.Tambintengaencuentaquelasiguienteaccinseaadiralastrutsconfig.xmlarchivo:

    Losnombresyalcanceatributosseaplicanalaformadefrijolqueseasociaconlaaccin.Especficamente,cuandocoincideconunapeticindeentrada/login,elmarcodetrabajoStrutsinstanciaautomticamenteunLoginFormobjetoylollenaconlosdatosdelformulariosehaenviadoenlasolicitud.Elvalorpordefectodevalidateseestableceenverdadero.Estoledicealmarcoparallamaralvalidarelmtododelaformadegrano.Hadeseleccionadoestaopcinenelasistentesinembargodecdigoamano,yaqueselavalidacinsencillaenelsiguientepaso,quenorequierelavalidacindelmtodo.

    ValidacinImplementacinEnelEditordecdigofuente,navegaratravsdelaLoginActionclaseymiraralejecutarelmtodo:

    ActionForwardpblicoEjecutar(ActionMappingmapeo,formaActionForm,

    HttpServletRequestrequest,HttpServletResponserespuesta)

    throwsException{

    volvermapping.findForward(XITO)

    }

    NoteladefinicindeXITO,situadodebajodelaLoginActiondeclaracindelaclase:

    XITOprivadostaticfinalString="xito"

    Actualmente,lamapping.findForwardmtodoseestableceenformaincondicionalhaciaadelantecualquiersolicitudparaunavistadesalidallamadoxito.Estonoesrealmentedeseabledesearealizarprimerounaespeciedevalidacindelosdatosdeentradaparadeterminarsisedebeenviarelxitodevista,ocualquierpuntodevistadiferente.

    AccesoalahabadedatosypreparacindelaCondicinForwarding

    Configuracindeunmensajedeerror

    AccesoalahabadedatosypreparacindelaCondicinForwarding

    1. Escribaelsiguientecdigoenelcuerpodelaejecucindemtodo:

  • 14/4/2015 IntroduccinalaWebFrameworkStrutsNetBeansIDETutorial

    https://netbeans.org/kb/docs/web/quickstartwebappsstruts.html 9/13

    //Datosdeusuarioextracto

    LoginFormFormBean=forma(LoginForm)

    Stringname=formBean.getName()

    Cadenaemail=formBean.getEmail()

    Parapoderutilizarlosdatosdelformulariodeentrada,ustednecesitatomarejecutar'sActionFormargumentoyproyectarlocomoLoginForm,acontinuacin,aplicarlosmtodosgetterquecreanteriormente.

    2. Escribaelsiguienteclusulacondicionalpararealizarlavalidacindelosdatosdeentrada:

    //Realizarlavalidacin

    if((nombre==null)||//parmetrodenombrenoexiste

    email==null||//parmetrodecorreoelectrniconoexiste

    name.equals("")||//parmetronombreestvaco

    email.indexOf("@")==1){//correoelectrnicocarecede'@'

    volvermapping.findForward(FALLA)

    }

    Enestaetapa,laejecucindemtododebeversecomosigue:

    ActionForwardpblicoEjecutar(ActionMappingmapeo,formaActionForm,

    HttpServletRequestrequest,HttpServletResponserespuesta)

    throwsException{

    //Datosdeusuarioextracto

    LoginFormFormBean=forma(LoginForm)

    Stringname=formBean.getName()

    Cadenaemail=formBean.getEmail()

    //Realizarlavalidacin

    if((nombre==null)||//parmetrodenombrenoexiste

    email==null||//parmetrodecorreoelectrniconoexiste

    name.equals("")||//parmetronombreestvaco

    email.indexOf("@")==1){//correoelectrnicocarecede'@'

    volvermapping.findForward(FALLA)

    }

    volvermapping.findForward(XITO)

    }

    3. AadirunadeclaracinparaFALLAalLoginActionclase(cambiosennegrita):

    XITOprivadostaticfinalString="xito"

    ltimaFALLAstaticStringprivado="fracaso"

    Usandolalgicaanterior,laejecucinmtodoenvalasolicitudalxitovistasielusuarioproporcionaunaentradaparaambosnombreycorreoelectrnicocampos,yelcorreoelectrnicointroducidocontieneunsigno"@".Delocontrario,elfallodevistasereenva.ComosedemostrarmsadelanteenAdicinadelanteEntradasastrutsconfig.xml,sepuedeestablecerelfracasomirasasealardenuevoalapginadelformulario,porloqueelusuariotieneotraoportunidadparaintroducirdatosenelformatocorrecto.

    ConfiguracindeunmensajedeerrorSisedevuelveelformulariodeacceso,queserabuenoparainformaralusuariodequelavalidacinhafallado.Ustedpuedelograrestomediantelaadicindeunerrordecampoenformadegrano,yunaadecuadaetiquetaalaformaenlogin.jsp.Finalmente,enlaaccinobjeto,establecerelmensajedeerrorquesemostrarenelcasodequeelfalloseeligevista.

    1. AbrirLoginFormyagregarunerrordecampoalaclase:

    //Mensajedeerror

    errorprivateString

    2. Agregueunmtodogetyunmtodosetterdeerror,comosedemostranteriormente.

    3. Modificarelmtodosetterparaqueaparezcalasiguientemanera:

    pblicasetErrorvoid(){

    this.error=

    "Srvaseproporcionarentradasvlidaspara

    amboscampos"

    }

  • 14/4/2015 IntroduccinalaWebFrameworkStrutsNetBeansIDETutorial

    https://netbeans.org/kb/docs/web/quickstartwebappsstruts.html 10/13

    4. Abrirlogin.jspyhacerlossiguientescambios:

    &Nbsp

    Introduzcasunombre:

    5. EnLoginAction,enelcasodelaclusulacondicional,agregarunadeclaracinparaestablecerelmensajedeerrorantesdereenviarelfracasocondicin(cambiosennegrita):

    if((nombre==null)||//parmetrodenombrenoexiste

    email==null||//parmetrodecorreoelectrniconoexiste

    name.equals("")||//parmetronombreestvaco

    email.indexOf("@")==1){//correoelectrnicocarecede'@'

    formBean.setError()volvermapping.findForward(FALLA)

    }

    TucompletadoLoginActionclasedebeaparecerahoracomosigue:

    publicclassLoginActionextiendeorg.apache.struts.action.Action{

    XITOprivadostaticfinalString="xito"

    ltimaFALLAstaticStringprivado="fracaso"

    ActionForwardpblicoEjecutar(ActionMappingmapeo,formaActionForm,

    HttpServletRequestrequest,HttpServletResponserespuesta)

    throwsException{

    //Datosdeusuarioextracto

    LoginFormFormBean=forma(LoginForm)

    Stringname=formBean.getName()

    Cadenaemail=formBean.getEmail()

    //Realizarlavalidacin

    if((nombre==null)||//parmetrodenombrenoexiste

    email==null||//parmetrodecorreoelectrniconoexiste

    name.equals("")||//parmetronombreestvaco

    email.indexOf("@")==1){//correoelectrnicocarecede'@'

    formBean.setError()

    volvermapping.findForward(FALLA)

    }

    volvermapping.findForward(XITO)

    }

    }

    AdicinadelanteEntradasastrutsconfig.xmlParaquelaaplicacinparaquecoincidaconlaspginasJSPconlascondicionesdeldesvodevueltosporLoginAction'sejecutarmtodo,esnecesarioagregaradelanteentradasalstrutsconfig.xmlarchivo.

    1. Abrirstrutsconfig.xmlenelEditordeorigen,hagaclicderechoencualquierpartedelaaccindeentradaparaLoginForm,yelegirStruts>AadirForward.

  • 14/4/2015 IntroduccinalaWebFrameworkStrutsNetBeansIDETutorial

    https://netbeans.org/kb/docs/web/quickstartwebappsstruts.html 11/13

    2. EnelcuadrodedilogoAdelanteAgregar,escribaelxitoenForwardNombre.Introduzcalarutasuccess.jspenelcampoArchivoderecursos(esdecir,/WEBINF/success.jsp).Elcuadrodedilogodebeversedelasiguientemanera:HagaclicenAgregar.Tengaencuentaqueelsiguienteavanceentradaestaenstrutsconfig.xml(cambiosennegrita):

    3. Ejecutarlamismaaccinparaaadirunaentradahaciaadelanteparaelfracaso.Establezcalarutadearchivoderecursospara/login.jsp.Elsiguienteavanceentradaseagregaastrutsconfig.xml(cambiosennegrita):

    ConfiguracinyejecucindelaaplicacinElIDEutilizaunscriptdeconstruccinAntparageneraryejecutarlaaplicacinWeb.ElIDEgeneraelscriptdecreacinalcrearelproyecto,basndoloenlasopcionesquehaentradoenelasistenteNuevoproyecto.Antesdeconstruiryejecutarlaaplicacin,esnecesarioconfigurarelpuntodeentradapordefectodelaaplicacinparalogin.jsp.Opcionalmente,tambinpuedeagregarunasencillahojadeestiloparaelproyecto.

    Configuracindelapginadebienvenida

    Colocacindeunahojadeestilos

    Ejecutarlaaplicacin

    Configuracindelapginadebienvenida

    1. EnlaventanaProyectos,hagadobleclicenelarchivoweb.xmldescriptordedespliegue.LasfichasquefiguranenlapartesuperiordelEditordeorigenleproporcionanunainterfazparaelweb.xmlarchivo.HagaclicenlafichaPginas.EnelcampoArchivosdebienvenida,ingreselogin.jsp.AhorahagaclicenlafichaOrigenparaverelarchivo.Tengaencuentaquelogin.jspapareceahoraenelwelcomefileentrada:

  • 14/4/2015 IntroduccinalaWebFrameworkStrutsNetBeansIDETutorial

    https://netbeans.org/kb/docs/web/quickstartwebappsstruts.html 12/13

    login.jsp

    Colocacindeunahojadeestilos

    1. Aadirunasencillahojadeestiloparaelproyecto.Unaformafcildehacerloesmedianteelahorrodeestahojadeestilosdemuestraasuequipo.Copieelarchivo(CtrlC),acontinuacin,enelIDE,seleccioneelnodoPginasWebenlaventanadeProyectosypulseCtrlV).Elarchivoseaadeasuproyecto.

    2. VincularlahojadeestiloasuspginasJSPmediantelaadicindeunareferenciaentrelosetiquetas,tantodelogin.jspysuccess.jsp:

    Ejecutarlaaplicacin

    1. EnlaventanaProyectos,hagaclicenelnododelproyectoyseleccioneEjecutar.ElIDEsebasalaaplicacinwebyladespliega,usandoelservidorespecificadoalcrearelproyecto.Elnavegadorseabreymuestralalogin.jsppgina.Escribaalgunosdatosquedebefallarlavalidacin,esdecir,yaseasalirdecualquieradeloscamposenblanco,ointroducirunadireccindecorreoelectrnicoconunsmbolo"@"falta:AlhacerclicenIniciarsesin,vuelveaaparecerlapginaformulariodeacceso,quecontieneunmensajedeerror:Tratedeintroduccindedatosquedebenpasarlavalidacin.AlhacerclicenIniciarsesin,selepresentarlapginadexito:

  • 14/4/2015 IntroduccinalaWebFrameworkStrutsNetBeansIDETutorial

    https://netbeans.org/kb/docs/web/quickstartwebappsstruts.html 13/13

    Envenossuscomentarios

    MapadelSitio SobreNosotros Contacto Legalylicencias

    VerTambinConestoconcluyelaIntroduccinalMarcoStrutsenNetBeansIDE.EstedocumentodemuestracmoconstruirunaaplicacinMVCwebsencillaenNetBeansIDEutilizandoelMarcoStruts,ylointrodujoalainterfazdelIDEparadesarrollaraplicacionesweb.AustedlemostraroncmoutilizarlasetiquetasdeStrutsenpginasJSP,temporalmentealmacenardatosdeusuarioenunStrutsActionFormfrijol,yponerenprcticalalgicadereenvoutilizandounStrutsAccinobjeto.Adems,semuestracmoimplementarlavalidacinsimpleasuaplicacin,incluyendolacreacindemensajedeadvertenciaparaunintentodeiniciodesesinfallido.

    Paraverloscursosrelacionados,consultelossiguientesrecursos:

    AgregarcompatibilidadparaunMarcoWeb.UnaguageneralquedescribecmoagregarcompatibilidadframeworkwebparaNetBeansIDEutilizandoelAdministradordecomplementos.

    IntroduccinalaInfraestructuraWebprimavera.DescribelosaspectosbsicosdelusodeNetBeansIDEparadesarrollaraplicacioneswebusandoelframeworkSpring.

    IntroduccinaJavaServerFaces2.0.Undocumentoquedescribecmocablearunbeangestionadoapginasweb,ycmotomarventajadeFaceletsdeplantilla..

    Medianteelusodeestesitioweb,ustedaceptalosNetBeansPolticasyTrminosdeUso.2015,OracleCorporationy/osusfiliales.Patrocinadopor