<?xml version="1.0"?>
<document url="./index.xml">

  <properties>
    <author>Craig R. McClanahan</author>
    <author>Ted Husted</author>
    <author>Martin Cooper</author>
    <title>The Struts Framework Project</title>
  </properties>

  <body>

  <section name="Welcome to Struts 1.0.2" href="Welcome">

  <p>Welcome to the Struts Framework!  The goal of this project
  is to provide an open source framework useful in building web applications
  with Java <a href="http://java.sun.com/products/servlet">Servlet</a> and
  <a href="http://java.sun.com/products/jsp">JavaServer Pages</a> (JSP)
  technology.  Struts encourages application architectures based on the
  Model-View-Controller (MVC) design paradigm, colloquially known as
  <i>Model 2</i> in discussions on various servlet and JSP related
  mailing lists.</p>

  <p>Struts includes the following primary areas of functionality:</p>
  <ul>
  <li>A controller servlet that dispatches requests to appropriate
      <strong>Action</strong> classes provided by the application
      developer.</li>
  <li>JSP custom tag libraries, and associated support in the controller
      servlet, that assists developers in creating interactive form-based
      applications.</li>
  <li>Utility classes to support XML parsing, automatic population of
      JavaBeans properties based on the Java reflection APIs, and
      internationalization of prompts and messages.</li>
  </ul>

  <p>Struts is part of the <a href="http://jakarta.apache.org">Jakarta
  Project</a>, sponsored by the
  <a href="http://www.apache.org">Apache Software Foundation</a>.  The
  official Struts home page is at
  <a href="http://jakarta.apache.org/struts">http://jakarta.apache.org/struts</a>.
  </p>

  </section>

  <section name="Learning About Struts" href="Docs">

  <p>The <a href="userGuide/kickstart.html"><b>Kickstart FAQ</b></a> quickly answers 
  the most common questions about Struts.</p>

  <p>A concise <a href="userGuide/index.html"><b>Users Guide</b></a> is also provided 
  with the distribution. The User Guide introduces the Model View Controller 
  architecture, and how it relates to the major components of Struts. Several Developer 
  Guides are also provided, to help you get started with the Struts tag extensions and 
  utility packages.</p>

  <p>For more detail about a specific class or package, the Struts 
  <a href="api/index.html"><b>Javadocs</b></a>
  are comprehensive and carefully maintained. It is strongly recommended that 
  you refer to the <a href="api/index.html">Javadoc</a> 
  for each class as you begin to use it, to be sure important features and options 
  are not overlooked. What you don't know, can't help you.</p>

  <p>Of course, the only true documentation is the code itself. If you have any questions 
  about how Struts actually works, do not hestate to <i>use the source</i>. For the 
  complete, buildable source code to the entire Struts framework, see the "src" folder in 
  the <a href="http://jakarta.apache.org/builds/jakarta-struts/release/v1.0.2/src/"><b>Struts 1.0.2 source distribution</b></a>.</p>

  <p>The Struts <a href="userGuide/resources.html"><b>Resources</b></a> page provides links to 
  everything else written about  Struts, including books, articles, tutorials, and sample 
  applications. There are also links to public sites "Powered by Struts". </p>

  </section>

  <section name="Acquiring Struts" href="Acquiring">

  <p>The <i>production release</i> of <strong>Struts 1.0.2</strong> is available in
  a convenient binary distribution and also with complete source code. In
  addition, a library distribution is available, which contains the latest
  Struts binaries without the sample applications, providing a smaller,
  faster download.</p>

  <ul>
  <li><a href="http://jakarta.apache.org/builds/jakarta-struts/release/v1.0.2">
  <b>Struts 1.0.2 Binary Distribution</b></a></li>
  <li><a href="http://jakarta.apache.org/builds/jakarta-struts/release/v1.0.2/lib">
  <b>Struts 1.0.2 Library Distribution</b></a></li>
  <li><a href="http://jakarta.apache.org/builds/jakarta-struts/release/v1.0.2/src">
  <b>Struts 1.0.2 Source Code Distribution</b></a></li>
  </ul>
  
  <p>Check the <a href="release-notes-1.0.2.html">Release Notes</a>
  for a summary of the changes since the Struts 1.0.1 release.</p>

  </section>

  <section name="Nightly Builds" href="Builds">

  <p>For developers who are helping to develop Struts, or who just want 
  "the latest bits", the latest development version is made available each 
  morning. Use at your own risk!</p>
  
  <ul>
  <li>Download the source directly via
      <a href="http://jakarta.apache.org/getinvolved/cvsindex.html">
      Anonymous CVS</a>.</li>
  <li>Download nightly binary distributions from
      <a href="http://jakarta.apache.org/builds/jakarta-struts/nightly">
      here</a>.</li>
  <li>Download nightly source distributions from
      <a href="http://jakarta.apache.org/builds/jakarta-struts/nightly/src">
      here</a>.</li>
  </ul>

  <p>Access to the CVS source repository for Struts is available through both
  <a href="http://cvs.apache.org/viewcvs/jakarta-struts/">web
  browser</a> and
  <a href="http://jakarta.apache.org/getinvolved/cvsindex.html">CVS client</a>
  interfaces.</p>

  <p>In addition to the Struts distribution, you will need to ensure that
  you have downloaded and installed all of the
  <a href="installation.html#Prerequisites">prerequisite</a> software
  applications.  Then, follow the appropriate instructions to
  <a href="installation.html#Building">build Struts from the source
  distribution</a>, or <a href="installation.html#Installing">install and
  use a Struts binary distribution</a> in your web application.</p>

  </section>


  <section name="Reporting Bugs and Feature Requests" href="Bugs">

  <p>Tracking of bug reports and new feature requests for Struts is hosted at
  <a href="http://nagoya.apache.org/bugzilla/">http://nagoya.apache.org/bugzilla/</a>.
  Please select <strong>Struts</strong> from the product list, along with the
  details of which component of Struts you feel this report relates to,
  and details of your operating environment.  You will automatically be
  notified by Email as the status of your bug report changes.</p>

  </section>


  <section name="Getting Involved" href="Involved">

  <p>There are a number of ways to get more involved in the Struts
  community, including contributing to the future development of Struts.
  Check out the following resources:</p>
  <ul>
  <li><strong>STRUTS-USER Mailing List</strong> - Subscribe to this list
      to communicate with other developers that are using
      mailing list to communicate with other developers that are using
      Struts for their own applications, including questions about the
      installation of Struts, and the usage of particular Struts features.
      [<a href="mailto:struts-user-subscribe@jakarta.apache.org">Subscribe</a>]
      [<a href="mailto:struts-user-unsubscribe@jakarta.apache.org">Unsubscribe</a>]
      </li>
  <li><strong>STRUTS-DEV Mailing List</strong> - Subscribe to this
      mailing list to communicate with other developers interested in expanding
      and improving the functionality supported by Struts itself.
      [<a href="mailto:struts-dev-subscribe@jakarta.apache.org">Subscribe</a>]
      [<a href="mailto:struts-dev-unsubscribe@jakarta.apache.org">Unsubscribe</a>]
      </li>
  <li><strong>Bug Reports and Feature Requests</strong> Use the
      <a href="http://nagoya.apache.org/bugzilla/">Bug Reporting System</a>
      to submit these reports.</li>
  <li><strong>Patches and Modules</strong> - You can contribute patches and
      new modules to Struts by posting them to the STRUTS-DEV mailing list.
      After discussion and acceptance, one of the existing Committers will
      add your contribution to the Struts source code base (with credit to
      you, of course).</li>
  <li><strong>Become A Committer</strong> - If you wish to contribute directly
      to the development of Struts, and have commit access to the CVS source
      repository, you can be nominated (or nominate yourself) for Committer
      status on this project.  The rules by which committers are voted on are
      listed at the
      <a href="http://jakarta.apache.org/guidelines/index.html">Jakarta
      web site</a>.</li>
  </ul>

  </section>


  </body>
</document>
