diff --git a/tomcat-cas/webapps/docs/default-servlet.html b/tomcat-cas/webapps/docs/default-servlet.html
index 4292307..277fb7d 100644
--- a/tomcat-cas/webapps/docs/default-servlet.html
+++ b/tomcat-cas/webapps/docs/default-servlet.html
@@ -1,19 +1,96 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 (6.0.41) - Default Servlet Reference</title><meta name="author" content="Tim Funk"><style type="text/css" media="print">
-			.noPrint {display: none;}
-			td#mainBody {width: 100%;}
-		</style></head><body bgcolor="#ffffff" text="#000000" link="#525D76" alink="#525D76" vlink="#525D76"><table border="0" width="100%" cellspacing="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img src="./images/tomcat.gif" align="right" alt="
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 7 (7.0.77) - Default Servlet Reference</title><meta name="author" content="Tim Funk"><style type="text/css" media="print">
+    .noPrint {display: none;}
+    td#mainBody {width: 100%;}
+</style><style type="text/css">
+code {background-color:rgb(224,255,255);padding:0 0.1em;}
+code.attributeName, code.propertyName {background-color:transparent;}
+
+
+table {
+  border-collapse: collapse;
+  text-align: left;
+}
+table *:not(table) {
+  /* Prevent border-collapsing for table child elements like <div> */
+  border-collapse: separate;
+}
+
+th {
+  text-align: left;
+}
+
+
+div.codeBox pre code, code.attributeName, code.propertyName, code.noHighlight, .noHighlight code {
+  background-color: transparent;
+}
+div.codeBox {
+  overflow: auto;
+  margin: 1em 0;
+}
+div.codeBox pre {
+  margin: 0;
+  padding: 4px;
+  border: 1px solid #999;
+  border-radius: 5px;
+  background-color: #eff8ff;
+  display: table; /* To prevent <pre>s from taking the complete available width. */
+  /*
+  When it is officially supported, use the following CSS instead of display: table
+  to prevent big <pre>s from exceeding the browser window:
+  max-width: available;
+  width: min-content;
+  */
+}
+
+div.codeBox pre.wrap {
+  white-space: pre-wrap;
+}
+
+
+table.defaultTable tr, table.detail-table tr {
+    border: 1px solid #CCC;
+}
+
+table.defaultTable tr:nth-child(even), table.detail-table tr:nth-child(even) {
+    background-color: #FAFBFF;
+}
+
+table.defaultTable tr:nth-child(odd), table.detail-table tr:nth-child(odd) {
+    background-color: #EEEFFF;
+}
+
+table.defaultTable th, table.detail-table th {
+  background-color: #88b;
+  color: #fff;
+}
+
+table.defaultTable th, table.defaultTable td, table.detail-table th, table.detail-table td {
+  padding: 5px 8px;
+}
+
+
+p.notice {
+    border: 1px solid rgb(255, 0, 0);
+    background-color: rgb(238, 238, 238);
+    color: rgb(0, 51, 102);
+    padding: 0.5em;
+    margin: 1em 2em 1em 1em;
+}
+</style></head><body bgcolor="#ffffff" text="#000000" link="#525D76" alink="#525D76" vlink="#525D76"><table border="0" width="100%" cellspacing="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img src="./images/tomcat.gif" align="right" alt="
       The Apache Tomcat Servlet/JSP Container
