Sie sind auf Seite 1von 9

UNIVERSIDADCENTRALDELECUADOR

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

proporcionaotrostagsquefacilitan larealizacinde tareashabitualesen unapginaWeb,


comoelenlaceaotrosrecursosdelaaplicacinolavisualizacindemensajesdeerror.

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.

4. En muestro paquete controladores_action tenemos la configuracin de la clase


OperacionAction:
a. DondecreamoslaclasequeheredadelasuperclaseDispatchAction,medianteunobjeto
sumaqueencapsulaelmtodollamadonnmero
b. SeparametrizaelarchivoActionResourse.
5. En el archivo ApplicationResource.propertiesdeclaramos la cadena asociada al mensajede
error.
6. Enmuestropaqueteservlets_formtenemoslaconfiguracindelaclaseNumeros:
a. DeclaramoslosmtodosSETyGETparacadapropiedad.
7. EnelpaquetemodelotenemoslaconfiguracindeOperacionesBasicas2
a. Declaramoselmodelodenegocioendondeincluimoslasoperacionesbsicasdesuma,
resta,multiplicacinydivisin.
8. EnlacarpetaWebPagesdeclaramoselarchivojspllamadoBsica
a. Dondeincluimoslosmtodosparalainterfazgrficadelprograma.

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.

En nuestro paquete controladores_action tenemos la clase ValidacionAction la cual est


heredandodelaclaseAction
b.Enestaclasesereestructuraelmtodoexecute()conparmetroscomomapping,form,
request,responseylacualretornarunobjetodetipoActionMapping

En el paquete com.myapp.struts encontramos la clase ApplicationResource.properties que


contiene los mensajes de error de las propiedades que se encuentran declarado en
ValidacionForm.

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

Das könnte Ihnen auch gefallen