blob: 42fdbc36f16fbbc47a06cbcf5592c81f083e6fde [file] [log] [blame]
<?xml version="1.0"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!DOCTYPE document [
<!ENTITY project SYSTEM "project.xml">
]>
<document url="systemprops.html">
&project;
<properties>
<title>System Properties</title>
</properties>
<body>
<section name="Table of Contents">
<toc/>
</section>
<section name="Introduction">
<p>The following sections list the system properties that may be set to modify
the default Tomcat behaviour.</p>
</section>
<section name="Jasper">
<properties>
<property name="org.apache.jasper.compiler. Generator.STRICT_GET_PROPERTY">
<p>If <code>true</code>, the requirement to have the object referenced in
<code>jsp:getProperty</code> action to be previously "introduced"
to the JSP processor, as specified in the chapter JSP.5.3 of JSP 2.0 and
later specifications, is enforced. If not specified, the specification
compliant default of <code>true</code> will be used.</p>
</property>
<property name="org.apache.jasper.compiler. Parser.STRICT_QUOTE_ESCAPING">
<p>If <code>false</code> the requirements for escaping quotes in JSP
attributes will be relaxed so that an unescaped quote will not
cause an error. If not specified, the specification compliant default of
<code>true</code> will be used.</p>
</property>
<property name="org.apache.jasper.runtime. BodyContentImpl.LIMIT_BUFFER">
<p>If <code>true</code>, any tag buffer that expands beyond
<code>org.apache.jasper.Constants.DEFAULT_TAG_BUFFER_SIZE</code> will be
destroyed and a new buffer created of the default size. If not specified,
the default value of <code>false</code> will be used.</p>
</property>
<property name="org.apache.jasper.runtime. JspFactoryImpl.USE_POOL">
<p>If <code>true</code>, a ThreadLocal <code>PageContext</code> pool will
be used. If not specified, the default value of <code>true</code> will be
used.</p>
</property>
</properties>
</section>
<section name="Security">
<properties>
<property
name="org.apache.catalina.connector. CoyoteAdapter.ALLOW_BACKSLASH">
<p>If this is <code>true</code> the '\' character will be permitted as a
path delimiter. If not specified, the default value of <code>false</code>
will be used.</p>
</property>
<property
name="org.apache.tomcat.util.buf. UDecoder.ALLOW_ENCODED_SLASH">
<p>If this is <code>true</code> '%2F' and '%5C' will be permitted as path
delimiters. If not specified, the default value of <code>false</code> will
be used.</p>
</property>
<property
name="org.apache.coyote. USE_CUSTOM_STATUS_MSG_IN_HEADER"><p>If this is
<code>true</code>, custom HTTP status messages will be used within HTTP
headers. If a custom message is specified that is not valid for use in an
HTTP header (as defined by RFC2616) then the custom message will be
ignored and the default message used. If not specified, the default value
of <code>false</code> will be used.</p>
</property>
</properties>
</section>
<section name="Specification">
<properties>
<property name="org.apache.catalina. STRICT_SERVLET_COMPLIANCE">
<p>If this is <code>true</code> the following actions will occur:
<ul>
<li>any wrapped request or response object passed to an application
dispatcher will be checked to ensure that it has wrapped the original
request or response. (SRV.8.2 / SRV.14.2.5.1)
</li>
<li>when updating the access count for the session, the update will be
synchronized.
</li>
<li>
cookies will be parsed strictly, by default v0 cookies will not work
with any invalid characters.<br/>If set to false, any v0 cookie with
invalid character will be switched to a v1 cookie and the value will
be quoted.
</li>
</ul>
</p>
</property>
<property name="org.apache.catalina. connector.Request.ALLOW_EMPTY_QUERY_STRING">
<p>If this is <code>true</code> Tomcat will return an empty string rather
than <code>null</code> for empty query strings - i.e. query strings where
only <code>?</code> is present. If not specified, the value of
<code>org.apache.catalina.STRICT_SERVLET_COMPLIANCE</code> will be used as
the default.</p>
</property>
<property
name="org.apache.tomcat.util.http. ServerCookie.ALLOW_EQUALS_IN_VALUE">
<p>If this is <code>true</code> Tomcat will allow <code>=</code>
characters when parsing unquoted cookie values. If <code>false</code>,
cookie values containing <code>=</code> will be terminated when the
<code>=</code> is encountered and the remainder of the cookie value will
be dropped. If not specified, the default specification compliant value of
<code>false</code> will be used.</p>
</property>
<property
name="org.apache.tomcat.util.http. ServerCookie.ALWAYS_ADD_EXPIRES">
<p>If this is <code>true</code> Tomcat will always add an expires
parameter to a SetCookie header even for cookies with version greater than
zero. This is to work around a known IE6 and IE7 bug that causes IE to
ignore the Max-Age parameter in a SetCookie header. If not specified, the
default value of <code>true</code> will be used.</p>
</property>
</properties>
</section>
<section name="Sessions">
<properties>
<property name="org.apache.catalina.SESSION_COOKIE_NAME">
<p>An alternative name for the session cookie. Defaults to
<code>JSESSIONID</code>. Note that the Servlet specification requires
this to be <code>JSESSIONID</code>. You should not rely on being able to
change this.</p>
</property>
<property name="org.apache.catalina.SESSION_PARAMETER_NAME">
<p>An alternative name for the session path parameter. Defaults to
<code>jsessionid</code>. Note that the Servlet specification requires
this to be <code>jsessionid</code>. You should not rely on being able to
change this.</p>
</property>
<property name="org.apache.catalina.SSO_SESSION_COOKIE_NAME">
<p>An alternative name for the single sign on session cookie. Defaults to
<code>JSESSIONIDSSO</code>.</p>
</property>
</properties>
</section>
<section name="Other">
<properties>
<property name="catalina.useNaming">
<p>If this is <code>false</code> it will override the
<code>useNaming</code> attribute for all <a href="context.html">
Context</a> elements.</p>
</property>
<property name="jvmRoute">
<p>Provides a default value for the <code>jvmRoute</code> attribute of the
<a href="engine.html">Engine</a> element. It does not override the value
configured on the <a href="engine.html">Engine</a> element.</p>
</property>
<property
name="org.apache.catalina.loader. WebappClassLoader.ENABLE_CLEAR_REFERENCES">
<p>If <code>true</code>, Tomcat attempts to null out any static or final
fields from loaded classes when a web application is stopped as a work
around for apparent garbage collection bugs and application coding errors.
</p>
<p>There have been some issues reported with log4j when this option is
<code>true</code>.</p>
<p>Applications without memory leaks using recent JVMs should operate
correctly with this option set to <code>false</code>.</p>
<p>If not specified, the default value of <code>true</code> will be used.
</p>
</property>
<property name="catalina.config">
<p>The URL for the catalina.properties configuration file.</p>
</property>
<property name="tomcat.util.buf.StringCache.byte.enabled">
<p>If <code>true</code>, the String cache is enabled for
<code>ByteChunk</code>. If not specified, the default value of
<code>false</code> will be used.</p>
</property>
<property name="tomcat.util.buf.StringCache.char.enabled">
<p>If <code>true</code>, the String cache is enabled for
<code>CharChunk</code>. If not specified, the default value of
<code>false</code> will be used.</p>
</property>
<property name="tomcat.util.buf.StringCache.trainThreshold">
<p>The number of times <code>toString()</code> must be called before the
cache is activated. If not specified, the default value of
<code>20000</code> will be used.</p>
</property>
<property name="tomcat.util.buf.StringCache.cacheSize">
<p>The size of the String cache. If not specified, the default value of
<code>200</code> will be used.</p>
</property>
<property name="tomcat.util.buf.StringCache.maxStringSize">
<p>The maximum length of String that will be cached. If not specified, the
default value of <code>128</code> will be used.</p>
</property>
</properties>
</section>
</body>
</document>