Apache Struts
| Company type | Open-source software framework |
|---|---|
| Industry | Software development, Web application framework |
| Predecessor | WebWork, Apache Struts 1 |
| Founded | 2006 |
| Headquarters | Cross-platform |
| Products | Java EE web application framework |
| Website | struts |
Apache Struts 2 represents an open-source web application framework designed for building Java EE web applications. It builds upon the Java Servlet API to facilitate a model–view–controller (MVC) design pattern. This framework evolved from the WebWork platform, an enhancement of Apache Struts 1. In December 2005, WebWork 2 was integrated into Apache Struts as version 2, with its initial official release occurring in February 2007.
Struts 2 has been subject to numerous critical security flaws, many associated with its implementation of OGNL technology; some vulnerabilities have enabled arbitrary code execution. A prominent incident involved Equifax, whose failure to address a recognized Struts 2 security issue led to a significant data breach revealed in September 2017.
Features
- Actions based on simple POJOs
- Enhanced ease of testing
- Designed to be thread safe
- Support for AJAX functionality
- Plugin for jQuery integration
- Deprecated plugin for Dojo Toolkit
- Client-side validation using Ajax
- Template integration
- Capability to handle various result formats
- Highly extensible through plugins
- REST plugin enabling RESTful actions and extension-free URLs
- Convention plugin allowing action setup via Conventions and Annotations
- Integration with Spring (dependency injection)
- Plugin support for Hibernate
- Design-time assistance
- JFreechart plugin for generating charts
- Additional jQuery plugin providing Ajax features, UI components, dynamic tables, and charting
- Rome plugin