Demystifying Jakarta Struts

An Introductory Jakarta Struts Tutorial

Alert: the HTML version of this tutorial is no longer being actively maintained, and still covers Struts 1.1. For additional topics, updates for Struts 1.2, and complete source code, please see the PDF version of the Jakarta Struts tutorial instead.

Training Courses: JSP, Servlets, Jakarta Struts, JSF, AJAX, & Java 5

Programming with
Servlets & JSP

Jakarta Struts &
Advanced JSP

JavaServer Faces (JSF)
& Apache MyFaces

Customized Onsite Training
Courses at Your Location

Dates Flexible. Any country


As an author, consultant, and instructor, I get a lot of questions about Apache Struts. As a developer of Java-based Web applications, I had a lot of questions of my own when I first got started.

These questions almost never involve advanced Struts capabilities. Instead, they are almost always variations of these basic questions:

This free tutorial is an attempt to answer these questions. It is not an exhaustive reference on Apache Struts. Far from it. Instead, it is intended as a Struts Quick Start Guide to get you going. Once you are rolling, you can get more details from the Jakarta Struts documentation or one of the various Struts books.

Also, this tutorial is not meant to be an evangelistic "Why everyone should use Struts and why MVC is impossible without it" manifesto. On the contrary, I don't think that all projects should use Struts, and it is quite easy to implement the MVC architecture using the standard RequestDispatcher. In fact, some Struts aficionados feel that I exaggerate the negatives of Struts in the next section. I like Struts, and think it should be used on many (but not all) projects. Still, it is better to start a project with a realistic feel for both the advantages and the disadvantages than to be disappointed when the reality does not live up to the expectations.

This is the first draft, version 2/13/2004. Contact to report errors or omissions.

Next section: Understanding Struts

More Information

J2EE Short Courses
Personally developed and taught by the author of Core Servlets & JSP, More Servlets & JSP, and this Jakarta Struts tutorial.
Contact Marty
Send email to to report errors and omissions in this writeup, or to inquire about training courses on Struts, JSP, servlets, JSF, AJAX, or Java 5 programming.
Jakarta Struts Books
Servlet & JSP Books