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
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="cancel" type="redirect-action">Welcome</result>
<result name="expired" type="chain">ChangePassword</result>
<action name="Logoff" class="mailreader2.Logoff">
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. For a full list of requirements, including dependencies used by
optional plugins, see Project
Be the first one to add a comment