Welcome to Apache Struts!

The goal of the Apache Struts project is to encourage application architectures based on the "Model 2" approach, a variation of the classic Model-View-Controller (MVC) design paradigm. Under Model 2, a servlet (or equivalent) manages business logic execution, and presentation logic resides mainly in server pages.

The Apache Struts project encourages Model 2 designs in two ways. First, by providing open source frameworks and toolkits that help developers build applications for the web. Second, by providing friendly and honest mailing lists where both newcomers and veterans discuss how to use Apache Struts software in their own Model 2 applications.

Best Available Version

The best available version is Struts 1.2.9, which was classified "General Availability" (or "Ready for Primetime") on 22 March 2006. The 1.2.9 release resolves three security issues, and supercedes the Struts 1.2.8 release.

What's Cooking?

The Apache Struts project is now comprised of two distinct frameworks. The two frameworks are the Struts Action Framework and the Struts Shale Framework. Struts Action is the original request-based framework. Struts Shale is a component-based framework for JavaServer Faces. Both frameworks are first-class citizens of the Apache Struts project.

Why two frameworks? When JavaServer Faces arrived, our development community chose to "make new friends but keep the old". Some of us want to stick with a request-based framework. Others are ready to switch to a component-based framework that builds on JavaServer Faces. We offer both frameworks because we have volunteers to create and maintain both frameworks.

If you have mature Action Framework applications in production, don't worry, we are still here, same as ever. After all, we have our share of mature application in production too.

If you are starting a new project and want to use the latest technology, don't worry, we are still blazing trails, same as ever. For projects using JavaServer Faces, we offer the Shale Framework. For projects using JSP and templating technologies, we offer the original Action framework.

Is that all there is? Not by a long shot! Soon, we will also offer a new Action 2 framework, based on WebWork technology. Essentially, Struts Action 2.0 will be WebWork 2.3.

Whether you are staying the course, or ready to leap forward, the Apache Struts project is here to help you do what you want to do.

For more, see our Roadmap FAQ, especially What should I use for my next project?.

About Apache Struts

Apache Struts is a volunteer project and all support for the framework is provided by unpaid volunteers. This documentation bundle and the mailing lists are the primary ways to learn how to use Struts. The next few pages are devoted to helping you understand what resources are available to you. Since Apache Struts is a volunteer project, and our resources are limited, it is important that we first help you help yourself.