-    " border="0"></a></td><td><h1><font face="arial,helvetica,sanserif">Apache Tomcat 6.0</font></h1><font face="arial,helvetica,sanserif">Version 6.0.41, May 19 2014</font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img src="./images/asf-logo.gif" align="right" alt="Apache Logo" border="0"></a></td></tr></table><table border="0" width="100%" cellspacing="4"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td width="20%" valign="top" nowrap="nowrap" class="noPrint"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://wiki.apache.org/tomcat/FAQ">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptor-howto.html">16) MBean Descriptor</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR/Native</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li><li><a href="aio.html">25) Advanced IO</a></li><li><a href="extras.html">26) Additional Components</a></li><li><a href="maven-jars.html">27) Mavenized</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Configuration</a></li><li><a href="api/index.html">Javadocs</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="http://wiki.apache.org/tomcat/TomcatVersions">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="architecture/index.html">Architecture</a></li><li><a href="funcspecs/index.html">Functional Specs.</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td width="80%" valign="top" align="left" id="mainBody"><h1>Apache Tomcat 6.0</h1><h2>Default Servlet Reference</h2><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Table of Contents"><!--()--></a><a name="Table_of_Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>
+    " border="0"></a></td><td><h1><font face="arial,helvetica,sanserif">Apache Tomcat 7</font></h1><font face="arial,helvetica,sanserif">Version 7.0.77, Mar 28 2017</font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img src="./images/asf-logo.svg" align="right" alt="Apache Logo" border="0" style="width: 266px;height: 83px;"></a></td></tr></table><table border="0" width="100%" cellspacing="4"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr noshade size="1"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td width="20%" valign="top" nowrap class="noPrint"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://wiki.apache.org/tomcat/FAQ">FAQ</a></li><li><a href="#comments_section">User Comments</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL/TLS</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptors-howto.html">16) MBeans Descriptors</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR/Native</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li><li><a href="aio.html">25) Advanced IO</a></li><li><a href="extras.html">26) Additional Components</a></li><li><a href="maven-jars.html">27) Mavenized</a></li><li><a href="security-howto.html">28) Security Considerations</a></li><li><a href="windows-service-howto.html">29) Windows Service</a></li><li><a href="windows-auth-howto.html">30) Windows Authentication</a></li><li><a href="jdbc-pool.html">31) Tomcat's JDBC Pool</a></li><li><a href="web-socket-howto.html">32) WebSocket</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Configuration</a></li><li><a href="api/index.html">Tomcat Javadocs</a></li><li><a href="servletapi/index.html">Servlet Javadocs</a></li><li><a href="jspapi/index.html">JSP 2.2 Javadocs</a></li><li><a href="elapi/index.html">EL 2.2 Javadocs</a></li><li><a href="websocketapi/index.html">WebSocket 1.1 Javadocs</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="http://wiki.apache.org/tomcat/TomcatVersions">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="architecture/index.html">Architecture</a></li><li><a href="funcspecs/index.html">Functional Specs.</a></li><li><a href="tribes/introduction.html">Tribes</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td width="80%" valign="top" align="left" id="mainBody"><h1>Default Servlet Reference</h1><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Table of Contents"><!--()--></a><a name="Table_of_Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>
 <ul><li><a href="#what">What is the DefaultServlet</a></li><li><a href="#where">Where is it declared?</a></li><li><a href="#change">What can I change?</a></li><li><a href="#dir">How do I customize directory listings?</a></li><li><a href="#secure">How do I secure directory listings?</a></li></ul>
 </blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="what"><strong>What is the DefaultServlet</strong></a></font></td></tr><tr><td><blockquote>
+<p>
 The default servlet is the servlet which serves static resources as well
 as serves the directory listings (if directory listings are enabled).
-
+</p>
 </blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="where"><strong>Where is it declared?</strong></a></font></td></tr><tr><td><blockquote>
+<p>
 It is declared globally in <i>$CATALINA_BASE/conf/web.xml</i>.
 By default here is it's declaration:
-<div align="left"><table cellspacing="4" cellpadding="0" border="0"><tr><td bgcolor="#023264" width="1" height="1"><img src="./images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="./images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="./images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1"><img src="./images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#ffffff" height="1"><pre>
-    &lt;servlet&gt;
+</p>
+<div class="codeBox"><pre><code>    &lt;servlet&gt;
         &lt;servlet-name&gt;default&lt;/servlet-name&gt;
         &lt;servlet-class&gt;
           org.apache.catalina.servlets.DefaultServlet
