Red de conocimiento informático - Problemas con los teléfonos móviles - ¿Cuál es la diferencia entre la interfaz del Controlador en SpringMVC y la Acción en Struts2?

¿Cuál es la diferencia entre la interfaz del Controlador en SpringMVC y la Acción en Struts2?

El controlador de SpringMVC y la acción de Struts2 son capas de control que implementan el patrón MVC. La diferencia entre los dos es la siguiente:

SpringMVC puede controlar con precisión el método y el controlador se puede desarrollar como una sola instancia. La acción Struts2 se desarrolla con múltiples instancias de prototipos e intercepta solicitudes basadas en clases.

SpringMVC es generalmente más rápido que Struts2, principalmente debido a la etiqueta s. Por eso se recomienda utilizar expresiones jstl.

Struts2 alguna vez tuvo una vulnerabilidad importante, que era la vulnerabilidad de inyección de URL de expresión ognl. Actualmente, springmvc no ha encontrado ninguna vulnerabilidad.

El punto de entrada de SpringMVC es Servlet, mientras que Struts2 es Filter

SpringMVC es de un solo subproceso y el Controlador es el mismo que Servlet. Tiene solo una instancia y cada solicitud se ejecuta. el método correspondiente; Struts2 es multiproceso y cada solicitud Cada vez que se realiza una solicitud, se creará una instancia de una Acción y se inyectarán atributos en cada Acción.

Struts2 es una interceptación a nivel de clase, una clase corresponde a un contexto de solicitud; SpringMVC es una interceptación a nivel de método, un método corresponde a un contexto de solicitud y el método también corresponde a una URL, por lo que desde la arquitectura en sí SpringMVC facilita la implementación de una URL relajante, pero la arquitectura struts2 es más difícil de implementar porque un método de acción en Struts2 puede corresponder a una URL, pero sus atributos de clase son compartidos por todos los métodos. Esto también es imposible utilizar anotaciones u otros métodos para identificar el método al que pertenece.

Struts2 está más en línea con las ideas de programación orientada a objetos, mientras que SpringMVC es más cauteloso y expande Servlet.

Spring MVC y Spring están perfectamente acoplados. La gestión y la seguridad del proyecto también son superiores a las de Struts2

La eficiencia y el rendimiento del desarrollo de SpringMVC son superiores a los de Struts2.

Se puede considerar que SpringMVC tiene 100 configuraciones cero.