Programming Tutorials

WebWork 2 is now Apache Struts 2

By: Rajan in Struts Tutorials on 2007-02-19  

Apache Struts 2 was originally knows as WebWork 2. WebWork was functioning independantly for many years until recently both Struts and Webwork communities joined hands to create Struts2.

To download the framework, visit Apache Struts Distributions

Apache Struts 2 Architecture:

1. The web browser requests a resource (/mypage.action, /reports/myreport.pdf, et cetera) 
2. The Filter Dispatcher looks at the request and determines the appropriate Action 
3. The Interceptors automatically apply common functionality to the request, like workflow, validation, and file upload handling 
4. The Action method executes, usually storing and/or retrieving information from a database 
5. The Result renders the output to the browser, be it HTML, images, PDF, or something else 

Struts 2 Configuration:

A web application uses a deployment descriptor to initialize resources like filters and listeners. The web deployment descriptor is formatted as a XML document and named web.xml. Struts can either initializes its resources by scanning your classes using Java packages declared in this web.xml file, or you can have full control over the configuration via a configuration file, named struts.xml. These resources include action mappings, to direct input to server-side Action classes, and result types, to select output pages. 

Here's a typical configuration (struts.xml) for a login workflow:

<package name="default" extends="struts-default">

<action name="Logon" class="mailreader2.Logon">
<result name="input">/pages/Logon.jsp</result>
<result name="cancel" type="redirect-action">Welcome</result>
<result type="redirect-action">MainMenu</result>
<result name="expired" type="chain">ChangePassword</result>

<action name="Logoff" class="mailreader2.Logoff">
<result type="redirect-action">Welcome</result>


The framework provides general-purpose defaults, so we can start using Struts right away, "out of the box". Any factory defaults can be overridden in an application's configuration, as needed.

Apache Struts 2 requires:

  • Servlet API 2.4
  • JSP API 2.0
  • Java 5

An alternate set of JARs for Java 4 are also available. See the "J4" distribution.

Add Comment

* Required information


No comments yet. Be the first!

Most Viewed Articles (in Struts )

Latest Articles (in Struts)