In 2010, I began creating example applications and tutorials for the Apache Struts 2 project. My goal is to provide a series of tutorials and examples that a Java developer new to Struts 2 may use to learn about the Struts 2 framework.
Struts 2 Tutorials
The Struts 2 tutorials are available at the Apache Struts 2 website (http://struts.apache.org). Just click on the GA release under the Documentation heading in the left-hand menu. Then click on the Getting Started button, then the Tutorials link, then finally the Getting Started link.
For general availability release 2.2.1 (the current release as of August 2010), the direct link to the beginner tutorials is http://struts.apache.org/2.2.1/docs/getting-started.html.
Struts 2 Example Applications
For each tutorial there are two example applications you can download from Google Code at http://code.google.com/p/struts2-examples/downloads/list. One example application uses Maven to manage the artifact dependencies and to build the project and the other example uses Ant.
Having both a Maven-based and an Ant-based example applications enables Java developers who are only familiar with one of the two major build systems the ability to download an example application they can immediately build without having to learn a new build system.
All example applications were created using Eclipse 3.5, so if your Java IDE is Eclipse you can download and import the archive. Many other Java IDEs (NetBeans, IntelliJ) import a Maven project, so you can download the Maven example, unzip it, and import it directly into those IDEs.
My goal with these tutorials and example applications is to make it easier for new Struts 2 users to learn how to use the framework's major features. The easier it is to learn a framework, the more likely people will try using it. The more people who use a framework, the higher probability that framework will continue to be improved.
The Struts 2 framework for Java web applications provides significant advantages to users. I hope these tutorials and example applications help other Java developers see those advantages in their own projects.