blob: 4dbd6a8fe86fea7607db72e3bd6bd7fd169f6d7e [file] [log] [blame]
<!DOCTYPE html>
<html lang="en">
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<meta name="Date-Revision-yyyymmdd" content="20140918"/>
<meta http-equiv="Content-Language" content="en"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Kickstart FAQ</title>
<link href="//,400,600,700,400italic,600italic,700italic" rel="stylesheet" type="text/css">
<link href="//" rel="stylesheet">
<link href="/css/main.css" rel="stylesheet">
<link href="/css/custom.css" rel="stylesheet">
<link href="/highlighter/github-theme.css" rel="stylesheet">
<script src="//"></script>
<script type="text/javascript" src="/bootstrap/js/bootstrap.js"></script>
<script type="text/javascript" src="/js/community.js"></script>
<a href="" class="github-ribbon">
<img style="position: absolute; right: 0; border: 0;" src="" alt="Fork me on GitHub">
<div role="navigation" class="navbar navbar-default navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<button type="button" data-toggle="collapse" data-target="#struts-menu" class="navbar-toggle">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<a href="/index.html" class="navbar-brand logo"><img src="/img/struts-logo.svg"></a>
<div id="struts-menu" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li class="dropdown">
<a data-toggle="dropdown" href="#" class="dropdown-toggle">
Home<b class="caret"></b>
<ul class="dropdown-menu">
<li><a href="/index.html">Welcome</a></li>
<li><a href="/download.cgi">Download</a></li>
<li><a href="/releases.html">Releases</a></li>
<li><a href="/announce-2021.html">Announcements</a></li>
<li><a href="">License</a></li>
<li><a href="">Thanks!</a></li>
<li><a href="">Sponsorship</a></li>
<li class="dropdown">
<a data-toggle="dropdown" href="#" class="dropdown-toggle">
Support<b class="caret"></b>
<ul class="dropdown-menu">
<li><a href="/mail.html">User Mailing List</a></li>
<li><a href="">Issue Tracker</a></li>
<li><a href="/security.html">Reporting Security Issues</a></li>
<li class="divider"></li>
<li><a href="">Version Notes</a></li>
<li><a href="">Security Bulletins</a></li>
<li class="divider"></li>
<li><a href="/maven/project-info.html">Maven Project Info</a></li>
<li><a href="/maven/struts2-core/dependencies.html">Struts Core Dependencies</a></li>
<li><a href="/maven/struts2-plugins/modules.html">Plugin Dependencies</a></li>
<li class="dropdown">
<a data-toggle="dropdown" href="#" class="dropdown-toggle">
Documentation<b class="caret"></b>
<ul class="dropdown-menu">
<li><a href="/birdseye.html">Birds Eye</a></li>
<li><a href="/primer.html">Key Technologies</a></li>
<li><a href="/kickstart.html">Kickstart FAQ</a></li>
<li><a href="">Wiki</a></li>
<li class="divider"></li>
<li><a href="/getting-started/">Getting Started</a></li>
<li><a href="/security/">Security Guide</a></li>
<li><a href="/core-developers/">Core Developers Guide</a></li>
<li><a href="/tag-developers/">Tag Developers Guide</a></li>
<li><a href="/maven-archetypes/">Maven Archetypes</a></li>
<li><a href="/plugins/">Plugins</a></li>
<li><a href="/maven/struts2-core/apidocs/index.html">Struts Core API</a></li>
<li><a href="/tag-developers/tag-reference.html">Tag reference</a></li>
<li><a href="">FAQs</a></li>
<li><a href="">Plugin registry</a></li>
<li class="dropdown">
<a data-toggle="dropdown" href="#" class="dropdown-toggle">
Contributing<b class="caret"></b>
<ul class="dropdown-menu">
<li><a href="/youatstruts.html">You at Struts</a></li>
<li><a href="/helping.html">How to Help FAQ</a></li>
<li><a href="/dev-mail.html">Development Lists</a></li>
<li><a href="/contributors/">Contributors Guide</a></li>
<li class="divider"></li>
<li><a href="/submitting-patches.html">Submitting patches</a></li>
<li><a href="/builds.html">Source Code and Builds</a></li>
<li><a href="/coding-standards.html">Coding standards</a></li>
<li><a href="">Contributors Guide</a></li>
<li class="divider"></li>
<li><a href="/release-guidelines.html">Release Guidelines</a></li>
<li><a href="/bylaws.html">PMC Charter</a></li>
<li><a href="/volunteers.html">Volunteers</a></li>
<li><a href="">Source Repository</a></li>
<li><a href="/updating-website.html">Updating the website</a></li>
<li class="apache"><a href=""><img src="/img/apache.png"></a></li>
<article class="container">
<section class="col-md-12">
<a class="edit-on-gh" href="" title="Edit this page on GitHub">Edit on GitHub</a>
<h1 class="no_toc" id="kickstart-faq">Kickstart FAQ</h1>
<ul id="markdown-toc">
<li><a href="#general" id="markdown-toc-general">General</a> <ul>
<li><a href="#im-new-to-apache-struts-how-do-i-get-started" id="markdown-toc-im-new-to-apache-struts-how-do-i-get-started">I’m new to Apache Struts. How do I get started?</a></li>
<li><a href="#releases" id="markdown-toc-releases">Looking at the releases page, some versions seem to be missing. What happened to them?</a></li>
<li><a href="#why-is-the-project-called-struts" id="markdown-toc-why-is-the-project-called-struts">Why is the project called “Struts”?</a></li>
<li><a href="#how-is-apache-struts-licensed" id="markdown-toc-how-is-apache-struts-licensed">How is Apache Struts licensed?</a></li>
<li><a href="#can-apache-struts-be-used-in-a-commercial-product" id="markdown-toc-can-apache-struts-be-used-in-a-commercial-product">Can Apache Struts be used in a commercial product?</a></li>
<li><a href="#do-i-have-to-credit-apache-struts-on-my-own-web-site" id="markdown-toc-do-i-have-to-credit-apache-struts-on-my-own-web-site">Do I have to credit Apache Struts on my own web site?</a></li>
<li><a href="#are-there-isps-that-will-host-my-java-web-application" id="markdown-toc-are-there-isps-that-will-host-my-java-web-application">Are there ISPs that will host my Java web application?</a></li>
<li><a href="#is-there-a-particularly-good-ide-to-use" id="markdown-toc-is-there-a-particularly-good-ide-to-use">Is there a particularly good IDE to use?</a></li>
<li><a href="#product-support" id="markdown-toc-product-support">Product Support</a> <ul>
<li><a href="#where-can-i-get-help-with-apache-struts" id="markdown-toc-where-can-i-get-help-with-apache-struts">Where can I get help with Apache Struts?</a></li>
<li><a href="#is-commercial-support-available" id="markdown-toc-is-commercial-support-available">Is commercial support available?</a></li>
<li><a href="#if-a-product-doesnt-do-what-i-want-can-i-request-that-a-feature-be-added" id="markdown-toc-if-a-product-doesnt-do-what-i-want-can-i-request-that-a-feature-be-added">If a product doesn’t do what I want, can I request that a feature be added?</a></li>
<li><a href="#is-there-a-press-kit-for-apache-struts" id="markdown-toc-is-there-a-press-kit-for-apache-struts">Is there a press kit for Apache Struts?</a></li>
<li><a href="#where-can-i-report-a-potential-security-vulnerability" id="markdown-toc-where-can-i-report-a-potential-security-vulnerability">Where can I report a potential security vulnerability?</a></li>
<li><a href="#mailing-lists" id="markdown-toc-mailing-lists">Mailing Lists</a> <ul>
<li><a href="#is-there-a-digest-for-the-user-list" id="markdown-toc-is-there-a-digest-for-the-user-list">Is there a digest for the User list?</a></li>
<li><a href="#is-there-an-apache-struts-newsgroup" id="markdown-toc-is-there-an-apache-struts-newsgroup">Is there an Apache Struts newsgroup?</a></li>
<li><a href="#why-didnt-my-posting-show-up-on-the-user-list" id="markdown-toc-why-didnt-my-posting-show-up-on-the-user-list">Why didn’t my posting show up on the user list?</a></li>
<li><a href="#are-there-separate-user-lists-for-struts-1-and-struts-2" id="markdown-toc-are-there-separate-user-lists-for-struts-1-and-struts-2">Are there separate user lists for Struts 1 and Struts 2?</a></li>
<li><a href="#how-do-i-unsubscribe-from-the-mailing-list" id="markdown-toc-how-do-i-unsubscribe-from-the-mailing-list">How do I unsubscribe from the mailing list?</a></li>
<h2 id="general">General</h2>
<h3 id="im-new-to-apache-struts-how-do-i-get-started">I’m new to Apache Struts. How do I get started?</h3>
<p>The best place to start is with the “best available” <a href="releases.html">release</a>.
If you are new to Java or web development, as well as Apache Struts, be sure to review the
<a href="primer.html">Key Technologies Primer</a>.</p>
<p>The main Struts web site includes documentation for the latest “General Availability” release
in each major release series. The development section of the site inclues draft documentation
for upcoming releases. If you are just getting started, focus on the latest General
Availability release, Documentation for past <a href="releases.html">releases</a> is also available.</p>
<p>If you have questions, you can search the <a href="mail.html#archives">User Mailing List archives</a>,
or <a href="mail.html">post your own question to the list</a>. (Plain old Google usually works too!)</p>
<h3 id="releases">Looking at the releases page, some versions seem to be missing. What happened to them?</h3>
<p>Apache Struts uses a “milestone build” system to create releases. First, we create a build
with a milestone version number, like Struts 2.0.42, and post the distribution in the development area.
The development group tests the distribution, and then we decide whether or not to release it.
The distribution includes everything that would be released, including the documentation and the release notes
for this version.</p>
<p>If we find a significant problem with the distribution, we may decide not to release it, and just leave
the distribution as a “test build”. The testing may take several days, and in the meantime, we want to keep
the project moving, and so we just go onto the next version number.
Using our example, the next distribution would be labeled 2.0.43, even if version 2.0.42 was never officially
<p>Often we will first grade a release as a “beta”, and invite other users to test it too. If this second
round of beta testing goes well, then we may mark the release “General Availability”.
Usually, that designation would also make it the new “Best Available” release. In this case, we don’t create
another distribution, but simply adjust the status of the same set of bits that people have been testing all along.</p>
<p>In practice, the milestone build system is fast and efficient and creates the fewest number of “candidate builds”
between releases.</p>
<h3 id="why-is-the-project-called-struts">Why is the project called “Struts”?</h3>
<p>It’s a reference to “struts” in the architectural sense, a reminder of the nearly invisible pieces that hold up
buildings, houses, and bridges.</p>
<h3 id="how-is-apache-struts-licensed">How is Apache Struts licensed?</h3>
<p>All Apache Struts products are copyrighted software available under the <a href="">Apache License</a>,
a "free-to-use, business-friendly license".</p>
<h3 id="can-apache-struts-be-used-in-a-commercial-product">Can Apache Struts be used in a commercial product?</h3>
<p>Yes. The only requirements you must meet are those listed in the <a href="">Apache License</a>.</p>
<h3 id="do-i-have-to-credit-apache-struts-on-my-own-web-site">Do I have to credit Apache Struts on my own web site?</h3>
<p>You need to credit Apache Struts if you <strong>redistribute your own framework</strong> based on our products
for other people to use. (See the <a href="">Apache License</a> for details.)
But you do <strong>not</strong> need to credit Apache Struts just because your web application utilizes one of our products.
It’s the same situation as using the Apache HTTPD server or Tomcat. Not required if its just running your web site.
Required if you’ve used the source code to create your own server that you are redistributing to other people.</p>
<h3 id="are-there-isps-that-will-host-my-java-web-application">Are there ISPs that will host my Java web application?</h3>
<p>For a listing of some Java and Struts ISPs, visit the <a href="">Struts Community Resources</a>
area on SourceForge.</p>
<h3 id="is-there-a-particularly-good-ide-to-use">Is there a particularly good IDE to use?</h3>
<p>The frameworks should work well with any development environment that you would like to use, as well as with any
programmers editor. The members of the Apache Struts development group each use their own tools such as
<a href="">Emacs</a>, <a href="">IntelliJ IDEA</a>,
<a href="">Eclipse</a>, and <a href="">NetBeans</a>.</p>
<p>For more, see the <a href="">IDE discussion page</a> in the Struts wiki.</p>
<h2 id="product-support">Product Support</h2>
<h3 id="where-can-i-get-help-with-apache-struts">Where can I get help with Apache Struts?</h3>
<p>Each release of Struts comes with a User Guide or set of Tutorials to introduce people to the framework
and its underlying technologies. Various components also have their own in-depth Developers Guide, to cover
more advanced topics. Comprehensive Javadocs are provided for each release, along with the <strong>full source code</strong>.</p>
<p>The <a href="mail.html">Struts user mailing list</a> is also very active, and welcomes posts from new users. Before
posting a new question, be sure to consult the <strong><a href="mail.html#Archives">MAILING LIST ARCHIVE</a></strong>
and the very excellent <a href="">How To Ask Questions The Smart Way</a>
by Eric Raymond. Please do be sure to <a href="">turn off HTML</a> in your
email client before posting.</p>
<h3 id="is-commercial-support-available">Is commercial support available?</h3>
<p>The Apache Software Foundation does not provide commercial support for any of our software products,
including Apache Struts. However, third parties may offer different degrees of support.</p>
<h3 id="if-a-product-doesnt-do-what-i-want-can-i-request-that-a-feature-be-added">If a product doesn’t do what I want, can I request that a feature be added?</h3>
<p>First, it’s important to remember that Apache Struts is an all-volunteer project. We don’t charge anyone
anything to use Apache Struts products. Committers and other developers work on Apache Struts products because
they need to use it with their own applications. If others can use it too, that’s “icing on the cake”.
If you <a href="helping.html">submit a patch</a> for a feature that a Committer finds useful, then that
Committer may choose to volunteer his or her time to apply the patch.
If you just submit an idea without a patch, it is much less likely to be added (since first someone else has to
volunteer their time to write the patch).</p>
<p>We are grateful for any patches, and we welcome new ideas, but the best way to see that something gets added
to the framework is to do as much of the work as you can, rather than rely on the “kindness of strangers”.
Worst case, you can apply the patch to your copy of the framework and still use the feature in your own application.
(Which is what open source is <em>really</em> all about.)</p>
<h3 id="is-there-a-press-kit-for-apache-struts">Is there a press kit for Apache Struts?</h3>
<p>Except for our <a href="announce.html">announcements page</a>, there is not a formal press or media kit for Apache Struts.
Queries from the press (and ONLY queries from the press, NOT support questions or anything else!)
should go to our media relations address: <a href=""></a>.</p>
<h3 id="where-can-i-report-a-potential-security-vulnerability">Where can I report a potential security vulnerability?</h3>
<p>If you believe you’ve found a security vulnerability in Apache Struts, please contact our security address - any
emails not relating to security vulnerabilities will be ignored without a reply (all security related information
will be kept confidential unless otherwise indicated): <a href=""></a>.</p>
<h2 id="mailing-lists">Mailing Lists</h2>
<h3 id="is-there-a-digest-for-the-user-list">Is there a digest for the User list?</h3>
<p>Yes. Send a blank message to <a href=""></a>.</p>
<p>If you are subscribed to the digest, you can also post to the list. Just be sure to send your post to
the <a href="">user list</a> rather than trying to reply to the digest.</p>
<h3 id="is-there-an-apache-struts-newsgroup">Is there an Apache Struts newsgroup?</h3>
<p>Not a usenet group, but the Apache Struts User list can be accessed with your favorite newsgroup reader from
the <a href="">GMane News Site</a>. Subscribe to groups <code class="highlighter-rouge">gmane.comp.jakarta.struts.user</code>
for the user list.</p>
<h3 id="why-didnt-my-posting-show-up-on-the-user-list">Why didn’t my posting show up on the user list?</h3>
<p>You must be subscribed to the <a href="">user list</a> or
<a href="">user digest</a> before posting (or use the
<a href="">GMane Newsgroups</a> instead).</p>
<h3 id="are-there-separate-user-lists-for-struts-1-and-struts-2">Are there separate user lists for Struts 1 and Struts 2?</h3>
<p>No. Each major version has it’s own JIRA project, but we share the mailing lists.</p>
<p>To get the best response to an inquiry, please specify which version of Struts is being used,
including the milestone (“Struts 1.2.9”, for example). You can also include the label <strong>[s1]</strong>
or <strong>[s2]</strong> in the subject line of your post.</p>
<h3 id="how-do-i-unsubscribe-from-the-mailing-list">How do I unsubscribe from the mailing list?</h3>
<p><strong>From the email account used to subscribe to the list</strong>, send a blank message to
<a href=""></a>.</p>
<p>If you are receiving the digest, you must send a blank email to
<a href=""></a> instead.</p>
<footer class="container">
<div class="col-md-12">
Copyright &copy; 2000-2018 <a href="">The Apache Software Foundation </a>.
All Rights Reserved.
<div class="col-md-12">
Apache Struts, Struts, Apache, the Apache feather logo, and the Apache Struts project logos are
trademarks of The Apache Software Foundation.
<div class="col-md-12">Logo and website design donated by <a href="">SoftwareMill</a>.</div>
<script>!function (d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (!d.getElementById(id)) {
js = d.createElement(s); = id;
js.src = "//";
fjs.parentNode.insertBefore(js, fjs);
}(document, "script", "twitter-wjs");</script>
<script src="" async="async" defer="defer"></script>
<div id="fb-root"></div>
<script>(function (d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); = id;
js.src = "//";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>