Sie sind auf Seite 1von 3

15/4/2015

ComparandoStruts1y2

Inicio>Guas>Guademigracin>ComparacindeStruts1y2

BsquedaDeGoogle

ApacheStruts2Documentacin

ComparandoStruts1y2
Editarpgina

Caracterstica

Struts1

NavegarEspacial

Aadirpgina

AadirNoticias

Struts2

UnStruts2Accinpuedeimplementarunaaccin

ClasesAction

Struts1requiereclasesdeaccinpara
extenderunaclasebaseabstracta.Un
problemacomnenStruts1esla
programacindelasclasesabstractas
envezdeinterfaces.

interfaz,juntoconotrasinterfacesparaquelosservicios
opcionalesypersonalizados.Struts2proporcionauna
claseActionSupportdebaseparaimplementarinterfaces
deusocomn.Aunque,eslainterfazdeaccinno
requiere.CualquierobjetoPOJOconunejecutarlafirma
sepuedeutilizarcomounobjetoActionStruts2.

Enhebrado
Modelo

Servlet
Dependencia

Struts1accionessonnicosydebenser
flujossegurosyaquenoslohabruna
instanciadeunaclaseparamanejar
todaslaspeticionesdeesaaccin.La
estrategiasingletondeimponer
restriccionesaloquesepuedehacer
conStruts1Accionesyrequiereun
cuidadoespecialparadesarrollarse.
Recursosdeaccindebenserflujos
segurososincronizada.

Struts1accionestienendependencias
enlaAPIdeservletdesdeel
HttpServletRequesty
HttpServletResponsesepasaala
ejecucindemtodocuandoseinvoca
unaaccin.

Comprobabilidad

Unobstculoimportanteparalas
pruebasdeStruts1accionesesquela
ejecucindemtodoexponelaAPI
Servlet.Unaextensindeterceros,
StrutsTestCase,ofreceunconjuntode
objetossimulacrodeStruts1.

Struts1utilizaunobjetoActionForm
paracapturarlaentrada.Como
acciones,todasActionFormsdeben
extenderunaclasebase.Dadoque
otrosJavaBeansnosepuedenutilizar
comoActionForms,losdesarrolladoresa
Larecoleccin
https://struts.apache.org/docs/comparingstruts1and2.html

ObjetosStruts2deaccinsecreaninstanciasparacada
solicitud,porloquenohayproblemasdehilode
seguridad.(Enlaprctica,contenedoresdeservlets
generanmuchosobjetosdeusarytirarporsolicitud,y
unobjetomsnoimponeunapenalizacinde
rendimientoolarecoleccindebasuraimpacto.)

Struts2accionesnoestnacopladosauncontenedor.
Muyamenudoloscontextosservletserepresentan
comosimplesMaps,permitiendoaccionesaensayaren
formaaislada.Struts2accionesanpuedenaccederala
solicitudylarespuestaoriginal,siesnecesario.Sin
embargo,otroselementosarquitectnicosreduciro
eliminarlanecesidaddeaccederalaHttpServetRequest
oHttpServletResponsedirectamente.

Struts2accionespuedenserprobadosporcrear
instanciasdelaaccin,elestablecimientode
propiedadesymtodosdeinvocacin.Dependencia
apoyoinyeccintambinhacepruebasmssimple.

Struts2utilizalaspropiedadesdeaccincomo
propiedadesdeentrada,loqueeliminalanecesidadde
unsegundoobjetodeentrada.Propiedadesdeentrada
puedenserricostiposdeobjetosquepuedentenersus
propiaspropiedades.Laspropiedadesdeaccinse
puedeaccederdesdelapginawebatravsdelos
1/3

15/4/2015

ComparandoStruts1y2

deentrada

menudocreanclasesredundantespara
capturarlaentrada.DynaBeanspuede
utilizarcomoalternativaalacreacinde
clasesActionFormconvencionales,pero,
tambinenestecaso,los
desarrolladorespuedenRedescribiendo
JavaBeansexistentes.

taglibs.Struts2tambinescompatibleconelpatrnde
ActionForm,ascomoobjetosdeformularioPOJOyPOJO
acciones.Tiposdeobjetosricos,incluidoslosobjetosde
negocioodedominio,puedenserutilizadoscomo
objetosdeentrada/salida.LacaractersticaModelDriven
simplificareferenciastaglbaobjetosdeentradaPOJO.

Struts1integraconJSTL,porloque
utilizalaJSTLEL.ElPIEtienerecorrido
bsicogrficodeobjetos,perola
recopilacinrelativamentedbily
soportepropiedadindexada.

Struts2puedeutilizarJSTL,peroelmarcotambines
compatibleconunlenguajedeexpresinmspotentey
flexiblellamado"objetogrficodenotacindeidiomas"
(OGNL).

Encuadernacin
valoresen
puntosdevista

Struts1utilizaelmecanismoestndar
deJSPparavincularobjetosenel
contextodelapginadeacceso.

Struts2utilizaunatecnologa"ValueStack"paraquelos
taglibspuedenaccederavaloressinacoplamientode
visinparaeltipodeobjetoqueestprestando.La
estrategiaValueStackpermitelareutilizacindepuntos
devistaatravsdeunagamadetiposquepuedentener
elmismonombredelapropiedad,perodiferentestipos
depropiedad.

Tipode
conversin

Struts1propiedadesActionFormson
usualmentetodoslosStrings.Struts1
utilizaCommonsBeanUtilsparala
conversindetipos.Convertidoresson
porclase,ynoesconfigurablepor
instancia.

Struts2utilizaOGNLparalaconversindetipos.El
marcoincluyeconvertidoresparatiposdeobjetos
bsicosycomunesyprimitivas.

Expression
Language

Struts1soportalavalidacinmanuala
travsdeunavalidacinmtodoenel
Validacin

Controldela
ejecucinde
Accin

ActionForm,oatravsdeuna
ampliacindelaCommonsValidador.
Lasclasespuedentenerdiferentes
contextosdevalidacindelamisma
clase,peronopuedecadenade
validacionesensubobjetos.

Struts1soportaprocesadoresSolicitar
separados(ciclosdevida)paracada
mdulo,perotodaslasaccionesenel
mdulodebecompartirelmismociclo
devida.

Struts2soportalavalidacinmanualatravsdela
validacinmtodoyelmarcoXWorkvalidacin.La
validacinMarcoXWorkpermitiendoencadenar
validacinensubpropiedadesutilizandolasvalidaciones
definidasparaeltipodepropiedadesdeclaseyel
contextodevalidacin.

Struts2soportesquecreandiferentesciclosdevida
sobreunabaseporaccinatravsdelinterceptorde
Pilas.Pilaspersonalizadospuedensercreadosy
utilizadoscondiferentesacciones,segnseanecesario.

VerTambin
MattRaibleescribi(mediadosde2005)uninteresantedocumentotcnicodondecompardiversos
frameworksweb.PuedeverelPDFaqu:
https://equinox.dev.java.net/frameworkcomparison/WebFrameworks.pdf
http://www.virtuas.com/files/osljwf01.pdf
https://struts.apache.org/docs/comparingstruts1and2.html

2/3

15/4/2015

ComparandoStruts1y2

:Siguienteestrategiasdemigracin
GeneradoporCXFSiteExporter

https://struts.apache.org/docs/comparingstruts1and2.html

3/3

Das könnte Ihnen auch gefallen