Section 1: Understanding Struts

Capabilities, Pros, and Cons of Apache Struts

1.1 What is Struts?
1.2 Advantages of Struts
1.3 Disdvantages of Struts
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

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.