<!DOCTYPE html>
<html lang="en">
<head>
  <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>Download a Release</title>

  <link href="//fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,400italic,600italic,700italic" rel="stylesheet" type="text/css">
  <link href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css" 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="//code.jquery.com/jquery-1.11.0.min.js"></script>
  <script type="text/javascript" src="/bootstrap/js/bootstrap.js"></script>
  <script type="text/javascript" src="/js/community.js"></script>
</head>
<body>

<a href="http://github.com/apache/struts" class="github-ribbon">
  <img style="position: absolute; right: 0; border: 0;" src="https://s3.amazonaws.com/github/ribbons/forkme_right_red_aa0000.png" alt="Fork me on GitHub">
</a>

<header>
  <nav>
    <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">
            Menu
            <span class="sr-only">Toggle navigation</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </button>
          <a href="/index.html" class="navbar-brand logo"><img src="/img/struts-logo.svg"></a>
        </div>
        <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>
              </a>
              <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="http://www.apache.org/licenses/">License</a></li>
                <li><a href="https://www.apache.org/foundation/thanks.html">Thanks!</a></li>
                <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
              </ul>
            </li>
            <li class="dropdown">
              <a data-toggle="dropdown" href="#" class="dropdown-toggle">
                Support<b class="caret"></b>
              </a>
              <ul class="dropdown-menu">
                <li><a href="/mail.html">User Mailing List</a></li>
                <li><a href="https://issues.apache.org/jira/browse/WW">Issue Tracker</a></li>
                <li><a href="/security.html">Reporting Security Issues</a></li>
                <li class="divider"></li>
                <li><a href="https://cwiki.apache.org/confluence/display/WW/Migration+Guide">Version Notes</a></li>
                <li><a href="https://cwiki.apache.org/confluence/display/WW/Security+Bulletins">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>
              </ul>
            </li>
            <li class="dropdown">
              <a data-toggle="dropdown" href="#" class="dropdown-toggle">
                Documentation<b class="caret"></b>
              </a>
              <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="https://cwiki.apache.org/confluence/display/WW/Home">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="https://cwiki.apache.org/confluence/display/WW/FAQs">FAQs</a></li>
                <li><a href="http://cwiki.apache.org/S2PLUGINS/home.html">Plugin registry</a></li>
              </ul>
            </li>
            <li class="dropdown">
              <a data-toggle="dropdown" href="#" class="dropdown-toggle">
                Contributing<b class="caret"></b>
              </a>
              <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="https://cwiki.apache.org/confluence/display/WW/Contributors+Guide">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="https://gitbox.apache.org/repos/asf?p=struts.git">Source Repository</a></li>
                <li><a href="/updating-website.html">Updating the website</a></li>
              </ul>
            </li>
            <li class="apache"><a href="http://www.apache.org/"><img src="/img/apache.png"></a></li>
          </ul>
        </div>
      </div>
    </div>
  </nav>
</header>


<article class="container">
  <section class="col-md-12">
    <a class="edit-on-gh" href="https://github.com/apache/struts-site/edit/master/source/download.html" title="Edit this page on GitHub">Edit on GitHub</a>
    
    <h1>Download a Release of Apache Struts</h1>

<p>
  The Apache Struts web framework is a free open-source solution for creating
  Java web applications.
</p>

<p>
  You can start with Apache Struts using <a href="//maven.apache.org">Apache Maven</a> and optionally provided
  <a href="/maven-archetypes/">archetypes</a> for easier dependency management and version upgrade.
  Or download some of distributions for fully offline development.
</p>

<p>
  Use the links below to download a release of Apache Struts from one of our mirrors. You can
  <a href="#verify">verify the integrity</a> of the downloaded files using signatures downloaded from our
  main distribution directory.
</p>

<h2 id="mirror">Mirror</h2>

<p>
  [if-any logo]
  <a href="[link]">
    <img align="right" src="[logo]" border="0" alt="logo"/>
  </a>
  [end]
  The currently selected mirror is <b>[preferred]</b>. If you encounter a problem with this mirror,
  please select another mirror. If all mirrors are failing, there are <i>backup</i>
  mirrors (at the end of the mirrors list) that should be available.
</p>

<form action="[location]" method="get" id="SelectMirror">
  Other mirrors:
  <select name="Preferred">
    [if-any https]
    [for https]
    <option value="[https]">[https]</option>
    [end]
    [end]
    [if-any ftp]
    [for ftp]
    <option value="[ftp]">[ftp]</option>
    [end]
    [end]
    [if-any backup]
    [for backup]
    <option value="[backup]">[backup] (backup)</option>
    [end]
    [end]
  </select>
  <input type="submit" value="Change"/>