@@ -24,7 +101,7 @@
         &lt;/init-param&gt;
         &lt;init-param&gt;
             &lt;param-name&gt;listings&lt;/param-name&gt;
-            &lt;param-value&gt;true&lt;/param-value&gt;
+            &lt;param-value&gt;false&lt;/param-value&gt;
         &lt;/init-param&gt;
         &lt;load-on-startup&gt;1&lt;/load-on-startup&gt;
     &lt;/servlet&gt;
@@ -34,49 +111,34 @@
     &lt;servlet-mapping&gt;
         &lt;servlet-name&gt;default&lt;/servlet-name&gt;
         &lt;url-pattern&gt;/&lt;/url-pattern&gt;
-    &lt;/servlet-mapping&gt;
-
-</pre></td><td bgcolor="#023264" width="1"><img src="./images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1" height="1"><img src="./images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="./images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="./images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr></table></div>
+    &lt;/servlet-mapping&gt;</code></pre></div>
 
 So by default, the default servlet is loaded at webapp startup and
-directory listings are enabled and debugging is turned off.
+directory listings are disabled and debugging is turned off.
 </blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="change"><strong>What can I change?</strong></a></font></td></tr><tr><td><blockquote>
-The DefaultServlet allows the following initParamters:
+<p>
+  The DefaultServlet allows the following initParamters:
+</p>
 
-<table border="1">
-  <tr>
-    <th valign="top">debug</th>
-    <td valign="top">
+<table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Property</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code class="propertyName">debug</code></td><td align="left" valign="center">
         Debugging level. It is not very useful unless you are a tomcat
         developer. As
-        of this writing, useful values are 0, 1, 11, 1000.
-    </td>
-  </tr>
-  <tr>
-    <th valign="top">listings</th>
-    <td valign="top">
+        of this writing, useful values are 0, 1, 11, 1000. [0]
+  </td></tr><tr><td align="left" valign="center"><code class="propertyName">listings</code></td><td align="left" valign="center">
         If no welcome file is present, can a directory listing be
         shown?
-        value may be <b>true</b> or <b>false</b>
+        value may be <b>true</b> or <b>false</b> [false]
         <br>
         Welcome files are part of the servlet api.
         <br>
         <b>WARNING:</b> Listings of directories containing many entries are
         expensive. Multiple requests for large directory listings can consume
         significant proportions of server resources.
-    </td>
-  </tr>
-  <tr>
-    <th valign="top">readmeFile</th>
-    <td valign="top">
+  </td></tr><tr><td align="left" valign="center"><code class="propertyName">readmeFile</code></td><td align="left" valign="center">
         If a directory listing is presented, a readme file may also
         be presented with the listing. This file is inserted as is
-        so it may contain HTML. default value is null
-    </td>
-  </tr>
-  <tr>
-    <th valign="top">globalXsltFile</th>
-    <td valign="top">
+        so it may contain HTML.
+  </td></tr><tr><td align="left" valign="center"><code class="propertyName">globalXsltFile</code></td><td align="left" valign="center">
         If you wish to customize your directory listing, you
         can use an XSL transformation. This value is a relative file name (to
         either $CATALINA_BASE/conf/ or $CATALINA_HOME/conf/) which will be used
@@ -84,11 +146,7 @@
         per directory. See <strong>contextXsltFile</strong> and
         <strong>localXsltFile</strong> below. The format of the xml is shown
         below.
-    </td>
-  </tr>
-  <tr>
-    <th valign="top">contextXsltFile</th>
-    <td valign="top">
+  </td></tr><tr><td align="left" valign="center"><code class="propertyName">contextXsltFile</code></td><td align="left" valign="center">
         You may also customize your directory listing by context by
         configuring <code>contextXsltFile</code>. This must be a context
         relative path (e.g.: <code>/path/to/context.xslt</code>) to a file with
@@ -97,11 +155,7 @@
         not exist, then <code>globalXsltFile</code> will be used. If
         <code>globalXsltFile</code> does not exist, then the default
         directory listing will be shown.
