Jump to content

Apache Struts

From Alfawiki
Apache Struts 2
Company typeOpen-source software framework
IndustrySoftware development, Web application framework
PredecessorWebWork, Apache Struts 1
Founded2006; 20 years ago (2006)
Headquarters
Cross-platform
ProductsJava EE web application framework
Websitestruts.apache.org

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

See also

External links