jueves, 19 de noviembre de 2009

Struts 1.x y Struts 2.x

los cambios que podemos encontrar entre estas dos
versiones son muy importantes, como primera impresion
puede decir que no es la misma. Las principales diferencias
son :


Dependencia del Servlet :

Las acciones en Struts1 tienen dependencias con el servlet
( HttpServletRequest y HttpServletResponse) estos objetos
se pasan al método de ejecución, en Struts 2, "Acciones no son
dependientes de contenedores porque están hechos POJOs simple.
En Struts 2, los contextos de servlets son representados como
mapas sencillos, tambien
las acciones se puede acceder a la
solicitud original
.

Acction class

Se soluciono el problema de las clases abstractas en Struts 2, en
Struts1 la clase de accion necesita ampliar el marco puesto que
depende de la clase base abstracta.
Pero en el caso de Struts 2,
la clase de acción puede implementar interfaces
En el caso de Struts 2, "Acciones no son dependientes de contenedores
porque están hechos POJOs simple.
Struts 2 proporciona una
clase ActionSupport base para implementar interfaces de uso común.
Si bien, la interfaz de acción no es necesario. Cualquier objeto POJO
con una ejecución de la firma puede ser utilizado como un
objeto de 2 Struts Acción.

Validación

En las dos versiones podemos hacer validaciones manuales, en
Struts1 se utiliza el método de la ActionForm, o valida a través
de una ampliación de la Validator Commons.
Sin embargo, Struts 2,
Se utuliza el marco de validación XWork.
El marco de validación Xwork
apoya el encadenamiento de validación.


Modelo de subprocesos

En Struts1, los recursos de acción deben ser flujos seguros o sincronizada.
Lo que las acciones son únicos y multi-hilo,
El patron de diseño Singleton se
impone,
en caso de Struts 2, los objetos se crean instancias de acción para
cada solicitud, así que no hay hilo( esto genera menos impacto)


Comprobabilidad

Prueba de aplicaciones Struts1 son un poco complejo, pero Struts 2
Las acciones pueden ser probados.

recolección de entrada

Struts1 utiliza un objeto ActionForm para captar de entrada.
Y todos ActionForms necesita extender un marco de base
dependientes de clase.
JavaBeans no puede ser utilizado como
ActionForms, por lo que los desarrolladores tienen que crear
clases redundantes para captar de entrada.
Sin embargo Struts 2 utiliza las propiedades de acción (como las
propiedades de entrada independiente de la estructura subyacente)
que elimina la necesidad de un objeto, por lo tanto reduce la
redundancia.

Además, en struts2, las propiedades de acción se puede acceder desde
la página web a través de la taglibs.
Struts 2 también soporta el patrón
ActionForm, así como objetos de formulario POJO y Acciones POJO.



bueno existen mas diferencias pero considero que estas son las mas
importantes , despues cuando me maneje mas y encuentre que falta otro
modificare estos puntos.

1 comentario:

antonio dijo...

Hola
tengo una consulta que tipos de patrones de diseño a parte del singleton o facade utiliza struts 2.x ?