blob: d7f2a2fde4d3790097ece64a820ddcd4d7c88693 [file] [log] [blame]
刘洪青6266f992017-05-15 21:21:03 +08001<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 7 Configuration Reference (7.0.77) - The Resources Component</title><meta name="author" content="Remy Maucherat"><style type="text/css" media="print">
2 .noPrint {display: none;}
3 td#mainBody {width: 100%;}
4</style><style type="text/css">
5code {background-color:rgb(224,255,255);padding:0 0.1em;}
6code.attributeName, code.propertyName {background-color:transparent;}
7
8
9table {
10 border-collapse: collapse;
11 text-align: left;
12}
13table *:not(table) {
14 /* Prevent border-collapsing for table child elements like <div> */
15 border-collapse: separate;
16}
17
18th {
19 text-align: left;
20}
21
22
23div.codeBox pre code, code.attributeName, code.propertyName, code.noHighlight, .noHighlight code {
24 background-color: transparent;
25}
26div.codeBox {
27 overflow: auto;
28 margin: 1em 0;
29}
30div.codeBox pre {
31 margin: 0;
32 padding: 4px;
33 border: 1px solid #999;
34 border-radius: 5px;
35 background-color: #eff8ff;
36 display: table; /* To prevent <pre>s from taking the complete available width. */
37 /*
38 When it is officially supported, use the following CSS instead of display: table
39 to prevent big <pre>s from exceeding the browser window:
40 max-width: available;
41 width: min-content;
42 */
43}
44
45div.codeBox pre.wrap {
46 white-space: pre-wrap;
47}
48
49
50table.defaultTable tr, table.detail-table tr {
51 border: 1px solid #CCC;
52}
53
54table.defaultTable tr:nth-child(even), table.detail-table tr:nth-child(even) {
55 background-color: #FAFBFF;
56}
57
58table.defaultTable tr:nth-child(odd), table.detail-table tr:nth-child(odd) {
59 background-color: #EEEFFF;
60}
61
62table.defaultTable th, table.detail-table th {
63 background-color: #88b;
64 color: #fff;
65}
66
67table.defaultTable th, table.defaultTable td, table.detail-table th, table.detail-table td {
68 padding: 5px 8px;
69}
70
71
72p.notice {
73 border: 1px solid rgb(255, 0, 0);
74 background-color: rgb(238, 238, 238);
75 color: rgb(0, 51, 102);
76 padding: 0.5em;
77 margin: 1em 2em 1em 1em;
78}
79</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="
Hongqing Liufd5ee812014-05-10 16:32:51 +080080 The Apache Tomcat Servlet/JSP Container
刘洪青6266f992017-05-15 21:21:03 +080081 " 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 Resources Component</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>
82<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><li><a href="#VirtualDirContext_implementation">VirtualDirContext implementation</a></li></ol></li><li><a href="#Nested_Components">Nested Components</a></li><li><a href="#Special_Features">Special Features</a></li></ul>
Hongqing Liufd5ee812014-05-10 16:32:51 +080083</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>
84
85 <p>The <strong>Resources</strong> element represents the <em>web
刘洪青6266f992017-05-15 21:21:03 +080086 application static resources</em>, from which classes will be loaded,
Hongqing Liufd5ee812014-05-10 16:32:51 +080087 HTML, JSP and the other static files will be served. This allows the webapp
88 to reside on various mediums other than the filesystem, like compressed
89 in a WAR file, in a JDBC database, or in a more advanced versioning
90 repository.</p>
91
92 <p>A unified caching engine is provided for all accesses to the webapp
93 resources made by the servlet container and web applications which use the
94 container provided mechanisms to access such resources, such as classloader
95 access, access through the <code>ServletContext</code> interface, or native
96 access through the <code>DirectoryContext</code> interface.</p>
97
刘洪青6266f992017-05-15 21:21:03 +080098 <p><strong>Note: Running a webapp with non-filesystem based
99 Resources implementations is only possible when the webapp does not
Hongqing Liufd5ee812014-05-10 16:32:51 +0800100 rely on direct filesystem access to its own resources, and uses the methods
101 in the ServletContext interface to access them.</strong></p>
102
刘洪青6266f992017-05-15 21:21:03 +0800103 <p>A Resources element MAY be nested inside a
104 <a href="context.html">Context</a> component. If it is not included,
105 a default filesystem based Resources will be created automatically,
Hongqing Liufd5ee812014-05-10 16:32:51 +0800106 which is sufficient for most requirements.</p>
107
108</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>
109
110 <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Common Attributes"><!--()--></a><a name="Common_Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>
111
112 <p>All implementations of <strong>Resources</strong>
113 support the following attributes:</p>
114
刘洪青6266f992017-05-15 21:21:03 +0800115 <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">className</code></td><td align="left" valign="center">
Hongqing Liufd5ee812014-05-10 16:32:51 +0800116 <p>Java class name of the implementation to use. This class must
117 implement the <code>javax.naming.directory.DirContext</code> interface.
刘洪青6266f992017-05-15 21:21:03 +0800118 It is recommended for optimal functionality and performance,
119 but not mandatory, that the class extend
Hongqing Liufd5ee812014-05-10 16:32:51 +0800120 <code>org.apache.naming.resources.BaseDirContext</code>, as well as
刘洪青6266f992017-05-15 21:21:03 +0800121 use the special object types provided in the
Hongqing Liufd5ee812014-05-10 16:32:51 +0800122 <code>org.apache.naming.resources</code> for returned objects.
123 If not specified, the standard value (defined below) will be used.</p>
124 </td></tr></table>
125
126 </blockquote></td></tr></table>
127
128
129 <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Standard Implementation"><!--()--></a><a name="Standard_Implementation"><strong>Standard Implementation</strong></a></font></td></tr><tr><td><blockquote>
130
131 <p>The standard implementation of <strong>Resources</strong> is
刘洪青6266f992017-05-15 21:21:03 +0800132 <strong>org.apache.naming.resources.FileDirContext</strong>, and
Hongqing Liufd5ee812014-05-10 16:32:51 +0800133 is configured by its parent Context element.</p>
134
135 </blockquote></td></tr></table>
136
刘洪青6266f992017-05-15 21:21:03 +0800137 <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="VirtualDirContext implementation"><!--()--></a><a name="VirtualDirContext_implementation"><strong>VirtualDirContext implementation</strong></a></font></td></tr><tr><td><blockquote>
138 <p>This implementation of <strong>Resources</strong> is
139 <strong>org.apache.naming.resources.VirtualDirContext</strong> and is aimed to be used
140 during development to deploy a webapp without copying files to a webapp compliant
141 directory structure.
142 It extends <code>FileDirContext</code> and supports the following
143 additional attributes</p>
144
145 <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">extraResourcePaths</code></td><td align="left" valign="center">
146 <p>Allows to map a path of the filesystem to a path in the webapp. Multiple
147 filesystem paths can be mapped to the same path in the webapp. Filesystem
148 path and virtual path must be separated by an equal signe (=). Pairs of paths
149 must be separated by a column.</p>
150 Example: <code>/=/Users/jdoe/mywebapp/src/main/webapp,/=/Users/jdoe/mywebapp/src/main/webapp2,/pictures=/Users/jdoe/sharedpictures</code>
151 <p>The path to the docBase (as declared in the Context) must not be added here.</p>
152 <p>This attribute enhances the feature provided by the <code>aliases</code>
153 attribute of the <strong>StandardContext</strong>.</p>
154 </td></tr></table>
155 </blockquote></td></tr></table>
Hongqing Liufd5ee812014-05-10 16:32:51 +0800156
157</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Nested Components"><!--()--></a><a name="Nested_Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>
158
159 <p>No components may be nested inside a <strong>Resources</strong> element.</p>
160
161</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Special Features"><!--()--></a><a name="Special_Features"><strong>Special Features</strong></a></font></td></tr><tr><td><blockquote>
162
163 <p>No special features are associated with a <strong>Resources</strong>
164 element.</p>
165
刘洪青6266f992017-05-15 21:21:03 +0800166</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
167 on improving documentation for Apache Tomcat.<br><br>
168 If you have trouble and need help, read
169 <a href="http://tomcat.apache.org/findhelp.html">Find Help</a> page
170 and ask your question on the tomcat-users
171 <a href="http://tomcat.apache.org/lists.html">mailing list</a>.
172 Do not ask such questions here. This is not a Q&amp;A section.<br><br>
173 The Apache Comments System is explained <a href="../comments.html">here</a>.
174 Comments may be removed by our moderators if they are either
175 implemented or considered invalid/off-topic.</p><script type="text/javascript"><!--//--><![CDATA[//><!--
176 var comments_shortname = 'tomcat';
177 var comments_identifier = 'http://tomcat.apache.org/tomcat-7.0-doc/config/resources.html';
178 (function(w, d) {
179 if (w.location.hostname.toLowerCase() == "tomcat.apache.org") {
180 d.write('<div id="comments_thread"><\/div>');
181 var s = d.createElement('script');
182 s.type = 'text/javascript';
183 s.async = true;
184 s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
185 (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
186 }
187 else {
188 d.write('<div id="comments_thread"><strong>Comments are disabled for this page at the moment.<\/strong><\/div>');
189 }
190 })(window, document);
191 //--><!]]></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>
192 Copyright &copy; 1999-2017, Apache Software Foundation
Hongqing Liufd5ee812014-05-10 16:32:51 +0800193 </em></font></div></td></tr></table></body></html>