Introducción a La Web Framework Struts - NetBeans IDE Tutorial
-
Upload
ben-avraham -
Category
Documents
-
view
41 -
download
4
description
Transcript of Introducción a La Web Framework Struts - NetBeans IDE Tutorial
-
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