</form>

<p>
  You may also consult the
  <a href="https://www.apache.org/mirrors/">complete list of
    mirrors.</a>
</p>

<h2 id="struts-ga">Full Releases</h2>

<h3 id="struts2526">Struts 2.5.26</h3>

<p>
  <a href="https://struts.apache.org/">Apache Struts 2.5.26</a> is an elegant, extensible
  framework for creating enterprise-ready Java web applications. It is available in a full distribution,
  or as separate library, source, example and documentation distributions.
  Struts 2.5.26 is the "best available" version of Struts in the 2.5 series.
</p>

<ul>
  <li>
    <a href="https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.5.26">Version Notes</a>
  </li>

  <li>Full Distribution:
    <ul>
      <li>
        <a href="[preferred]struts/2.5.26/struts-2.5.26-all.zip">struts-2.5.26-all.zip</a> (65MB)
        [<a href="https://downloads.apache.org/struts/2.5.26/struts-2.5.26-all.zip.asc">PGP</a>]
        [<a href="https://downloads.apache.org/struts/2.5.26/struts-2.5.26-all.zip.sha256">SHA256</a>]
      </li>
    </ul>
  </li>

  <li>Example Applications:
    <ul>
      <li>
        <a href="[preferred]struts/2.5.26/struts-2.5.26-apps.zip">struts-2.5.26-apps.zip</a> (35MB)
        [<a href="https://downloads.apache.org/struts/2.5.26/struts-2.5.26-apps.zip.asc">PGP</a>]
        [<a href="https://downloads.apache.org/struts/2.5.26/struts-2.5.26-apps.zip.sha256">SHA256</a>]
      </li>
    </ul>
  </li>

  <li>Essential Dependencies Only:
    <ul>
      <li>
        <a href="[preferred]struts/2.5.26/struts-2.5.26-min-lib.zip">struts-2.5.26-min-lib.zip</a> (4MB)
        [<a href="https://downloads.apache.org/struts/2.5.26/struts-2.5.26-min-lib.zip.asc">PGP</a>]
        [<a href="https://downloads.apache.org/struts/2.5.26/struts-2.5.26-min-lib.zip.sha256">SHA256</a>]
      </li>
    </ul>
  </li>

  <li>All Dependencies:
    <ul>
      <li>
        <a href="[preferred]struts/2.5.26/struts-2.5.26-lib.zip">struts-2.5.26-lib.zip</a> (19MB)
        [<a href="https://downloads.apache.org/struts/2.5.26/struts-2.5.26-lib.zip.asc">PGP</a>]
        [<a href="https://downloads.apache.org/struts/2.5.26/struts-2.5.26-lib.zip.sha256">SHA256</a>]
      </li>
    </ul>
  </li>

  <li>Documentation:
    <ul>
      <li>
        <a href="[preferred]struts/2.5.26/struts-2.5.26-docs.zip">struts-2.5.26-docs.zip</a> (13MB)
        [<a href="https://downloads.apache.org/struts/2.5.26/struts-2.5.26-docs.zip.asc">PGP</a>]
        [<a href="https://downloads.apache.org/struts/2.5.26/struts-2.5.26-docs.zip.sha256">SHA256</a>]
      </li>
    </ul>
  </li>

  <li>Source:
    <ul>
      <li>
        <a href="[preferred]struts/2.5.26/struts-2.5.26-src.zip">struts-2.5.26-src.zip</a> (7MB)
        [<a href="https://downloads.apache.org/struts/2.5.26/struts-2.5.26-src.zip.asc">PGP</a>]
        [<a href="https://downloads.apache.org/struts/2.5.26/struts-2.5.26-src.zip.sha256">SHA256</a>]
      </li>
    </ul>
  </li>

</ul>

<h3 id="struts-23x">Struts 2.3.37</h3>

