Section 1: Understanding Jakarta Struts

Capabilities, Pros, and Cons of Apache Struts

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 Introduction to Jakarta Struts (in PDF).

1.1 What is Jakarta Struts?
1.2 Advantages of Jakarta Struts
1.3 Disdvantages of Jakarta Struts
Jakarta Struts Tutorial Table of Contents
More Info

This section gives a broad overview of what Struts is all about.

1.1 What is Apache Struts?

There are several different ways of looking at Struts. The three main ways are that Struts is:

But which is the proper way to view Struts? The answer depends on what you are going to use it for, but the MVC framework is the most common way of looking at Struts.

1.2 Advantages of Struts

You can easily implement the MVC approach by using RequestDispatcher.forward in your servlets and jsp:getProperty or the JSP 2.0 expression language in your JSP pages. However, Struts offers a number of significant advantages over these techniques alone. Here is a summary:

Now, if these advantages sound significant, they were meant to. But, before you rush out and convert all your existing projects to Struts, look at the disadvantages as well.

1.3 Disadvantages of Struts

Although Struts has a number of significant advantages over the standard servlet and JSP APIs alone, due to its complexity it has some serious drawbacks as well.

Now, if these disadvantages sound significant, they were meant to. Struts has some significant advantages, but the overhead and complexity of Struts can be a burden as well. Before you decide if Struts is right for your projects, you should try a simple Struts application to get a feel for it. Then, carefully weigh the advantages and disadvantages and decide if all of the Struts benefits outweigh the negatives. Sometimes they will; other times they won't.

Next section: Installing and Configuring 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