Demystifying Jakarta Struts

An Introductory Apache Struts Tutorial

Section 1: Understanding Struts Section 2: Installing and Configuring Struts
Section 3: Processing Requests with Action Objects Section 4: Handling Request Parameters with Form Beans
Section 5: Prepopulating and Redisplaying Input Forms Section 6: Validating User Input
Section 7: Composing Pages with Tiles Struts training course materials (in PDF)
More Information

Training: JSP, Servlets, Struts, JSF, & Java

Public course: Programming
with Servlet & JSP Technology??
Nov 30-Dec 3, Columbia MD

Public course: Advanced
Servlets, JSP, & Apache Struts??
Dec 7-10, Columbia MD

Onsite courses at
your location
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 exagerate 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 [email protected] to report errors or omissions.

Next section: Understanding Struts

More Information

Servlet, JSP, and Struts Short Courses
Personally developed and taught by the author of Core Servlets & JSP, More Servlets & JSP, and this Jakarta Struts tutorial.
  • Programming with Servlet & JSP Technology. Fast-paced, hands-on course for developers who know Java but have little or no experience with servlets and JSP. Offered Nov 30-Dec 3 in Columbia, MD.
  • Advanced Servlet, JSP, & Struts Programming. Advanced hands-on course for developers with significant previous experience with servlets and JSP. Offered Dec 7-10 in Columbia, MD.
  • Applying Apache Struts. Advanced Struts-only course for those with significant previous JSP and servlet experience.
  • On-site JSP, Servlet, Struts, & JSF Training Courses. Customizable courses taught by Marty at your organization. Choose any combination of topics from Marty's Java, JSP, servlet, Struts, and JSF courses.
Contact Marty
Send email to [email protected] to report errors and omissions in this writeup or inquire about JSP/servlet/Struts training courses.
  • Apache Struts home page.
  • Apache Struts documentation.
  • JSP and servlet programming resources.
  • Servlet 2.3 and JSP 1.2 API.
  • Servlet 2.4 API.
  • JSP 2.0 API.
  • JSP, servlet, and Struts training and consulting
Apache Struts Books
  • Struts in Action: Building Web Applications with the Leading Java Framework.
  • Programming Jakarta Struts.
  • Professional Jakarta Struts.
Servlet & JSP Books
  • Core Servlets and JavaServer Pages, Second Edition.
  • Free online version of the First Edition of Core Servlets and JavaServer Pages. In PDF.
  • More Servlets and JavaServer Pages.