<ul>
  <li>
    <a href="https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.3.37">Version Notes</a>
  </li>

  <li>Full Distribution:
    <ul>
      <li>
        <a href="https://archive.apache.org/dist/struts/2.3.37/struts-2.3.37-all.zip">struts-2.3.37-all.zip</a> (65MB)
        [<a href="https://archive.apache.org/dist/struts/2.3.37/struts-2.3.37-all.zip.asc">PGP</a>]
        [<a href="https://archive.apache.org/dist/struts/2.3.37/struts-2.3.37-all.zip.sha256">SHA256</a>]
      </li>
    </ul>
  </li>

  <li>Example Applications:
    <ul>
      <li>
        <a href="https://archive.apache.org/dist/struts/2.3.37/struts-2.3.37-apps.zip">struts-2.3.37-apps.zip</a> (35MB)
        [<a href="https://archive.apache.org/dist/struts/2.3.37/struts-2.3.37-apps.zip.asc">PGP</a>]
        [<a href="https://archive.apache.org/dist/struts/2.3.37/struts-2.3.37-apps.zip.sha256">SHA256</a>]
      </li>
    </ul>
  </li>

  <li>Essential Dependencies Only:
    <ul>
      <li>
        <a href="https://archive.apache.org/dist/struts/2.3.37/struts-2.3.37-min-lib.zip">struts-2.3.37-min-lib.zip</a> (4MB)
        [<a href="https://archive.apache.org/dist/struts/2.3.37/struts-2.3.37-min-lib.zip.asc">PGP</a>]
        [<a href="https://archive.apache.org/dist/struts/2.3.37/struts-2.3.37-min-lib.zip.sha256">SHA256</a>]
      </li>
    </ul>
  </li>

  <li>All Dependencies:
    <ul>
      <li>
        <a href="https://archive.apache.org/dist/struts/2.3.37/struts-2.3.37-lib.zip">struts-2.3.37-lib.zip</a> (19MB)
        [<a href="https://archive.apache.org/dist/struts/2.3.37/struts-2.3.37-lib.zip.asc">PGP</a>]
        [<a href="https://archive.apache.org/dist/struts/2.3.37/struts-2.3.37-lib.zip.sha256">SHA256</a>]
      </li>
    </ul>
  </li>

  <li>Documentation:
    <ul>
      <li>
        <a href="https://archive.apache.org/dist/struts/2.3.37/struts-2.3.37-docs.zip">struts-2.3.37-docs.zip</a> (13MB)
        [<a href="https://archive.apache.org/dist/struts/2.3.37/struts-2.3.37-docs.zip.asc">PGP</a>]
        [<a href="https://archive.apache.org/dist/struts/2.3.37/struts-2.3.37-docs.zip.sha256">SHA256</a>]
      </li>
    </ul>
  </li>

  <li>Source:
    <ul>
      <li>
        <a href="https://archive.apache.org/dist/struts/2.3.37/struts-2.3.37-src.zip">struts-2.3.37-src.zip</a> (7MB)
        [<a href="https://archive.apache.org/dist/struts/2.3.37/struts-2.3.37-src.zip.asc">PGP</a>]
        [<a href="https://archive.apache.org/dist/struts/2.3.37/struts-2.3.37-src.zip.sha256">SHA256</a>]
      </li>
    </ul>
  </li>

</ul>

<h3 id="struts-extras">Struts Extras</h3>

