Struts Tutorial «Prev  Next»


Apache Struts Releases 7 and 6.7.4

The Apache Struts web framework is a free open-source solution for creating Java web applications. Releases of the Apache Struts framework are made available to the general public at no charge, under the Apache License, in both binary and source distributions.

Differences between Jakara Struts Releases Struts 7 and Struts 6.7.4

"Jakarta Struts" (formerly known as Apache Struts) is a popular open-source framework for developing Java web applications. However, there is no such thing as Struts 7 or Struts 6.7.4 in the official release history of Apache Struts or Jakarta Struts.
Here is a brief overview of the actual release history of Apache Struts:
  1. Apache Struts 1.x: This was the original version of Struts, which became widely popular for building Java web applications. The last release in this series was Struts 1.3.10 in 2008.
  2. Apache Struts 2.x: This is a complete rewrite of Struts, combining ideas from Struts 1 and WebWork. It introduced many new features and improvements. The latest stable release as of October 2023 is Struts 2.5.33.
  3. Jakarta Struts: After the transition of Java EE to the Eclipse Foundation, the Struts project was moved to Jakarta EE, but it has not seen significant new releases under this umbrella.

Key Differences Between Struts 1 and Struts 2:
  • Architecture: Struts 1 uses a monolithic architecture, while Struts 2 is based on the WebWork framework and uses a more modular and flexible architecture.
  • Action Classes: In Struts 1, actions are required to extend `Action` classes, whereas in Struts 2, actions are simple POJOs (Plain Old Java Objects).
  • Interceptors: Struts 2 introduced the concept of interceptors, which allow for pre-processing and post-processing of requests.
  • Tag Libraries: Struts 2 has a more powerful and flexible tag library compared to Struts 1.
  • Configuration: Struts 2 uses a more modern and flexible configuration system, including support for annotations.

How the Apache WebWork Framework is used in Jakarta Struts 7


Clarify the relationship between WebWork and Struts, as well as the current state of the Struts framework as of March 10, 2025.
History of the Apache WebWork framework
The Apache WebWork framework is not "used" in Apache Struts 7 in the sense of being a distinct, integrated component. Instead, WebWork's history and codebase are foundational to what became Apache Struts 2 and its subsequent versions, including the modern Struts 7.x releases.
Here is how this works: WebWork was originally an independent open-source web application framework that spun off from Apache Struts 1. It aimed to enhance and refine the concepts of Struts 1 while maintaining a similar Model-View-Controller (MVC) architecture. By December 2005, the WebWork and Struts communities decided to merge their efforts. WebWork 2.2 was adopted as the basis for Apache Struts 2, which saw its first full release in February 2007. This merger meant that Struts 2 was essentially a rebranded and evolved version of WebWork 2, incorporating its design principles, such as a more flexible action-based approach, improved configuration, and features like AJAX support.
Fast forward to today: Apache Struts has continued to evolve beyond Struts 2. As of March 10, 2025, the latest release is Struts 7.0.3, which was made generally available on March 3, 2025. This version builds on the legacy of Struts 2 (and thus WebWork) but represents a modern iteration of the framework with updates to support current Java standards (e.g., Jakarta EE) and address contemporary development needs. The core architecture still rooted in MVC, retains influences from WebWork, such as the use of actions and interceptors, but Struts 7 includes significant enhancements like improved security, updated plugin support, and compatibility with newer Java versions. So, to summarize: Apache WebWork is not actively "used" as a separate entity in Struts 7. Rather, its DNA is embedded in the Struts framework's evolution. Struts 7 carries forward WebWork's original contributions, particularly its action-oriented design and extensibility, while layering on years of updates and refinements. If you are working with Struts 7, you are indirectly leveraging concepts that originated in WebWork, adapted and expanded over nearly two decades of development.

  • Historical Merger:
    • WebWork was an independent framework that aimed to improve upon Struts 1.
    • The merger in 2005, with WebWork 2.2 forming the basis of Struts 2, is a crucial point.
  • Evolution, Not Direct Usage:
    • Clarify that WebWork is not "used" as a separate component in Struts 7.
    • Instead, its principles and design are embedded within the Struts framework's DNA.
  • Struts 7 as a Modern Iteration:
    • Highlight that Struts 7 is a modern evolution, building on the Struts 2 (and thus WebWork) legacy.
    • Important updates, such as Jakarta EE support, improved security, and plugin enhancements.
  • Core Architectural Influence:
    • Emphasize that the core MVC architecture, including actions and interceptors, retains WebWork's influence.
  • Indirect Leverage:
    • Developers working with Struts 7 are indirectly leveraging WebWork's concepts.

The above explanation is informative and provides a clear understanding of the complex relationship between these frameworks.

SEMrush Software