Beruflich Dokumente
Kultur Dokumente
FACULTADDECIENCIASFSICASYMATEMTICA
INGENIERAINFORMTICA
Carrera:
Materia:
Integrantes:
ProgramacinWeb
IngenieraInformtica
FreddyGuzmnAlarcn
InformeN:3
Practicas:
Tema:ClasesDispatchAction,ActionErrorsyActionMessage
8,9,10,11
Fecha:31deJuliodel2015
1.Introduccin
AnlisisdelAPIdeStruts
HastaaquhemosvistoenaccinalosdiferentescomponentesdeStruts,elpresenteinformemuestra
el anlisis en detalle los componentes a fin de poder explotar a fondo todas sus posibilidades. Se
pretendeprofundizarelestudiodelAPIdeStruts,tantoenloqueserefierealoscomponentesdel
ControladorcomoalosJavaBeansdetipoActionForm.
ActionServletyRequestProcessorsonlasclasesencargadasdelprocesamientodeunapeticin.
UnActionServletrepresentaelpuntodeentradaalaaplicacinStruts,detalmaneraquetodaslas
peticionesHTTPquellegandesdelacapaclientealaaplicacinsondirigidasaesteservlet.Unavez
recibida la peticin, ActionServlet delega el anlisis y procesamiento de la misma en un objeto
RequestProcessor.
Esteobjetoeselencargadoderealizartodaslaoperacionesrelativasaltratamientodelapeticin,
comosonelanlisisdelaURLdelapeticin,instanciacinyrellenadodelActionForm,determinacin
delobjetoActionaejecutareinvocacinasumtodoexecute(),anlisisdelobjetoActionForward
retornadoytransferenciadelapeticinalavistacorrespondiente.
ClasesdeAccin
Paragestionarlosdistintostiposdepeticionesquellegandesdeelclientealaaplicacinvamosacrear
subclasesdeAction.Vamosaanalizarlasclasesmsinteresantesqueformanestepaquete.Conunos
ejemplossencillosveremoselusoeimplementacindeestassubclases.Enprimerlugar,sepresenta
algunasdefiniciones,propiedadesymtodosqueseusanenlaprctica.
Luegoseindicaeldesarrollodelaprctica,comolaestructuraydistribucindeobjetosenlasdiferentes
capasdelMVC,lacompilacinyeldesplieguedecadaunadelasprcticas.AdjuntoseentregaunDVD
conelcontenidodelcdigodecadaunadelasprcticas.
2.Objetivos
2.1.ObjetivoGeneral:
AnalizarelAPIdeStrutsadetalleparaconocerloscomponentesysusfuncionalidades
posibles.
2.2.ObjetivosEspecficos:
UNIVERSIDADCENTRALDELECUADOR
FACULTADDECIENCIASFSICASYMATEMTICA
INGENIERAINFORMTICA
Crearunaaplicacinwebquepermitaautenticaryregistrarusuariossobreunabasede
datosgestionadaporMySQL,basadaenlaarquitecturaMVC.
Crearunaaplicacinwebquepermitalistarproductosfiltradosporcategorasquese
encuentranalmacenadosenunabasededatosgestionadaporMySQL,basadaenla
arquitecturaMVC.
Conocercmofuncionaelmodelovistacontroladorconelframeworkstruts,saberquenospermite
hacerlaclaseDispatchAction.
Conocercmoserealizaelprocesamientodeunavalidacintantoenelclientecomoenelservidor.
Entendercadadefinicindelosdiferentescomponentesqueseutilizan.
3.MarcoTerico
JEE(JavaEnterpriseEdition)
Es una coleccin de especificaciones que definen una infraestructura para desarrollar
aplicacionesdistribuidasmulticapa(3tier,ntier)
Glassfish
EsunservidordeaplicacionesqueimplementalastecnologasdefinidasenlaplataformaJEE
ypermiteejecutaraplicacionesquesiguenestaespecificacin.
JSP(JavaServerPages)
Esunatecnologaqueayudaalosdesarrolladoresdesoftwareacrearpginaswebdinmicas
basadasenHTML,XML,entreotrostiposdedocumentos.JSPusaellenguajedeprogramacin
Java.
STRUTS
Esunframework,queproporcionaunconjuntodeutilidadescuyoobjetivoesfacilitaryoptimizarlos
desarrollosdeaplicacionesWebcontecnologaJEE,siguiendoelpatrnMVC.Sedirigebsicamentea
laconstruccindelControladorylaVistadeunaaplicacin
ComponentesdeStruts
1.Archivosdeconfiguracin.
web.xml:DescriptordedesplieguedefinidoporlaespecificacinJEE.
strutsconfig.xml:Eselmsimportante,enlseregistranyconfiguranlosdistintosobjetos
strutsquevanaserutilizadosporlaaplicacin.
validatorrules.xml: Contiene las reglas de los validadores utilizados para la validacin
automticadelosdatosdeusuario.
validation.xml:utilizadoparalaasignacindevalidadoresaloscamposdelosformularios.
2.ElAPIdeStruts.
Loformanelconjuntodeclasesdeapoyoqueelframeworkproporcionaparaestructurarlas
aplicacionesysimplificarsudesarrollo.EstasclasesseutilizanenlacreacindelControladory
deJavaBeansparaeltratamientodedatos,siendolospaquetesmsimportantesdetodos
org.apache.struts.actionyorg.apache.struts.actions.
UNIVERSIDADCENTRALDELECUADOR
FACULTADDECIENCIASFSICASYMATEMTICA
INGENIERAINFORMTICA
CaractersticasdelassubclasesAction:
LosobjetosActionsonlosresponsablesdeprocesarlosdistintostiposdepeticionesquellegan
alaaplicacin.Elprincipalmtodoconquecuentaestaclaseesexecute(),mtodoqueser
invocadoporActionServletaltransferirlapeticinalobjeto.
ClaseDispatchAction
SubclasedeActionquepermitedefinirenlamismaclasediferentesmtodosparatratarun
grupodepeticionessimilares,evitandotenerquecrearunaclasedistintaparalagestinde
cadaaccin.
LaclaseActionFormfacilitalacreacindeJavaBeansparalagestindelosdatosdeusuario
procedentesdeunformularioXHTML.BastaconcrearunasubclasedeActionFormenlaque
se incluyan los miembros y mtodos set/get y asociar la misma con el objeto Action
correspondiente, para que las clases ActionServlet y RequestProcessor se encarguen
automticamentedetodoelprocesodeinstanciacin,recuperacinyrellenadodelobjeto.
ActionErrorsyActionMessage
La clase ActionErrors encapsula los mensajes de error generadosen el interior del mtodo
validate() de un ActionForm. Cada error est descrito a su vez mediante un objeto
ActionMessage,elcualencapsulalaclavedelmensajedeerrorasociado.Losmensajesdeerror
consusclavescorrespondientesseregistranenelarchivoApplicationResource.properties.
Para aadir un error a la coleccin ActionErrors se utilizar el mtodo add() de esta clase,
pasandocomoargumentoenlallamadaunnombredepropiedadasociadaalerroryelobjeto
ActionMessagequelodescribe:
publicvoidadd(Stringproperty,ActionMessagemensaje)
El nombre de la propiedad puede ser utilizado como valor del atributo property del tag
<html:errors/> en caso de que se quiera mostrar nicamente el mensaje asociado a esa
propiedad.
3.LibrerasdeaccionesJSP.
Elamplioconjuntodeaccionesexistentespermiterealizarlagranmayoradelastareaspropias
de una pgina JSP sin necesidad de incluir en la misma ni una sola lnea de cdigo Java,
facilitandoaslacomprensinyposteriormantenimientodelasvistas.
HTML.IncluyeaccionesparalaconstruccindeformulariosHTML,incorporandopartedela
funcionalidad encargada de la creacin de beans de tipo ActionForm y el rellenado de los
mismos con los valores de los controles. Adems de este tipo de acciones, la librera html
UNIVERSIDADCENTRALDELECUADOR
FACULTADDECIENCIASFSICASYMATEMTICA
INGENIERAINFORMTICA
Bean.Estalibreraincluyeaccionesparaelaccesoapropiedadesdeunbeanyparmetrosde
lapeticindesdeunapginaJSP.Tambinincluyeaccionesparaladefinicindenuevosbeans
ysualmacenamientoenelcontextodelaaplicacin.
4.Procedimiento
4.1HardwareySoftwarerequerido:
HW:ProcesadorIntelC2D@2Ghz,2GbRAM,320GbHDD
SW:NetbeansJEE,MySQL,Servidordeaplicaciones:GlassFish,Struts1.3.10
4.2DesarrollodePrcticas:
Prctica8:LaclaseDispatchAction
1. Seconfiguralosarchivosdeconfiguracinstrutsconfig.xmlyweb.xml.
2. Enstrutsconfig.xml:
a. Enlaetiqueta<formbean>seregistrantodoslosJavaBeansqueseencargandecapturar
losdatos.
b. Enlaetiqueta<globalforwards>sedefineycolocaunaliasatodoslosarchivosdevista
(jsp)dondesecolocalarespuesta.
c. En la etiqueta <actionmappings> se captura los datos de las acciones /seleccionar y
enviandolarespuestadeacuerdoalapeticinrealizada.
4
UNIVERSIDADCENTRALDELECUADOR
FACULTADDECIENCIASFSICASYMATEMTICA
INGENIERAINFORMTICA
3. Enelarchivoweb.xml
a. Enlaetiqueta<wellcomefilelist>secolocaelnombredelapginadeinicio.
Prctica9:LaclaseActionErrors
UNIVERSIDADCENTRALDELECUADOR
FACULTADDECIENCIASFSICASYMATEMTICA
INGENIERAINFORMTICA
Ennuestropaqueteservlets_formtenemosmuestraclaseValidacionFormlacualheredadeunasper
claseValidatorForm
1.
2.
3.
4.
5.
6.
7.
a. Tenemos las propiedades usuario y password de tipo String delas cuales se realiza los
mtodosgetysetrespectivamente.
Tmenoslapginaautenticacion.jspquecontienelavistadelaaplicacinquesepresentaraal
usuariolacualtieneunformularioconlosatributosdeusuarioypasswordconloscampos
respectivosparaelingresodedatosytambinbotndevalidarylimpiar.
Tenemoslosarchivosdeconfiguracinqueutilizaraelcontrolador
Enstrutsconfig.xml:
d. Enlaetiqueta<formbean>seregistrantodoslosJavaBeansqueseencargandecapturar
losdatos.
e. En la etiqueta <actionmappings> se captura lo datos de la accion /validar en
ValidacionActionenviandolarespuestaanuestrapginaautenticacin.jsp
Enelarchivoweb.xml
b. Enlaetiqueta<wellcomefilelist>secolocaelnombredelapginadeinicio.
Tenemos el archivo validation.xml que realizara la validacin sobre los campos del objeto
ValidacionForm,ennuestroarchivotenemosqueaadirunelementoformasociadoalmismo
dondeseencuentranlaspropiedadesusuarioypasswordparavalidar
Prctica10:LaclaseActionErrorsyActionMessage
1.
2.
3.
4.
5.
6.
7.
UNIVERSIDADCENTRALDELECUADOR
FACULTADDECIENCIASFSICASYMATEMTICA
INGENIERAINFORMTICA
Seconfiguralosarchivosdeconfiguracinstrutsconfig.xmlyweb.xml.
Enstrutsconfig.xml:
a. Enlaetiqueta<formbean>seregistrantodoslosJavaBeansqueseencargandecapturar
losdatos.
b. Enlaetiqueta<globalforwards>sedefineycolocaunaliasatodoslosarchivosdevista
(jsp)dondesecolocalarespuesta.
c. Enlaetiqueta<actionmappings>secapturalosdatosdelasacciones/registraryenviando
larespuestadeacuerdoalapeticinrealizada.
Enelarchivoweb.xml
a. Enlaetiqueta<wellcomefilelist>secolocaelnombredelapginadeinicio.
En el archivo ApplicationResource.propertiesdeclaramos la cadena asociada al mensajede
error.
En muestro paquete controladores_action tenemos la configuracin de la clase
RegistroAction:
a. Enestadeclaramoslallamadaalosmtodosdelmodeloquepermitenelregistrodelos
datosmedianterequest.setAttribute.
b. Luegodeclaramoselmapping.findFowardquenoregresaalaclasejspRegistro.
Enmuestropaqueteservlets_formtenemoslaconfiguracindelaclaseRegistroForm:
a. DefinimoslaclaseActionErrorqueencapsulalosmensajesdeerrorgeneradosenelinterior
delmtodovalidate().
EnlacarpetaWebPagesdeclaramoselarchivojspllamadoRegistro
a. Dondeincluimoslosmtodosparalainterfazgrficadelprograma.
Practica11:ControldeDatosdeUsuario
1. Seconfiguralosarchivosdeconfiguracinstrutsconfig.xmlyweb.xml.
2. Enstrutsconfig.xml:
a. Enlaetiqueta<formbean>seregistrantodoslosJavaBeansqueseencargandecapturar
losdatos.
3.
4.
5.
6.
7.
8.
UNIVERSIDADCENTRALDELECUADOR
FACULTADDECIENCIASFSICASYMATEMTICA
INGENIERAINFORMTICA
b. Enlaetiqueta<globalforwards>sedefineycolocaunaliasatodoslosarchivosdevista
(jsp)dondesecolocalarespuesta.
c. Enlaetiqueta<actionmappings>secapturalosdatosdelasacciones/registraryenviando
larespuestadeacuerdoalapeticinrealizada.
Enelarchivoweb.xml
a. Enlaetiqueta<welcomefilelist>secolocaelnombredelapginadeinicio.
En el archivo ApplicationResource.propertiesdeclaramos la cadena asociada al mensajede
error.
Enelarchivovalidation.xml
a. DeclaramoslapropiedadNombre,apellido,usuario,passwordeemailqueserequiere
antesdepasaraRegistroForm2.*
En muestro paquete controladores_action tenemos la configuracin de la clase
RegistroAction2:
a. Enestadeclaramoslallamadaalosmtodosdelmodeloquepermitenelregistrodelos
datosmedianterequest.setAttribute.
b. Luegodeclaramoselmapping.findFowardquenoregresaalaclasejspRegistro.
Enmuestropaqueteservlets_formtenemoslaconfiguracindelaclaseRegistroForm2:
a. DefinimoslaclaseActionErrorqueencapsulalosmensajesdeerrorgeneradosenelinterior
delmtodovalidate().
EnlacarpetaWebPagesdeclaramoselarchivojspllamadoRegistro
a. Dondeincluimoslosmtodosparalainterfazgrficadelprograma.
UNIVERSIDADCENTRALDELECUADOR
FACULTADDECIENCIASFSICASYMATEMTICA
INGENIERAINFORMTICA
5.ConclusionesyRecomendaciones
5.1.Conclusiones
La arquitectura modelo vista controlador facilita la reutilizacin de cdigo y la separacin de
conceptos para aplicaciones web. Evidentemente, como todo framework intenta simplificar la
implementacin de una arquitectura segn el patrn MVC. El mismo separa muy bien lo que es la
gestindelworkflowdelaaplicacin,delmodelodeobjetosdenegocioydelageneracindeinterfaz.
La utilizacin de validadores en una pgina jsp se apoya en una serie de componentes que
proporcionantodafuncionalidadnecesariaparallevaracabolavalidacinautomticayquehabrque
configuraradecuadamenteencadaaplicacin.
5.2.Recomendaciones
SerecomiendautilizarlaarquitecturamodelovistacontroladorutilizandoelFrameworkSTRUTS
yaquefacilitalareutilizacindecdigoylaseparacindeconceptosparaaplicacioneswebgrandes
ycomplejas.
Hayquetomarencuentaqueenlaconfiguracindelasvalidacionesserealizaralasvalidacionesdelas
propiedadesqueestndefinidasenobjetoActionForm.
6.Anexos
Se adjunta un DvD con los archivos correspondientes a los programas que contienen la
codificacin.
7.ReferenciasBibliogrficas
http://www.adictosaltrabajo.com/tutoriales/strutsb/
http://programacion.net/articulo/manual_basico_de_struts_156
http://es.scribd.com/doc/97147/introduccionalframeworkstruts