-
Struts, como Tomcat, Turbine y muchos otros proyectos de Apache, es software de código abierto, lo cual es una de sus ventajas. Permitir a los desarrolladores tener una comprensión más profunda de su mecanismo de implementación interna. El marco de código abierto Struts se creó para facilitar a los desarrolladores la creación de aplicaciones web basadas en tecnologías Java Servlet y JavaServer Pages (JSP). El marco Struts proporciona a los desarrolladores un marco estándar unificado. Al utilizar Struts como base, los desarrolladores pueden centrarse más en la lógica empresarial de la aplicación. El marco de Struts en sí es una implementación de Modelo-Vista-Controlador (MVC) que utiliza la tecnología Java Servlet y JavaServer Pages.
En concreto, las ventajas de Struts son:
1. Implementar el modelo MVC con una estructura clara, permitiendo a los desarrolladores centrarse únicamente en la implementación de la lógica empresarial.
2. Hay una gran cantidad de etiquetas que se pueden usar. La biblioteca de etiquetas Struts (Taglib) puede mejorar enormemente la eficiencia del desarrollo si se puede usar de manera flexible. Además, en lo que respecta a los desarrolladores JSP nacionales, además de utilizar las etiquetas comunes que vienen con JSP, rara vez desarrollan sus propias etiquetas. Quizás Struts sea un buen punto de partida.
3. La navegación de páginas será una dirección de desarrollo en el futuro. De hecho, hacerlo hará que el contexto del sistema sea más claro. A través de un archivo de configuración, se puede captar la conexión entre varias partes de todo el sistema, lo que resulta de gran beneficio para el mantenimiento posterior. Esta ventaja se vuelve aún más evidente cuando otro grupo de desarrolladores se hace cargo del proyecto.
4. Proporcionar un mecanismo de manejo de excepciones.
5. Gestión del grupo de conexiones de bases de datos
6. Soporte I18N
defecto:
1. Cuando vaya a la capa de visualización, debe configurar hacia adelante. Cada vez que vaya a la capa de visualización, creo que la mayoría de ellos van directamente a jsp. Cuando se trata de redirección, debe configurar hacia adelante. jsps en la capa de visualización, debe configurar diez veces Struts, y esto a veces no incluye cambios de directorio y archivos, que requieren una nueva modificación. Tenga en cuenta que cada vez que se modifica la configuración, se requiere todo el proyecto. Se vuelve a implementar y se debe reiniciar un servidor como Tomcate. Si los cambios comerciales son complejos y frecuentes en el sistema, dicha operación es inimaginablemente simple. Esto es todo ahora. Docenas o cientos de personas están usando nuestro sistema en línea al mismo tiempo. Puedes imaginar lo preocupado que estoy.
2. La acción de Struts debe ser segura para subprocesos, lo que solo permite que una instancia maneje todas las solicitudes. Por lo tanto, todos los recursos utilizados por las acciones deben sincronizarse de manera uniforme, lo que provoca problemas de seguridad de los subprocesos.
3. Las pruebas son inconvenientes. Cada acción de Struts está acoplada con la capa web, por lo que sus pruebas dependen del contenedor web y las pruebas unitarias también son difíciles de implementar. Sin embargo, existe una herramienta de extensión Junit, Struts TestCase, que puede implementar sus pruebas unitarias.
4. Conversión de tipos. FormBean de Struts trata todos los datos como tipo String y puede utilizar la herramienta Commons-Beanutils para la conversión de tipos. Pero su conversión es toda a nivel de Clase y el tipo de conversión no es configurable. También es muy difícil devolver mensajes de error al usuario durante la conversión de tipos.
5. Demasiada dependencia de Servlet. Struts debe confiar en ServletRequest y ServletResponse al procesar Action, por lo que no puede deshacerse del contenedor de Servlet.
6. En términos de lenguaje de expresión front-end, Struts integra JSTL, por lo que utiliza principalmente el lenguaje de expresión JSTL para obtener datos. Sin embargo, el lenguaje de expresión de JSTL es muy débil en el manejo de propiedades de índice y colección.
7. Es difícil controlar la ejecución de la Acción. Cuando Struts crea una Acción, será muy difícil controlar su orden de ejecución. Es posible que incluso tenga que reescribir el Servlet para cumplir con sus requisitos funcionales.
8. Procesamiento antes y después de la ejecución de la Acción. Cuando Struts procesa la Acción, es difícil realizar operaciones antes y después del procesamiento de la acción en función de jerarquías de clases.
9. Soporte insuficiente para eventos en Struts, un formulario en realidad corresponde a una clase de Acción (o DispatchAction). En otras palabras: en Struts, un formulario en realidad corresponde a un solo evento. Este método de evento en Struts se llama evento de aplicación. El evento es un evento de grano grueso en comparación con el evento de componente.
El objeto de formulario importante de Struts, ActionForm, es un objeto que representa una aplicación. Este objeto contiene al menos varios campos. Estos campos son campos de entrada en el formulario de la página Jsp. Debido a que un formulario corresponde a un evento, cuando necesitamos el evento. La granularidad se refina en estos campos en el formulario, es decir, cuando un campo corresponde a un evento, es imposible usar Struts simplemente. Por supuesto, también se puede lograr combinando JavaScript.
Este artículo proviene del blog de CSDN. Indique la fuente al reimprimir: http://blog.csdn.net/zhrl0000/archive/2009/12/17/5027947.aspx.
-