-    </td>
-  </tr>
-  <tr>
-    <th valign="top">localXsltFile</th>
-    <td valign="top">
+  </td></tr><tr><td align="left" valign="center"><code class="propertyName">localXsltFile</code></td><td align="left" valign="center">
         You may also customize your directory listing by directory by
         configuring <code>localXsltFile</code>. This must be a file in the
         directory where the listing will take place to with a
@@ -113,53 +167,29 @@
         <code>globalXsltFile</code> will be used. If
         <code>globalXsltFile</code> does not exist, then the default
         directory listing will be shown.
-    </td>
-  </tr>
-  <tr>
-    <th valign="top">input</th>
-    <td valign="top">
+  </td></tr><tr><td align="left" valign="center"><code class="propertyName">input</code></td><td align="left" valign="center">
         Input buffer size (in bytes) when reading
         resources to be served.  [2048]
-    </td>
-  </tr>
-  <tr>
-    <th valign="top">output</th>
-    <td valign="top">
+  </td></tr><tr><td align="left" valign="center"><code class="propertyName">output</code></td><td align="left" valign="center">
         Output buffer size (in bytes) when writing
         resources to be served.  [2048]
-    </td>
-  </tr>
-  <tr>
-    <th valign="top">readonly</th>
-    <td valign="top">
+  </td></tr><tr><td align="left" valign="center"><code class="propertyName">readonly</code></td><td align="left" valign="center">
         Is this context "read only", so HTTP commands like PUT and
         DELETE are rejected?  [true]
-    </td>
-  </tr>
-  <tr>
-    <th valign="top">fileEncoding</th>
-    <td valign="top">
+  </td></tr><tr><td align="left" valign="center"><code class="propertyName">fileEncoding</code></td><td align="left" valign="center">
         File encoding to be used when reading static resources.
         [platform default]
-    </td>
-  </tr>
-  <tr>
-    <th valign="top">sendfileSize</th>
-    <td valign="top">
-        If the connector used supports sendfile, this represents the minimal 
-        file size in KB for which sendfile will be used. Use a negative value 
+  </td></tr><tr><td align="left" valign="center"><code class="propertyName">sendfileSize</code></td><td align="left" valign="center">
+        If the connector used supports sendfile, this represents the minimal
+        file size in KB for which sendfile will be used. Use a negative value
         to always disable sendfile. [48]
-    </td>
-  </tr>
-  <tr>
-    <th valign="top">useAcceptRanges</th>
-    <td valign="top">
+  </td></tr><tr><td align="left" valign="center"><code class="propertyName">useAcceptRanges</code></td><td align="left" valign="center">
         If true, the Accept-Ranges header will be set when appropriate for the
         response. [true]
-    </td>
-  </tr>
-
-</table>
+  </td></tr><tr><td align="left" valign="center"><code class="propertyName">showServerInfo</code></td><td align="left" valign="center">
+        Should server information be presented in the response sent to clients
+        when directory listing is enabled. [true]
+  </td></tr></table>
 </blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="dir"><strong>How do I customize directory listings?</strong></a></font></td></tr><tr><td><blockquote>
 <p>You can override DefaultServlet with you own implementation and use that
 in your web.xml declaration. If you
@@ -179,8 +209,8 @@
 
 <p>
 Format:
-<div align="left"><table cellspacing="4" cellpadding="0" border="0"><tr><td bgcolor="#023264" width="1" height="1"><img src="./images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="./images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="./images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1"><img src="./images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#ffffff" height="1"><pre>
-    &lt;listing&gt;
+</p>
+<div class="codeBox"><pre><code>    &lt;listing&gt;
      &lt;entries&gt;
       &lt;entry type='file|dir' urlPath='aPath' size='###' date='gmt date'&gt;
         fileName1
@@ -191,21 +221,23 @@
       ...
      &lt;/entries&gt;
      &lt;readme&gt;&lt;/readme&gt;