<ul>
  <li>
    <a href="https://github.com/apache/struts-extras">README</a>
  </li>

  <li>Apache Struts 2 Secure Jakarta Multipart parser plugin:
    <ul>
      <li>
        <a href="[preferred]struts/struts-extras/struts2-secure-jakarta-multipart-parser-plugin/1.1/struts2-secure-jakarta-multipart-parser-plugin-1.1.jar">
          struts2-secure-jakarta-multipart-parser-plugin-1.1.jar
        </a>
        [<a href="https://downloads.apache.org/struts/struts-extras/struts2-secure-jakarta-multipart-parser-plugin/1.1/struts2-secure-jakarta-multipart-parser-plugin-1.1.jar.asc">PGP</a>]
        [<a href="https://downloads.apache.org/struts/struts-extras/struts2-secure-jakarta-multipart-parser-plugin/1.1/struts2-secure-jakarta-multipart-parser-plugin-1.1.jar.md5">MD5</a>]
        [<a href="https://downloads.apache.org/struts/struts-extras/struts2-secure-jakarta-multipart-parser-plugin/1.1/struts2-secure-jakarta-multipart-parser-plugin-1.1.jar.sha1">SHA1</a>]
      </li>
    </ul>
  </li>

  <li>Source:
    <ul>
      <li>
        <a href="[preferred]struts/struts-extras/struts2-secure-jakarta-multipart-parser-plugin/1.1/struts2-secure-jakarta-multipart-parser-plugin-1.1-source-release.zip">
          struts2-secure-jakarta-multipart-parser-plugin-1.1-source-release.zip
        </a>
        [<a href="https://downloads.apache.org/struts/struts-extras/struts2-secure-jakarta-multipart-parser-plugin/1.1/struts2-secure-jakarta-multipart-parser-plugin-1.1-source-release.zip.md5">MD5</a>]
        [<a href="https://downloads.apache.org/struts/struts-extras/struts2-secure-jakarta-multipart-parser-plugin/1.1/struts2-secure-jakarta-multipart-parser-plugin-1.1-source-release.zip.asc">PGP</a>]
        [<a href="https://downloads.apache.org/struts/struts-extras/struts2-secure-jakarta-multipart-parser-plugin/1.1/struts2-secure-jakarta-multipart-parser-plugin-1.1-source-release.zip.sha1">SHA1</a>]
      </li>
    </ul>
  </li>

  <li>Apache Struts 2 Secure Jakarta Stream Multipart parser plugin:
    <ul>
      <li>
        <a href="[preferred]struts/struts-extras/struts2-secure-jakarta-stream-multipart-parser-plugin/1.1/struts2-secure-jakarta-stream-multipart-parser-plugin-1.1.jar">
          struts2-secure-jakarta-stream-multipart-parser-plugin-1.1.jar
        </a>
        [<a href="https://downloads.apache.org/struts/struts-extras/struts2-secure-jakarta-stream-multipart-parser-plugin/1.1/struts2-secure-jakarta-stream-multipart-parser-plugin-1.1.jar.asc">PGP</a>]
        [<a href="https://downloads.apache.org/struts/struts-extras/struts2-secure-jakarta-stream-multipart-parser-plugin/1.1/struts2-secure-jakarta-stream-multipart-parser-plugin-1.1.jar.md5">MD5</a>]
        [<a href="https://downloads.apache.org/struts/struts-extras/struts2-secure-jakarta-stream-multipart-parser-plugin/1.1/struts2-secure-jakarta-stream-multipart-parser-plugin-1.1.jar.sha1">SHA1</a>]
      </li>
    </ul>
  </li>

  <li>Source:
    <ul>
      <li>
        <a href="[preferred]struts/struts-extras/struts2-secure-jakarta-stream-multipart-parser-plugin/1.1/struts2-secure-jakarta-stream-multipart-parser-plugin-1.1-source-release.zip">
          struts2-secure-jakarta-stream-multipart-parser-plugin-1.1-source-release.zip
        </a>
        [<a href="https://downloads.apache.org/struts/struts-extras/struts2-secure-jakarta-stream-multipart-parser-plugin/1.1/struts2-secure-jakarta-stream-multipart-parser-plugin-1.1-source-release.zip.md5">MD5</a>]
        [<a href="https://downloads.apache.org/struts/struts-extras/struts2-secure-jakarta-stream-multipart-parser-plugin/1.1/struts2-secure-jakarta-stream-multipart-parser-plugin-1.1-source-release.zip.asc">PGP</a>]
        [<a href="https://downloads.apache.org/struts/struts-extras/struts2-secure-jakarta-stream-multipart-parser-plugin/1.1/struts2-secure-jakarta-stream-multipart-parser-plugin-1.1-source-release.zip.sha1">SHA1</a>]
      </li>
    </ul>
  </li>

</ul>

<h2 id="prior-releases">Prior releases</h2>
<p>
  If you are looking for other versions than above please check <a href="https://archive.apache.org/dist/struts/">the Apache Archive</a> site.
</p>

<h3 id="struts1310">Struts 1.3.10</h3>

<p>
  <a href="https://struts.apache.org/struts1eol-announcement.html">Struts 1.3.10 - EOL</a>
  is the latest production release of Struts 1. It is available in a full distribution, or as
  separate library, source, example and documentation distributions.
</p>

<p>
  <b>Important: </b>
  <a href="struts1eol-announcement.html">Apache Struts 1 EOL Announcement</a>, including a detailed Q/A section
</p>

