blob: e50969a80ebe44bc82674a7662a57b0598eebc7c [file] [log] [blame]
<?xml version="1.0"?>
<!--
Copyright 1999-2006 The Apache Software Foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!--
// ======================================================================== 78
-->
<document>
<properties>
<title>Welcome</title>
</properties>
<body>
<a name="Welcome"/>
<section name="Welcome to Apache Struts!">
<p>
The goal of the Apache Struts project is to encourage
application
architectures based on the "Model 2" approach, a variation of
the
classic Model-View-Controller (MVC) design paradigm.
Under Model 2,
a servlet (or equivalent) manages business logic execution,
and presentation logic resides mainly in server pages.
</p>
<p>
The Apache Struts project encourages Model 2 designs in two
ways.
First, by providing open source frameworks and toolkits
that help developers build applications for the web.
Second, by providing friendly and honest mailing lists
where both newcomers and veterans discuss how to use Struts
software
in their own Model 2 applications.
</p>
<p>
Originally, the Apache Struts software was distributed
as one monolithic bundle.
Today, the Apache Struts project is comprised of two distinct
frameworks
and several other subprojects.
The two frameworks are the
<strong>Struts Action Framework</strong>
and
the
<strong>Struts Shale Framework</strong>
.
Struts Action is the original request-based framework.
Struts Shale is a component-based framework based on
JavaServer Faces.
Both frameworks are first-class citizens of the Apache Struts
project.
</p>
<a name="frameworks"/>
<subsection name="Why two frameworks?">
<p>
When
<a href="http://java.sun.com/j2ee/javaserverfaces/">
JavaServer Faces arrived</a>
,
our development community chose to "make new friends but
keep the old".
Some of us want (or need) to stick with the original
request-based framework.
Others are ready to switch to an component-based framework
that builds on JavaServer Faces.
We offer both frameworks because we have volunteers to
create and maintain both frameworks.
</p>
<p>
If you are starting a new project, you might want to
consider our Shale
Framework. Some people feel that JSF and Shale is the
quickest way to
write new Java web applications. Others, however, prefer
the URL
mapping style of a request framework. No matter what your
preference
is, we offer an actively developed framework for you. If
you are not
sure which to use, go ahead and try them both out.
</p>
<p>
If you have mature Action Framework applications in
production, don't worry,
we are still here, same as ever.
After all, we have our share of mature application in
production too.
</p>
<p>
For more about how Action and Shale fit together,
see our
<a href="kickstart.html">KickStart FAQ</a>
.
</p>
</subsection>
<a name="subprojects"/>
<subsection name="Why so many subprojects?">
<p>
To make the Struts Action Framework easier for us to
maintain,
we've subdivided the original monolithic distribution into
several subprojects.
Each subproject has its own website, documentation, and
release cycle,
and may be downloaded separately.
The JARs and external dependencies for our extensions to
Struts Action are being
bundled into a convenient distribution known as the
"Struts Action Library".
</p>
<p>
The subprojects will be distributed as part of the Struts
Action 1.3.x release series.
The initial 1.3.0 release is still under development.
Right now,
<a href="http://struts.apache.org/downloads.html">
Struts 1.2.8 is the best available release</a>
.
</p>
</subsection>
<a name="about"/>
<subsection name="About Apache Struts">
<p>
Apache Struts is a volunteer project and
all support for the framework is provided by unpaid
volunteers.
This documentation bundle and the mailing lists are the
primary ways
to learn how to use Struts.
The next few pages are devoted to helping you understand
what resources are available to you.
Since Apache Struts is a volunteer project,
and our resources are limited,
it is important that we first help you help yourself.
</p>
<ul>
<li>
Struts is a project of the
<a href="http://www.apache.org">
The Apache Software Foundation</a>
.
</li>
<li>
The official Apache Struts home page is at
<a href="http://struts.apache.org/">
http://struts.apache.org/</a>
.
</li>
</ul>
</subsection>
</section>
<section>
<p class="right">
<strong>Next:</strong>
<a href="announce.html">Announcements</a>
</p>
</section>
</body>
</document>