-    &lt;/listing&gt;
-</pre></td><td bgcolor="#023264" width="1"><img src="./images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1" height="1"><img src="./images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="./images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="./images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr></table></div>
+    &lt;/listing&gt;</code></pre></div>
 <ul>
   <li>size will be missing if <code>type='dir'</code></li>
   <li>Readme is a CDATA entry</li>
 </ul>
+
+<p>
+  The following is a sample xsl file which mimics the default tomcat behavior:
 </p>
-The following is a sample xsl file which mimics the default tomcat behavior:
-<div align="left"><table cellspacing="4" cellpadding="0" border="0"><tr><td bgcolor="#023264" width="1" height="1"><img src="./images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="./images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="./images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1"><img src="./images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#ffffff" height="1"><pre>
-&lt;?xml version="1.0"?&gt;
+<div class="codeBox"><pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
 
 &lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  version="1.0"&gt;
+  version="3.0"&gt;
 
-  &lt;xsl:output method="xhtml" encoding="iso-8859-1" indent="no"/&gt;
+  &lt;xsl:output method="html" html-version="5.0"
+    encoding="UTF-8" indent="no"
+    doctype-system="about:legacy-compat"/&gt;
 
   &lt;xsl:template match="listing"&gt;
    &lt;html&gt;
@@ -215,33 +247,31 @@
         &lt;xsl:value-of select="@directory"/&gt;
       &lt;/title&gt;
       &lt;style&gt;