<ul>

  <li>Full Distribution:
    <ul>
      <li>
        <a href="https://archive.apache.org/dist/struts/1.3.10/struts-1.3.10-all.zip">struts-1.3.10-all.zip</a>
        [<a href="https://archive.apache.org/dist/struts/1.3.10/struts-1.3.10-all.zip.asc">PGP</a>]
        [<a href="https://archive.apache.org/dist/struts/1.3.10/struts-1.3.10-all.zip.md5">MD5</a>]
      </li>
    </ul>
  </li>

  <li>Library:
    <ul>
      <li>
        <a href="https://archive.apache.org/dist/struts/1.3.10/struts-1.3.10-lib.zip">struts-1.3.10-lib.zip</a>
        [<a href="https://archive.apache.org/dist/struts/1.3.10/struts-1.3.10-lib.zip.asc">PGP</a>]
        [<a href="https://archive.apache.org/dist/struts/1.3.10/struts-1.3.10-lib.zip.md5">MD5</a>]
      </li>
    </ul>
  </li>

  <li>Source:
    <ul>
      <li>
        <a href="https://archive.apache.org/dist/struts/1.3.10/struts-1.3.10-src.zip">struts-1.3.10-src.zip</a>
        [<a href="https://archive.apache.org/dist/struts/1.3.10/struts-1.3.10-src.zip.asc">PGP</a>]
        [<a href="https://archive.apache.org/dist/struts/1.3.10/struts-1.3.10-src.zip.md5">MD5</a>]
      </li>
    </ul>
  </li>

  <li>Examples:
    <ul>
      <li>
        <a href="https://archive.apache.org/dist/struts/1.3.10/struts-1.3.10-apps.zip">struts-1.3.10-apps.zip</a>
        [<a href="https://archive.apache.org/dist/struts/1.3.10/struts-1.3.10-apps.zip.asc">PGP</a>]
        [<a href="https://archive.apache.org/dist/struts/1.3.10/struts-1.3.10-apps.zip.md5">MD5</a>]
      </li>
    </ul>
  </li>

  <li>Documentation:
    <ul>
      <li>
        <a href="https://archive.apache.org/dist/struts/1.3.10/struts-1.3.10-docs.zip">struts-1.3.10-docs.zip</a>
        [<a href="https://archive.apache.org/dist/struts/1.3.10/struts-1.3.10-docs.zip.asc">PGP</a>]
        [<a href="https://archive.apache.org/dist/struts/1.3.10/struts-1.3.10-docs.zip.md5">MD5</a>]
      </li>
    </ul>
  </li>

</ul>

<h2 id="strutsarchive">Older Releases</h2>
<p>
  Older versions of Struts are available from the <a href="https://archive.apache.org/dist/struts/">Archive Site.</a>
</p>

<h2 id="verify">Verify the integrity of the files</h2>

<p>
  We recommend that you verify the integrity of the downloaded files using the PGP or MD5/SHA256 signatures.
</p>

<p>
  The PGP signatures can be verified using PGP or GPG.
  First download the
  <a href="https://downloads.apache.org/struts/KEYS">KEYS</a> as well as the <code>asc</code>
  signature file for the particular distribution.
  Make sure you get these files from the <a href="https://downloads.apache.org/struts/">main distribution directory,</a>
  rather than from a mirror. Then verify the signatures using
</p>

<p>
  <code>
    % pgpk -a KEYS
    <br/>
    % pgpv ${filename}.tar.gz.asc
    <br/>
  </code>
  <em>or</em>
  <br/>
  <code>
    % pgp -ka KEYS
    <br/>
    % pgp ${filename}.tar.gz.asc
    <br/>
  </code>
  <em>or</em>
  <br/>
  <code>
    % gpg --import KEYS
    <br/>
    % gpg --verify ${filename}.tar.gz.asc ${filename}.tar.gz
  </code>
</p>

<p>
  Alternatively, you can verify the MD5 signature on the files. A Unix program called <code>md5</code>
  or <code>md5sum</code> is included in many Unix distributions. It is also available as part of
  <a href="https://www.gnu.org/software/textutils/textutils.html"> GNU Textutils.</a>
  Windows users can get binary md5 programs from <a href="https://www.fourmilab.ch/md5/">here,</a>
  <a href="http://www.pc-tools.net/win32/freeware/console/"> here,</a>
  or <a href="https://www.slavasoft.com/fsum/">here.</a>
</p>

  </section>
</article>


<footer class="container">
  <div class="col-md-12">
    Copyright &copy; 2000-2018 <a href="http://www.apache.org/">The Apache Software Foundation </a>.
    All Rights Reserved.
  </div>
  <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>
  <div class="col-md-12">Logo and website design donated by <a href="https://softwaremill.com/">SoftwareMill</a>.</div>
</footer>

<script>!function (d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (!d.getElementById(id)) {
    js = d.createElement(s);
    js.id = id;
    js.src = "//platform.twitter.com/widgets.js";
    fjs.parentNode.insertBefore(js, fjs);
  }
}(document, "script", "twitter-wjs");</script>
<script src="https://apis.google.com/js/platform.js" 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);
  js.id = id;
  js.src = "//connect.facebook.net/en_GB/all.js#xfbml=1";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>


</body>
</html>
