Apache Struts 2 es un framework de código abierto para el desarrollo de aplicaciones web Java EE . Utiliza y extiende la API de Java Servlet para incentivar a los desarrolladores a adoptar una arquitectura modelo-vista-controlador (MVC). El framework WebWork surgió de Apache Struts 1 con el objetivo de ofrecer mejoras y refinamientos, manteniendo la misma arquitectura general del framework Struts original. En diciembre de 2005, se anunció que WebWork 2.2 se adoptó como Apache Struts 2, que alcanzó su primera versión completa en febrero de 2007. [ 2 ]
Struts 2 tiene un historial de fallos de seguridad críticos, [ 3 ] muchos vinculados a su uso de la tecnología OGNL ; [ 4 ] algunas vulnerabilidades pueden conducir a la ejecución de código arbitrario . En octubre de 2017, se informó que la omisión por parte de Equifax de abordar una vulnerabilidad de Struts 2 advertida en marzo de 2017 fue posteriormente explotada en la filtración de datos que Equifax reveló en septiembre de 2017. [ 5 ] [ 6 ]
Características
- Acciones simples basadas en POJO [ 7 ]
- Capacidad de prueba simplificada
- Hilos seguros
- Compatibilidad con AJAX
- Complemento jQuery
- Complemento Dojo Toolkit [ 8 ] (obsoleto)
- Validación del lado del cliente mediante Ajax
- Soporte de plantillas [ 9 ]
- Soporte para diferentes tipos de resultados [ 10 ]
- Fácil de ampliar con plugins.
- Complemento REST [ 11 ] (acciones basadas en REST, URL sin extensión)
- Complemento de convenciones (configuración de acciones mediante Convenciones y anotaciones)
- Complemento de Spring [ 12 ] ( inyección de dependencias )
- Plugin Hibernate
- Soporte en el diseño
- Complemento JFreechart (gráficos)
- Complemento de jQuery (compatibilidad con Ajax, widgets de interfaz de usuario, tabla dinámica, gráficos)
- Complemento de Roma
Véase también
Citas
- ↑ "Struts 7.0.3" . GitHub . Consultado el 16 de marzo de 2025 .
- ↑ Acerca de Apache Struts 2 Archivado el 14 de enero de 2014 en Wayback Machine
- ↑ "Apache Struts : Lista de vulnerabilidades de seguridad" . cvedetails.com . Consultado el 2 de octubre de 2017 .
- ↑ Muñoz, Álvaro (14 de enero de 2014). "Struts 2: Inyecciones de expresiones OGNL" . HPE.com . Archivado del original el 3 de octubre de 2017. Recuperado el 2 de octubre de 2017 .
- ↑ Chirgwin, Richard (2 de octubre de 2017). "Equifax no pudo encontrar ni parchear implementaciones vulnerables de Struts" . The Register . Consultado el 2 de octubre de 2017 .
- ↑ Goodin, Dan (2 de octubre de 2017). "Una serie de retrasos y errores graves provocaron una filtración masiva de datos en Equifax" . Ars Technica . Consultado el 2 de octubre de 2017 .
- ↑ Newton 2009 , pág. 9, §1 Struts y desarrollo ágil - Acciones.
- ↑ Newton 2009 , pág. 294, §12 Pruebas exhaustivas - Desvío: Amortiguadores y resortes en pocas palabras.
- ↑ Newton 2009 , págs. 249–255, §12 Temas y plantillas: el complemento REST.
- ↑ Newton 2009 , pág. 294, §13 Pruebas exhaustivas - Desvío: Amortiguadores y resortes en pocas palabras.
Referencias
- Newton, Dave (2009). Desarrollo de aplicaciones web con Apache Struts 2. Packt Publishing. ISBN 978-1-84719-339-1.
Enlaces externos
- Proyectos de la Apache Software Foundation
- Software libre multiplataforma
- Software libre programado en Java.
- Plataforma empresarial Java
- marcos de trabajo web
- Software que utiliza la licencia Apache.
- Software de 2006