-        h1{color : white;background-color : #0086b2;}
-        h3{color : white;background-color : #0086b2;}
-        body{font-family : sans-serif,Arial,Tahoma;
+        h1 {color : white;background-color : #0086b2;}
+        h3 {color : white;background-color : #0086b2;}
+        body {font-family : sans-serif,Arial,Tahoma;
              color : black;background-color : white;}
-        b{color : white;background-color : #0086b2;}
-        a{color : black;} HR{color : #0086b2;}
+        b {color : white;background-color : #0086b2;}
+        a {color : black;} HR{color : #0086b2;}
+        table td { padding: 5px; }
       &lt;/style&gt;
     &lt;/head&gt;
     &lt;body&gt;
       &lt;h1&gt;Sample Directory Listing For
             &lt;xsl:value-of select="@directory"/&gt;
       &lt;/h1&gt;
-      &lt;hr size="1" /&gt;
-      &lt;table cellspacing="0"
-                  width="100%"
-            cellpadding="5"
-                  align="center"&gt;
+      &lt;hr style="height: 1px;" /&gt;
+      &lt;table style="width: 100%;"&gt;
         &lt;tr&gt;
-          &lt;th align="left"&gt;Filename&lt;/th&gt;
-          &lt;th align="center"&gt;Size&lt;/th&gt;
-          &lt;th align="right"&gt;Last Modified&lt;/th&gt;
+          &lt;th style="text-align: left;"&gt;Filename&lt;/th&gt;
+          &lt;th style="text-align: center;"&gt;Size&lt;/th&gt;
+          &lt;th style="text-align: right;"&gt;Last Modified&lt;/th&gt;
         &lt;/tr&gt;
         &lt;xsl:apply-templates select="entries"/&gt;
         &lt;/table&gt;
       &lt;xsl:apply-templates select="readme"/&gt;
-      &lt;hr size="1" /&gt;
-      &lt;h3&gt;Apache Tomcat/6.0&lt;/h3&gt;
+      &lt;hr style="height: 1px;" /&gt;
+      &lt;h3&gt;Apache Tomcat/8.0&lt;/h3&gt;
     &lt;/body&gt;
    &lt;/html&gt;
   &lt;/xsl:template&gt;
@@ -252,34 +282,58 @@
   &lt;/xsl:template&gt;
 
   &lt;xsl:template match="readme"&gt;
-    &lt;hr size="1" /&gt;
+    &lt;hr style="height: 1px;" /&gt;
     &lt;pre&gt;&lt;xsl:apply-templates/&gt;&lt;/pre&gt;
   &lt;/xsl:template&gt;
 
   &lt;xsl:template match="entry"&gt;
     &lt;tr&gt;
-      &lt;td align="left"&gt;
+      &lt;td style="text-align: left;"&gt;
         &lt;xsl:variable name="urlPath" select="@urlPath"/&gt;
         &lt;a href="{$urlPath}"&gt;
-          &lt;tt&gt;&lt;xsl:apply-templates/&gt;&lt;/tt&gt;
+          &lt;pre&gt;&lt;xsl:apply-templates/&gt;&lt;/pre&gt;
         &lt;/a&gt;
       &lt;/td&gt;
-      &lt;td align="right"&gt;
-        &lt;tt&gt;&lt;xsl:value-of select="@size"/&gt;&lt;/tt&gt;
+      &lt;td style="text-align: right;"&gt;
+        &lt;pre&gt;&lt;xsl:value-of select="@size"/&gt;&lt;/pre&gt;
       &lt;/td&gt;
-      &lt;td align="right"&gt;
-        &lt;tt&gt;&lt;xsl:value-of select="@date"/&gt;&lt;/tt&gt;
+      &lt;td style="text-align: right;"&gt;
+        &lt;pre&gt;&lt;xsl:value-of select="@date"/&gt;&lt;/pre&gt;
       &lt;/td&gt;
     &lt;/tr&gt;
   &lt;/xsl:template&gt;
 
-&lt;/xsl:stylesheet&gt;
-</pre></td><td bgcolor="#023264" width="1"><img src="./images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1" height="1"><img src="./images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="./images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="./images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr></table></div>
+&lt;/xsl:stylesheet&gt;</code></pre></div>
 
 </blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="secure"><strong>How do I secure directory listings?</strong></a></font></td></tr><tr><td><blockquote>
 Use web.xml in each individual webapp. See the security section of the
 Servlet specification.
 
-</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font color="#525D76" size="-1"><em>
-        Copyright &copy; 1999-2014, Apache Software Foundation
+</blockquote></td></tr></table></td></tr><tr class="noPrint"><td width="20%" valign="top" nowrap class="noPrint"></td><td width="80%" valign="top" align="left"><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="comments_section" id="comments_section"><strong>Comments</strong></a></font></td></tr><tr><td><blockquote><p class="notice"><strong>Notice: </strong>This comments section collects your suggestions
+              on improving documentation for Apache Tomcat.<br><br>
+              If you have trouble and need help, read
+              <a href="http://tomcat.apache.org/findhelp.html">Find Help</a> page
+              and ask your question on the tomcat-users
+              <a href="http://tomcat.apache.org/lists.html">mailing list</a>.
+              Do not ask such questions here. This is not a Q&amp;A section.<br><br>
+              The Apache Comments System is explained <a href="./comments.html">here</a>.
+              Comments may be removed by our moderators if they are either
+              implemented or considered invalid/off-topic.</p><script type="text/javascript"><!--//--><![CDATA[//><!--
+              var comments_shortname = 'tomcat';
+              var comments_identifier = 'http://tomcat.apache.org/tomcat-7.0-doc/default-servlet.html';
+              (function(w, d) {
+                  if (w.location.hostname.toLowerCase() == "tomcat.apache.org") {
+                      d.write('<div id="comments_thread"><\/div>');
+                      var s = d.createElement('script');
+                      s.type = 'text/javascript';
+                      s.async = true;
+                      s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
+                      (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
+                  }
+                  else {
+                      d.write('<div id="comments_thread"><strong>Comments are disabled for this page at the moment.<\/strong><\/div>');
+                  }
+              })(window, document);
+              //--><!]]></script></blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr noshade size="1"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font color="#525D76" size="-1"><em>
+        Copyright &copy; 1999-2017, Apache Software Foundation
         </em></font></div></td></tr></table></body></html>
\ No newline at end of file
