About Apache Struts
In the last 20 years on the market, the Apache Struts frameworks is still widely used by enterprises globally. Apache Struts is robust open-source framework for web applications. It follows the MVC (Model-View-Controller) model and extends the JSP API. Struts are easy to set up and provides much more flexibility and extensibility over the traditional MVC approach using servlets and JSP alone. It can be a good starting point for your career as a web developer.
What is Apache Struts 2?
Apache Struts 2, released in October 2006, is the second generation of the Apache Struts framework who is an elegant, extensible framework for creating enterprise-ready Java web applications. The framework has been designed to streamline the full development cycle, from building, to deploying, to maintaining applications over time.
Struts 2 development is still active and, as of writing this article, the newest version is Struts 2.5.26.
The Struts 2 provides supports to POJO based actions, Validation Support, AJAX Support, Integration support to various frameworks such as Hibernate, Spring, Tiles etc, support to various result types such as Freemarker, Velocity, JSP etc.
Note: The 2.5.x series of the Apache Struts framework has a minimum requirement of the following specification versions: Servlet API 2.4, JSP API 2.0, and Java 7.
The important features of struts 2 framework are as follows:
- Configurable MVC components
- POJO based actions
- AJAX support
- Integration support
- Various Result Types
- Various Tag support
- Theme and Template support
Apache Struts has now been around for over 20 years. In the beginning, it was something new that changed how to develop web applications by following the MVC architecture. Over the years, the framework has stayed relevant by delivering crucial features that users want.
It was not always easy for the framework. There have been more web frameworks released (e.g. Spring MVC) or vulnerabilities found in its code— but even in 2020, Apache Struts is still popular for enterprise web application development.