升级Tomcat版本 apache-tomcat-7.0.77
diff --git a/tomcat-uidm/webapps/docs/config/host.html b/tomcat-uidm/webapps/docs/config/host.html
index cc66f03..446da15 100644
--- a/tomcat-uidm/webapps/docs/config/host.html
+++ b/tomcat-uidm/webapps/docs/config/host.html
@@ -1,24 +1,99 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference (6.0.41) - The Host Container</title><meta name="author" content="Craig R. McClanahan"><meta name="author" content="Remy Maucherat"><meta name="author" content="Yoav Shapira"><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 Configuration Reference (7.0.77) - The Host Container</title><meta name="author" content="Craig R. McClanahan"><meta name="author" content="Remy Maucherat"><meta name="author" content="Yoav Shapira"><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="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Executors</strong></p><ul><li><a href="executor.html">Executor</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li><li><a href="cluster.html">Cluster</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="listeners.html">Listeners</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul><p><strong>Cluster Elements</strong></p><ul><li><a href="cluster.html">Cluster</a></li><li><a href="cluster-manager.html">Manager</a></li><li><a href="cluster-channel.html">Channel</a></li><li><a href="cluster-membership.html">Channel/Membership</a></li><li><a href="cluster-sender.html">Channel/Sender</a></li><li><a href="cluster-receiver.html">Channel/Receiver</a></li><li><a href="cluster-interceptor.html">Channel/Interceptor</a></li><li><a href="cluster-valve.html">Valve</a></li><li><a href="cluster-deployer.html">Deployer</a></li><li><a href="cluster-listener.html">ClusterListener</a></li></ul><p><strong>web.xml</strong></p><ul><li><a href="filter.html">Filter</a></li></ul><p><strong>Other</strong></p><ul><li><a href="systemprops.html">System properties</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td width="80%" valign="top" align="left" id="mainBody"><h1>Apache Tomcat Configuration Reference</h1><h2>The Host Container</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="index.html">Config Ref. 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>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Executors</strong></p><ul><li><a href="executor.html">Executor</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li><li><a href="cluster.html">Cluster</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="jar-scanner.html">JarScanner</a></li><li><a href="listeners.html">Listeners</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="sessionidgenerator.html">SessionIdGenerator</a></li><li><a href="valve.html">Valve</a></li></ul><p><strong>Cluster Elements</strong></p><ul><li><a href="cluster.html">Cluster</a></li><li><a href="cluster-manager.html">Manager</a></li><li><a href="cluster-channel.html">Channel</a></li><li><a href="cluster-membership.html">Channel/Membership</a></li><li><a href="cluster-sender.html">Channel/Sender</a></li><li><a href="cluster-receiver.html">Channel/Receiver</a></li><li><a href="cluster-interceptor.html">Channel/Interceptor</a></li><li><a href="cluster-valve.html">Valve</a></li><li><a href="cluster-deployer.html">Deployer</a></li><li><a href="cluster-listener.html">ClusterListener</a></li></ul><p><strong>web.xml</strong></p><ul><li><a href="filter.html">Filter</a></li></ul><p><strong>Other</strong></p><ul><li><a href="systemprops.html">System properties</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td width="80%" valign="top" align="left" id="mainBody"><h1>The Host Container</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="#Introduction">Introduction</a></li><li><a href="#Attributes">Attributes</a><ol><li><a href="#Common_Attributes">Common Attributes</a></li><li><a href="#Standard_Implementation">Standard Implementation</a></li></ol></li><li><a href="#Nested_Components">Nested Components</a></li><li><a href="#Special_Features">Special Features</a><ol><li><a href="#Logging">Logging</a></li><li><a href="#Access_Logs">Access Logs</a></li><li><a href="#Automatic_Application_Deployment">Automatic Application Deployment</a></li><li><a href="#Host_Name_Aliases">Host Name Aliases</a></li><li><a href="#Lifecycle_Listeners">Lifecycle Listeners</a></li><li><a href="#Request_Filters">Request Filters</a></li><li><a href="#Single_Sign_On">Single Sign On</a></li><li><a href="#User_Web_Applications">User Web Applications</a></li></ol></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="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
<p>The <strong>Host</strong> element represents a <em>virtual host</em>,
which is an association of a network name for a server (such as
- "www.mycompany.com" with the particular server on which Catalina is
- running. In order to be effective, this name must be registered in the
- <em>Domain Name Service</em> (DNS) server that manages the Internet
- domain you belong to - contact your Network Administrator for more
- information.</p>
+ "www.mycompany.com") with the particular server on which Tomcat is running.
+ For clients to be able to connect to a Tomcat server using its network name,
+ this name must be registered in the <em>Domain Name Service</em> (DNS) server
+ that manages the Internet domain you belong to - contact your Network
+ Administrator for more information.</p>
<p>In many cases, System Administrators wish to associate more than
one network name (such as <code>www.mycompany.com</code> and
<code>company.com</code>) with the same virtual host and applications.
- This can be accomplished using the <a href="#Host Name Aliases">Host
+ This can be accomplished using the <a href="#Host_Name_Aliases">Host
Name Aliases</a> feature discussed below.</p>
<p>One or more <strong>Host</strong> elements are nested inside an
@@ -28,13 +103,20 @@
associated with each Engine MUST have a name matching the
<code>defaultHost</code> attribute of that Engine.</p>
- <blockquote><em>
- <p>The description below uses the variable name $CATALINA_BASE to refer the
+ <p>Clients normally use host names to identify the server they wish to connect
+ to. This host name is also included in the HTTP request headers. Tomcat
+ extracts the host name from the HTTP headers and looks for a
+ <strong>Host</strong> with a matching name. If no match is found, the request
+ is routed to the default host. The name of the default host does not have to
+ match a DNS name (although it can) since any request where the DNS name does
+ not match the name of a <strong>Host</strong> element will be routed to the
+ default host.</p>
+
+ <p><em>The description below uses the variable name $CATALINA_BASE to refer the
base directory against which most relative paths are resolved. If you have
not configured Tomcat for multiple instances by setting a CATALINA_BASE
directory, then $CATALINA_BASE will be set to the value of $CATALINA_HOME,
- the directory into which you have installed Tomcat.</p>
- </em></blockquote>
+ the directory into which you have installed Tomcat.</em></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="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
@@ -43,7 +125,7 @@
<p>All implementations of <strong>Host</strong>
support the following attributes:</p>
- <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><strong><code>appBase</code></strong></td><td align="left" valign="center">
+ <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><strong><code class="attributeName">appBase</code></strong></td><td align="left" valign="center">
<p>The <em>Application Base</em> directory for this virtual host.
This is the pathname of a directory that may contain web applications
to be deployed on this virtual host. You may specify an
@@ -53,36 +135,51 @@
Deployment</a> for more information on automatic recognition and
deployment of web applications. If not specified, the default of
<code>webapps</code> will be used.</p>
- </td></tr><tr><td align="left" valign="center"><code>autoDeploy</code></td><td align="left" valign="center">
+ </td></tr><tr><td align="left" valign="center"><code class="attributeName">xmlBase</code></td><td align="left" valign="center">
+ <p>The <em>XML Base</em> directory for this virtual host.
+ This is the pathname of a directory that may contain context XML
+ descriptors to be deployed on this virtual host. You may specify an
+ absolute pathname for this directory, or a pathname that is relative
+ to the <code>$CATALINA_BASE</code> directory. See
+ <a href="#Automatic_Application_Deployment">Automatic Application
+ Deployment</a> for more information on automatic recognition and
+ deployment of web applications. If not specified the default of
+ <code>conf/<engine_name>/<host_name></code> will be used.</p>
+ </td></tr><tr><td align="left" valign="center"><code class="attributeName">createDirs</code></td><td align="left" valign="center">
+ <p>If set to true, Tomcat will attempt to create the directories defined
+ by the attributes <code>appBase</code> and <code>xmlBase</code> during
+ the startup phase. The default value is <code>true</code>. If set to
+ true, and directory creation fails, an error message will be printed out
+ but will not halt the startup sequence.</p>
+ </td></tr><tr><td align="left" valign="center"><code class="attributeName">autoDeploy</code></td><td align="left" valign="center">
<p>This flag value indicates if Tomcat should check periodically for new
or updated web applications while Tomcat is running. If true, Tomcat
- periodically checks the <code>appBase</code> and
- <code>$CATALINA_BASE/conf/[engine_name]/[host_name]</code>
+ periodically checks the <code>appBase</code> and <code>xmlBase</code>
directories and deploys any new web applications or context XML
descriptors found. Updated web applications or context XML descriptors
will trigger a reload of the web application. The flag's value defaults
to true. See
<a href="#Automatic_Application_Deployment">Automatic Application
Deployment</a> for more information.</p>
- </td></tr><tr><td align="left" valign="center"><code>backgroundProcessorDelay</code></td><td align="left" valign="center">
- <p>This value represents the delay in seconds between the
- invocation of the backgroundProcess method on this host and
- its child containers, including all contexts.
- Child containers will not be invoked if their delay value is not
- negative (which would mean they are using their own processing
- thread). Setting this to a positive value will cause
- a thread to be spawn. After waiting the specified amount of time,
- the thread will invoke the backgroundProcess method on this host
+ </td></tr><tr><td align="left" valign="center"><code class="attributeName">backgroundProcessorDelay</code></td><td align="left" valign="center">
+ <p>This value represents the delay in seconds between the
+ invocation of the backgroundProcess method on this host and
+ its child containers, including all contexts.
+ Child containers will not be invoked if their delay value is not
+ negative (which would mean they are using their own processing
+ thread). Setting this to a positive value will cause
+ a thread to be spawn. After waiting the specified amount of time,
+ the thread will invoke the backgroundProcess method on this host
and all its child containers. A host will use background processing to
- perform live web application deployment related tasks. If not
- specified, the default value for this attribute is -1, which means
- the host will rely on the background processing thread of its parent
+ perform live web application deployment related tasks. If not
+ specified, the default value for this attribute is -1, which means
+ the host will rely on the background processing thread of its parent
engine.</p>
- </td></tr><tr><td align="left" valign="center"><code>className</code></td><td align="left" valign="center">
+ </td></tr><tr><td align="left" valign="center"><code class="attributeName">className</code></td><td align="left" valign="center">
<p>Java class name of the implementation to use. This class must
implement the <code>org.apache.catalina.Host</code> interface.
If not specified, the standard value (defined below) will be used.</p>
- </td></tr><tr><td align="left" valign="center"><code>deployIgnore</code></td><td align="left" valign="center">
+ </td></tr><tr><td align="left" valign="center"><code class="attributeName">deployIgnore</code></td><td align="left" valign="center">
<p>A regular expression defining paths to ignore when
<code>autoDeploy</code> and <code>deployOnStartup</code> are set. This
allows you to keep your configuration in a version control system, for
@@ -96,21 +193,45 @@
"foo", you could use <code>.*foo.*</code>.</p>
<p>See <a href="#Automatic_Application_Deployment">Automatic Application
Deployment</a> for more information.</p>
- </td></tr><tr><td align="left" valign="center"><code>deployOnStartup</code></td><td align="left" valign="center">
+ </td></tr><tr><td align="left" valign="center"><code class="attributeName">deployOnStartup</code></td><td align="left" valign="center">
<p>This flag value indicates if web applications from this host should
be automatically deployed when Tomcat starts. The flag's value defaults
to true. See
<a href="#Automatic_Application_Deployment">Automatic Application
Deployment</a> for more information.</p>
- </td></tr><tr><td align="left" valign="center"><strong><code>name</code></strong></td><td align="left" valign="center">
- <p>Network name of this virtual host, as registered in your
+ </td></tr><tr><td align="left" valign="center"><code class="attributeName">failCtxIfServletStartFails</code></td><td align="left" valign="center">
+ <p>Set to <code>true</code> to have each child contexts fail its startup
+ if any of its servlet that has load-on-startup >=0 fails its own
+ startup.</p>
+ <p>Each child context may override this attribute.</p>
+ <p>If not specified, the default value of <code>false</code> is
+ used.</p>
+ </td></tr><tr><td align="left" valign="center"><strong><code class="attributeName">name</code></strong></td><td align="left" valign="center">
+ <p>Usually the network name of this virtual host, as registered in your
<em>Domain Name Service</em> server. Regardless of the case used to
- specify the hostname, Tomcat will convert it to lower case internally.
+ specify the host name, Tomcat will convert it to lower case internally.
One of the Hosts nested within an <a href="engine.html">Engine</a> MUST
have a name that matches the <code>defaultHost</code> setting for that
- Engine. See <a href="#Host Name Aliases">Host Name Aliases</a> for
+ Engine. See <a href="#Host_Name_Aliases">Host Name Aliases</a> for
information on how to assign more than one network name to the same
virtual host.</p>
+ </td></tr><tr><td align="left" valign="center"><code class="attributeName">startStopThreads</code></td><td align="left" valign="center">
+ <p>The number of threads this <strong>Host</strong> will use to start
+ child <a href="context.html">Context</a> elements in parallel. The same
+ thread pool will be used to deploy new
+ <a href="context.html">Context</a>s if automatic deployment is being
+ used. The special value of 0 will result in the value of
+ <code>Runtime.getRuntime().availableProcessors()</code> being used.
+ Negative values will result in
+ <code>Runtime.getRuntime().availableProcessors() + value</code> being
+ used unless this is less than 1 in which case 1 thread will be used. If
+ not specified, the default value of 1 will be used.</p>
+ </td></tr><tr><td align="left" valign="center"><code class="attributeName">undeployOldVersions</code></td><td align="left" valign="center">
+ <p>This flag determines if Tomcat, as part of the auto deployment
+ process, will check for old, unused versions of web applications
+ deployed using parallel deployment and, if any are found, remove them.
+ This flag only applies if <code>autoDeploy</code> is true. If not
+ specified the default value of false will be used.</p>
</td></tr></table>
</blockquote></td></tr></table>
@@ -123,17 +244,32 @@
It supports the following additional attributes (in addition to the
common attributes listed above):</p>
- <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>deployXML</code></td><td align="left" valign="center">
+ <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code class="attributeName">copyXML</code></td><td align="left" valign="center">
+ <p>Set to <code>true</code> if you want a context XML descriptor
+ embedded inside the application (located at
+ <code>/META-INF/context.xml</code>) to be copied to <code>xmlBase</code>
+ when the application is deployed. On subsequent starts, the copied
+ context XML descriptor will be used in preference to any context XML
+ descriptor embedded inside the application even if the descriptor
+ embedded inside the application is more recent. The flag's value
+ defaults to <code>false</code>. Note if <strong>deployXML</strong>
+ is <code>false</code>, this attribute will have no effect.</p>
+ </td></tr><tr><td align="left" valign="center"><code class="attributeName">deployXML</code></td><td align="left" valign="center">
<p>Set to <code>false</code> if you want to disable parsing the context
XML descriptor embedded inside the application (located at
<code>/META-INF/context.xml</code>). Security conscious environments
should set this to <code>false</code> to prevent applications from
interacting with the container's configuration. The administrator will
then be responsible for providing an external context configuration
- file, and putting it in
- <code>$CATALINA_BASE/conf/[engine_name]/[host_name]</code>. The flag's
- value defaults to <code>true</code>.</p>
- </td></tr><tr><td align="left" valign="center"><code>errorReportValveClass</code></td><td align="left" valign="center">
+ file, and putting it in the location defined by the
+ <strong>xmlBase</strong> attribute. If this flag is <code>false</code>,
+ a descriptor is located at <code>/META-INF/context.xml</code> and no
+ descriptor is present in <strong>xmlBase</strong> then the context will
+ fail to start in case the descriptor contains necessary configuration
+ for secure deployment (such as a RemoteAddrValve) which should not be
+ ignored. The flag's value defaults to <code>true</code> unless a
+ security manager is enabled when the default is <code>false</code>.</p>
+ </td></tr><tr><td align="left" valign="center"><code class="attributeName">errorReportValveClass</code></td><td align="left" valign="center">
<p>Java class name of the error reporting valve which will be used
by this Host. The responsibility of this valve is to output error
reports. Setting this property allows to customize the look of the
@@ -142,7 +278,7 @@
<code>org.apache.catalina.Valve</code> interface. If none is specified,
the value <code>org.apache.catalina.valves.ErrorReportValve</code>
will be used by default.</p>
- </td></tr><tr><td align="left" valign="center"><code>unpackWARs</code></td><td align="left" valign="center">
+ </td></tr><tr><td align="left" valign="center"><code class="attributeName">unpackWARs</code></td><td align="left" valign="center">
<p>Set to <code>true</code> if you want web applications that are
placed in the <code>appBase</code> directory as web application
archive (WAR) files to be unpacked into a corresponding disk directory
@@ -151,7 +287,7 @@
<strong>appBase</strong> will not be expanded. See
<a href="#Automatic_Application_Deployment">Automatic Application
Deployment</a> for more information.</p>
- </td></tr><tr><td align="left" valign="center"><code>workDir</code></td><td align="left" valign="center">
+ </td></tr><tr><td align="left" valign="center"><code class="attributeName">workDir</code></td><td align="left" valign="center">
<p>Pathname to a scratch directory to be used by applications for
this Host. Each application will have its own sub directory with
temporary read-write use. Configuring a Context workDir will override
@@ -189,7 +325,7 @@
<table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Logging"><strong>Logging</strong></a></font></td></tr><tr><td><blockquote>
- <p>A host is associated with the
+ <p>A host is associated with the
<code>org.apache.catalina.core.ContainerBase.[engine_name].[host_name]</code>
log category. Note that the brackets are part of the name,
don't omit them.</p>
@@ -211,17 +347,15 @@
<a href="host.html">Host</a>, or <a href="context.html">Context</a>
by nesting a <a href="valve.html">Valve</a> element like this:</p>
-<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>
-<Host name="localhost" ...>
+<div class="codeBox"><pre><code><Host name="localhost" ...>
...
<Valve className="org.apache.catalina.valves.AccessLogValve"
prefix="localhost_access_log." suffix=".txt"
pattern="common"/>
...
-</Host>
-</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>
+</Host></code></pre></div>
- <p>See <a href="valve.html#Access Log Valve">Access Log Valve</a>
+ <p>See <a href="valve.html#Access_Logging">Access Logging Valves</a>
for more information on the configuration attributes that are
supported.</p>
@@ -230,116 +364,59 @@
<table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Automatic Application Deployment"><!--()--></a><a name="Automatic_Application_Deployment"><strong>Automatic Application Deployment</strong></a></font></td></tr><tr><td><blockquote>
- <p>If you are using the standard <strong>Host</strong> implementation,
- the following actions take place automatically when Catalina is first
- started, if the <code>deployOnStartup</code> property is set to
- <code>true</code> (which is the default value):</p>
- <ul>
- <li>Any XML file in
- <code>$CATALINA_BASE/conf/[engine_name]/[host_name]</code> is
- assumed to be a context XML descriptor containing a
- <a href="context.html">Context</a> element (and its associated
- sub-elements) for a single web application. The web applications
- associated with each of these context XML descriptor files will be
- deployed first.<br>
- The <code>docBase</code> attribute of this <code><Context></code>
- element must only be set if the docBase is outside the Host's
- <code>appBase</code>. For web applications located inside the Host's
- <code>appBase</code>, the <code>docBase</code> will be the name of the
- XML file with ".xml" replaced with ".war" for a web application archive
- or the name of the XML file with ".xml" removed for a directory.<br>
- The <code>path</code> attribute must not be set. The context path used
- will be a slash character ("/") followed by the name of the XML file
- (less the .xml extension). Multi-level context paths may be defined
- using #, e.g. <code>foo#bar.xml</code> for a context path of
- <code>/foo/bar</code>. The default web application that has a context
- path of <code>/</code> may be defined by using a file called
- <code>ROOT.xml</code>.</li>
- <li>Any web application archive file within the Host's <code>appBase</code>
- directory that has not already been deployed as a result of a context
- XML descriptor, does not have a corresponding directory of the same
- name (without the ".war" extension), and is not excluded by
- <code>deployIgnore</code> will be deployed next. The context path
- used will be a slash character ("/") followed by the web application
- archive name less the ".war" extension. The one exception to this rule
- is that a web application archive named "ROOT.war" will be deployed with
- a context path of <code>/</code>. Multi-level contexts may be defined by
- using #, e.g. use a WAR named <code>foo#bar.war</code> for a context
- path of <code>/foo/bar</code>.<br>
- If the <code>unpackWARs</code> attribute is <code>true</code>, the web
- application archive file will be expanded to a directory of the same
- name (without the ".war" extension".<br>
- Note: If you re-deploy an updated WAR file while Tomcat is stopped, be
- sure to delete the associated expanded directory before restarting
- Tomcat, so that the updated WAR file will be re-expanded when Tomcat
- restarts.<br>
- Any web application archive file within the Hosts's <code>appBase</code>
- directory that does not have a corresponding context XML descriptor
- (with a ".xml" extension rather than a ".war" extension) in
- <code>$CATALINA_BASE/conf/[engine_name]/[host_name]</code> will be
- scanned to see if it contains a context XML descriptor (located at
- <code>/META-INF/context.xml</code>) and if one is found the descriptor
- will be copied to the
- <code>$CATALINA_BASE/conf/[engine_name]/[host_name]</code> directory and
- renamed.
- </li>
- <li>Finally, any sub-directory within the Host's <code>appBase</code> that
- has not already been deployed as a result of a context XML descriptor
- and is not excluded by <code>deployIgnore</code> will be deployed.
- The context path used will be a slash character ("/") followed by the
- directory name, unless the directory name is ROOT, in which case the
- context path will <code>/</code>. Multi-level contexts may be defined by
- using #, e.g. use a directory named <code>foo#bar</code> for a context
- path of <code>/foo/bar</code>.<br>
- Any directory within the Hosts's <code>appBase</code> directory that
- does not have a corresponding context XML descriptor in
- <code>$CATALINA_BASE/conf/[engine_name]/[host_name]</code> will be
- scanned to see if it contains a context XML descriptor (located at
- <code>/META-INF/context.xml</code>) and if one is found the descriptor
- will be copied to
- <code>$CATALINA_BASE/conf/[engine_name]/[host_name]</code> and renamed.
- </li>
- </ul>
+ <p>If you are using the standard <strong>Host</strong> implementation with
+ default settings then applications in the <em>appBase</em> or with context
+ files in the <em>configBase</em> are automatically deployed when Tomcat
+ starts (the <code>deployOnStartup</code> property defaults to
+ <code>true</code>) and reloaded or redeployed (as appropriate) when a change
+ is detected while Tomcat is running (the <code>autoDeploy</code> attribute
+ also defaults to <code>true</code>).</p>
- <p>In addition to the automatic deployment that occurs at startup time,
- you can also request that new XML configuration files, WAR files, or
- sub-directories that are dropped in to the <code>appBase</code> (or
- <code>$CATALINA_BASE/conf/[engine_name]/[host_name]</code> in the case of
- an XML configuration file) directory while Tomcat is running will be
- automatically deployed, according to the rules described above. The
- auto deployer will also track web applications for the following changes:
- <ul>
- <li>An update to the WEB-INF/web.xml file will trigger a reload of the
- web application</li>
- <li>Deleting a WAR file will trigger an undeploy of the application with
- the removal of any associated expanded directory, context file and
- work directory. Any current user sessions will not be persisted.</li>
- <li>Deleting a directory will trigger an undeploy of the application
- with the removal of any associated context file and work directory.
- Any current user sessions will not be persisted. If there is an
- associated WAR file, it will not be deleted and the application will
- be redeployed from the WAR file the next time the auto deployer checks
- for changes.</li>
- <li>Deleting a context file will trigger an undeploy of the application
- with the removal of any associated work directory. Any current user
- sessions will not be persisted. If there is an associated WAR file
- and/or directory, they will not be deleted and the application will be
- redeployed from the WAR file (or from directory if there is no WAR
- file) the next time the auto deployer checks for changes.</li>
- <li>Updating a WAR file will trigger an undeploy of the application with
- the removal of any associated expanded directory, context file and
- work directory. Any current user sessions will not be persisted.</li>
- <li>Updating a directory (not the directory contents) will trigger an
- undeploy of the application with the removal of any associated context
- file and work directory. Any current user sessions will not be
- persisted. The application will be redeployed the next time the auto
- deployer checks for changes.</li>
- <li>Updating a context file will trigger an undeploy of the application
- with the removal of any associated work directory. Any current user
- sessions will not be persisted. The application will be redeployed the
- next time the auto deployer checks for changes.</li>
- </ul>
- </p>
+ <p><code>deployOnStartup</code> and <code>autoDeploy</code> trigger
+ execution of exactly the same code so the behaviour is very similar.
+ However, there is one key difference. When Tomcat starts it has no knowledge
+ of which files are the same, which have been changed and which are new. It
+ therefore treats all files as new. While Tomcat is running, it can
+ differentiate between unchanged, modified and new files. This leads to some
+ differences in behaviour between files being modified while Tomcat is
+ running and files being modified while Tomcat is stopped.</p>
+
+ <p>When you use automatic deployment, related files (a web application may
+ have a context.xml file, a WAR and a directory) that exist in the
+ <strong>Host</strong>'s <em>appBase</em> and/or <em>configBase</em>
+ must conform to the expected <a href="context.html#Naming">naming
+ convention</a>. In short, this means files for the same web application must
+ share the same <em>base name</em>.</p>
+
+ <p>The automatic deployment process identifies new and/or modified web
+ applications using the following search order:</p>
+
+ <ol>
+ <li>Web applications with a context.xml file located in the Host's
+ <em>configBase</em>.</li>
+ <li>Web applications with a WAR file located in the Host's
+ <em>appBase</em> that have not already been identified during the scan for
+ context.xml files.</li>
+ <li>Web applications with a directory located in the Host's
+ <em>appBase</em> that have not already been identified during the scans
+ for context.xml and/or WAR files.</li>
+ </ol>
+
+ <p>When <code>autoDeploy</code> is <code>true</code>, the automatic
+ deployment process will monitor the deployed web applications for changes.
+ Depending on exactly what changes, the web application will either be
+ re-deployed or reloaded. Re-deployment involves the creation of a new web
+ application and, if using the standard session manager, user sessions will
+ not be retained. Reloading uses the existing web application but re-parses
+ the web.xml and reloads any classes. If using the standard session manager,
+ user sessions will be persisted.</p>
+
+ <p>Users may add to the files that the automatic deployment process monitors
+ for reloading (i.e. any change to one of these files triggers a reload of
+ the web application) by adding a <em>WatchedResources</em> element to the
+ context.xml file. See the
+ <a href="context.html#Nested_Components">Context</a> documentation for
+ further details.</p>
<p>When using automatic deployment, the <code>docBase</code> defined by
an XML <a href="context.html">Context</a> file should be outside of the
@@ -348,12 +425,17 @@
be deployed twice. The <code>deployIgnore</code> attribute can be used
to avoid this situation.</p>
- <p>Finally, note that if you are defining contexts explicitly in server.xml,
- you should probably turn off automatic application deployment or specify
+ <p>Note that if you are defining contexts explicitly in server.xml, you
+ should probably turn off automatic application deployment or specify
<code>deployIgnore</code> carefully. Otherwise, the web applications
will each be deployed twice, and that may cause problems for the
applications.</p>
+ <p>There are many possible combinations of settings, new files, changed
+ files and deleted files. A separate page describes the
+ <a href="automatic-deployment.html">expected behaviour of the automatic
+ deployment process</a> in many of these scenarios.</p>
+
</blockquote></td></tr></table>
@@ -377,13 +459,11 @@
<p>This is accomplished by utilizing one or more <strong>Alias</strong>
elements nested inside your <strong>Host</strong> element. For
example:</p>
-<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>
-<Host name="www.mycompany.com" ...>
+<div class="codeBox"><pre><code><Host name="www.mycompany.com" ...>
...
<Alias>mycompany.com</Alias>
...
-</Host>
-</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>
+</Host></code></pre></div>
<p>In order for this strategy to be effective, all of the network names
involved must be registered in your DNS server to resolve to the
@@ -402,13 +482,11 @@
it will be notified about the occurrence of the corresponding
lifecycle events. Configuration of such a listener looks like this:</p>
-<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>
-<Host name="localhost" ...>
+<div class="codeBox"><pre><code><Host name="localhost" ...>
...
<Listener className="com.mycompany.mypackage.MyListener" ... >
...
-</Host>
-</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>
+</Host></code></pre></div>
<p>Note that a Listener can have any number of additional properties
that may be configured from this element. Attribute names are matched
@@ -424,25 +502,23 @@
incoming request directed to the surrounding
<a href="engine.html">Engine</a>, <a href="host.html">Host</a>, or
<a href="context.html">Context</a> element. The remote address or name
- will be checked against a configured list of "accept" and/or "deny"
+ will be checked against configured "accept" and/or "deny"
filters, which are defined using <code>java.util.regex</code> Regular
Expression syntax. Requests that come from locations that are
not accepted will be rejected with an HTTP "Forbidden" error.
Example filter declarations:</p>
-<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>
-<Host name="localhost" ...>
+<div class="codeBox"><pre><code><Host name="localhost" ...>
...
<Valve className="org.apache.catalina.valves.RemoteHostValve"
allow=".*\.mycompany\.com|www\.yourcompany\.com"/>
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
deny="192\.168\.1\.\d+"/>
...
-</Host>
-</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>
+</Host></code></pre></div>
- <p>See <a href="valve.html#Remote Address Filter">Remote Address Filter</a>
- and <a href="valve.html#Remote Host Filter">Remote Host Filter</a> for
+ <p>See <a href="valve.html#Remote_Address_Filter">Remote Address Filter</a>
+ and <a href="valve.html#Remote_Host_Filter">Remote Host Filter</a> for
more information about the configuration options that are supported.</p>
</blockquote></td></tr></table>
@@ -451,18 +527,16 @@
<table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Single Sign On"><!--()--></a><a name="Single_Sign_On"><strong>Single Sign On</strong></a></font></td></tr><tr><td><blockquote>
<p>In many environments, but particularly in portal environments, it
- is desireable to have a user challenged to authenticate themselves only
+ is desirable to have a user challenged to authenticate themselves only
once over a set of web applications deployed on a particular virtual
host. This can be accomplished by nesting an element like this inside
the Host element for this virtual host:</p>
-<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>
-<Host name="localhost" ...>
+<div class="codeBox"><pre><code><Host name="localhost" ...>
...
<Valve className="org.apache.catalina.authenticator.SingleSignOn"/>
...
-</Host>
-</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>
+</Host></code></pre></div>
<p>The Single Sign On facility operates according to the following rules:
</p>
@@ -508,39 +582,33 @@
<strong>Listener</strong> element like this (on a Unix system that
uses the <code>/etc/passwd</code> file to identify valid users):</p>
-<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>
-<Host name="localhost" ...>
+<div class="codeBox"><pre><code><Host name="localhost" ...>
...
<Listener className="org.apache.catalina.startup.UserConfig"
directoryName="public_html"
userClass="org.apache.catalina.startup.PasswdUserDatabase"/>
...
-</Host>
-</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>
+</Host></code></pre></div>
<p>On a server where <code>/etc/passwd</code> is not in use, you can
request Catalina to consider all directories found in a specified base
directory (such as <code>c:\Homes</code> in this example) to be
considered "user home" directories for the purposes of this directive:</p>
-<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>
-<Host name="localhost" ...>
+<div class="codeBox"><pre><code><Host name="localhost" ...>
...
<Listener className="org.apache.catalina.startup.UserConfig"
directoryName="public_html"
- homeBase=c:\Homes"
+ homeBase="c:\Homes"
userClass="org.apache.catalina.startup.HomesUserDatabase"/>
...
-</Host>
-</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>
+</Host></code></pre></div>
<p>If a user home directory has been set up for a user named
<code>craigmcc</code>, then its contents will be visible from a
client browser by making a request to a URL like:</p>
-<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>
-http://www.mycompany.com:8080/~craigmcc
-</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>
+<div class="codeBox"><pre><code>http://www.mycompany.com:8080/~craigmcc</code></pre></div>
<p>Successful use of this feature requires recognition of the following
considerations:</p>
@@ -558,6 +626,31 @@
</blockquote></td></tr></table>
-</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 © 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&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/config/host.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 © 1999-2017, Apache Software Foundation
</em></font></div></td></tr></table></body></html>
\ No newline at end of file