If you browse to the home page of the Apache Struts project (http://struts.apache.org), you will discover in the first sentence or two what Struts is: Struts is an open source framework for building Java web applications. Each of the key words in this brief definition of Struts encapsulates a crucial dimension of its overall scope and requires some expansion.
Struts is open source. We wouldn’t normally belabor the open source nature of Struts, except that Struts was one of the first widely adopted open source Java projects. Unlike many of the other APIs presented in this book, Struts did not emerge from Sun Microsystems or from the Java Community Process, and there is no Java Specification Request for it. The original version came from the keyboard of a single individual, Craig McClanahan, who had contributed to Apache JServ and Tomcat and who is now the architect of the Sun Java Studio Creator. In part due to this single point of origin and the need to “scratch an itch” (the desire for a robust web application framework that could support internationalization), Struts has its idiosyncrasies and some irregular naming conventions. Indeed, JSF (Chapter 5) may be seen in some ways as a more refined response to Struts, and McClanahan was a cospecification lead for JSF.
As of January 2005, Struts was considered finished, and the Struts team now refers to it as Struts Classic. Their new offering will be Struts Shale, a JSF-based framework.
As an ...