Links Top Level Elements Executors Connectors Containers Nested Components Cluster Elements web.xml Other | Apache Tomcat Configuration ReferenceSystem PropertiesIntroduction |
The following sections list the system properties that may be set to modify
the default Tomcat behaviour.
|
Clustering |
Property | Description |
---|
org.apache.catalina. tribes.dns_lookups |
If true , the clustering module will attempt to use DNS to
resolve any host names provided in the cluster configuration.
If not specified, the default value of false will be used.
|
|
Expression Language |
Property | Description |
---|
org.apache.el.BeanELResolver. CACHE_SIZE |
The number of javax.el.BeanELResolver.BeanProperties objects that will
be cached by the EL Parser.
If not specified, the default of 1000 will be used.
| org.apache.el.ExpressionBuilder. CACHE_SIZE |
The number of parsed EL expressions that will be cached by the EL
Parser.
If not specified, the default of 5000 will be used.
| org.apache.el.parser. COERCE_TO_ZERO |
If true , when coercing EL expressions to numbers
"" and null will be coerced to zero as required
by the specification.
If not specified, the default value of true will be used.
| org.apache.el.parser. SKIP_IDENTIFIER_CHECK |
If true , when parsing EL expressions, identifiers will not be
checked to ensure that they conform to the Java Language Specification for
Java identifiers.
If not specified, the default value of true will be used.
|
|
Jasper |
Property | Description |
---|
org.apache.jasper.compiler. Generator.POOL_TAGS_WITH_EXTENDS |
By default, JSPs that use their own base class via the extends
attribute of the page directive, will have Tag pooling disabled since
Jasper cannot guarantee that the necessary initialisation will have taken
place. This can have a negative impact on performance. Providing the
alternative base class calls _jspInit() from Servlet.init(), setting this
property to true will enable pooling with an alternative base
class. If the alternative base class does not call _jspInit() and this
property is true , NPEs will occur when attempting to use
tags.
If not specified, the default value of false will be used.
| org.apache.jasper.compiler. Generator.VAR_EXPRESSIONFACTORY |
The name of the variable to use for the expression language expression
factory.
If not specified, the default value of _el_expressionfactory
will be used.
| org.apache.jasper.compiler. Generator.VAR_INSTANCEMANAGER |
The name of the variable to use for the instance manager factory.
If not specified, the default value of _jsp_instancemanager
will be used.
| org.apache.jasper.compiler. Generator.STRICT_GET_PROPERTY |
If true , the requirement to have the object referenced in
jsp:getProperty 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 true
will be used.
| org.apache.jasper.compiler. Parser.STRICT_QUOTE_ESCAPING |
If false 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
true will be used.
| org.apache.jasper.runtime. BodyContentImpl.LIMIT_BUFFER |
If true , any tag buffer that expands beyond
org.apache.jasper.Constants.DEFAULT_TAG_BUFFER_SIZE will be
destroyed and a new buffer created of the default size.
If not specified, the default value of false will be used.
| org.apache.jasper.runtime. JspFactoryImpl.USE_POOL |
If true , a ThreadLocal PageContext pool will
be used.
If not specified, the default value of true will be used.
| org.apache.jasper.runtime. JspFactoryImpl.POOL_SIZE |
The size of the ThreadLocal PageContext .
If not specified, the default value of 8 will be used.
| org.apache.jasper.Constants. JSP_SERVLET_BASE |
The base class of the Servlets generated from the JSPs.
If not specified, the default value of
org.apache.jasper.runtime.HttpJspBase will be used.
| org.apache.jasper.Constants. SERVICE_METHOD_NAME |
The name of the service method called by the base class.
If not specified, the default value of _jspService
will be used.
| org.apache.jasper.Constants. SERVLET_CLASSPATH |
The name of the ServletContext attribute that provides the classpath
for the JSP.
If not specified, the default value of
org.apache.catalina.jsp_classpath will be used.
| org.apache.jasper.Constants. JSP_FILE |
The name of the request attribute for <jsp-file>
element of a servlet definition. If present on a request, this overrides
the value returned by request.getServletPath() to select the
JSP page to be executed.
If not specified, the default value of
org.apache.catalina.jsp_file will be used.
| org.apache.jasper.Constants. PRECOMPILE |
The name of the query parameter that causes the JSP engine to just
pregenerate the servlet but not invoke it.
If not specified, the default value of jsp_precompile
will be used, as defined by JSP specification (JSP.11.4.2).
| org.apache.jasper.Constants. JSP_PACKAGE_NAME |
The default package name for compiled jsp pages.
If not specified, the default value of org.apache.jsp
will be used.
| org.apache.jasper.Constants. TAG_FILE_PACKAGE_NAME |
The default package name for tag handlers generated from tag files.
If not specified, the default value of org.apache.jsp.tag
will be used.
| org.apache.jasper.Constants. ALT_DD_ATTR |
The servlet context attribute under which the alternate deployment
descriptor for this web application is stored.
If not specified, the
default value of org.apache.catalina.deploy.alt_dd will
be used.
| org.apache.jasper.Constants. TEMP_VARIABLE_NAME_PREFIX |
Prefix to use for generated temporary variable names.
If not specified,
the default value of _jspx_temp will be used.
| org.apache.jasper.Constants. USE_INSTANCE_MANAGER_FOR_TAGS |
If true , the instance manager is used to obtain tag
handler instances.
If not specified, the default value of false will be used.
|
|
Security |
Property | Description |
---|
org.apache.catalina.connector. RECYCLE_FACADES |
If this is true or if a security manager is in use a new
facade object will be created for each request.
If not specified, the
default value of false will be used.
| org.apache.catalina.connector. CoyoteAdapter.ALLOW_BACKSLASH |
If this is true the '\' character will be permitted as a
path delimiter.
If not specified, the default value of false
will be used.
| org.apache.tomcat.util.buf. UDecoder.ALLOW_ENCODED_SLASH |
If this is true '%2F' and '%5C' will be permitted as path
delimiters.
If not specified, the default value of false will
be used.
| org.apache.coyote. USE_CUSTOM_STATUS_MSG_IN_HEADER | If this is
true , 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 false will be used.
|
|
Specification |
Property | Description |
---|
org.apache.catalina. STRICT_SERVLET_COMPLIANCE |
If this is true the following actions will occur:
- 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)
- a call to
Response.getWriter() if no character encoding
has been specified will result in subsequent calls to
Response.getCharacterEncoding() returning
ISO-8859-1 and the Content-Type response header
will include a charset=ISO-8859-1 component. (SRV.15.2.22.1)
- every request that is associated with a session will cause the
session's last accessed time to be updated regardless of whether or not
the request explicitly accesses the session. (SRV.7.6)
-
cookies will be parsed strictly, by default v0 cookies will not work with any invalid characters.
If set to false , any v0 cookie with invalid character
will be switched to a v1 cookie and the value will be quoted.
-
the path in
ServletContext.getResource /
getResourceAsStream calls must start with a "/".
If set to false , code like getResource("myfolder/myresource.txt") will work.
If this is true the default value will be changed for:
org.apache.catalina.connector.Request. ALLOW_EMPTY_QUERY_STRING property
org.apache.tomcat.util.http.ServerCookie. PRESERVE_COOKIE_HEADER property
- The
webXmlValidation attribute of any
Context element.
- The
webXmlNamespaceAware attribute of any
Context element.
- The
tldValidation attribute of any
Context element.
If not specified, the default value of false will be used.
| org.apache.catalina.connector. Request.ALLOW_EMPTY_QUERY_STRING |
If this is true Tomcat will return an empty string rather
than null for empty query strings - i.e. query strings where
only ? is present.
If not specified, the value of
org.apache.catalina.STRICT_SERVLET_COMPLIANCE will be used as
the default.
| org.apache.catalina.session. StandardSession.ACTIVITY_CHECK |
If this is true or if
org.apache.catalina.STRICT_SERVLET_COMPLIANCE is
true Tomcat will track the number of active requests for each
session. When determining if a session is valid, any session with at least
one active request will always be considered valid.
If not specified, the default value of false will be used.
| org.apache.tomcat.util.http. ServerCookie.ALLOW_EQUALS_IN_VALUE |
If this is true Tomcat will allow '= '
characters when parsing unquoted cookie values. If false ,
cookie values containing '= ' will be terminated when the
'= ' is encountered and the remainder of the cookie value will
be dropped.
If not specified, the default specification compliant value of
false will be used.
| org.apache.tomcat.util.http. ServerCookie.ALWAYS_ADD_EXPIRES |
If this is true 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 true will be used.
| org.apache.tomcat.util.http. ServerCookie.PRESERVE_COOKIE_HEADER |
If this is true Tomcat will ensure that cookie
processing does not modify cookie header returned by
HttpServletRequest.getHeader() .
If org.apache.catalina.STRICT_SERVLET_COMPLIANCE is set to
true , the default of this setting will be true ,
else the default value will be false .
|
|
Sessions |
Property | Description |
---|
org.apache.catalina.SESSION_COOKIE_NAME |
An alternative name for the session cookie. Defaults to
JSESSIONID . Note that the Servlet specification requires
this to be JSESSIONID . You should not rely on being able to
change this.
| org.apache.catalina.SESSION_PARAMETER_NAME |
An alternative name for the session path parameter. Defaults to
jsessionid . Note that the Servlet specification requires
this to be jsessionid . You should not rely on being able to
change this.
| org.apache.catalina.authenticator. Constants.SSO_SESSION_COOKIE_NAME |
An alternative name for the single sign on session cookie. Defaults to
JSESSIONIDSSO .
|
|
Logging |
Property | Description |
---|
org.apache.juli.logging. UserDataHelper.CONFIG |
The type of logging to use for errors generated by invalid input data.
The options are: DEBUG_ALL , INFO_THEN_DEBUG ,
INFO_ALL and NONE . When
INFO_THEN_DEBUG is used, the period for which errors are
logged at DEBUG rather than INFO is controlled by the system property
org.apache.juli.logging.UserDataHelper.SUPPRESSION_TIME .
The default value is INFO_THEN_DEBUG .
The errors currently logged using this system are:
Other errors triggered by invalid input data may be added to this
system in later versions.
| org.apache.juli.logging. UserDataHelper.SUPPRESSION_TIME |
When using INFO_THEN_DEBUG for
org.apache.juli.logging.UserDataHelper.CONFIG this system
property controls how long messages are logged at DEBUG after a message
has been logged at INFO. Once this period has elapsed, the next message
will be logged at INFO followed by a new suppression period where
messages are logged at DEBUG and so on. The value is measured
in seconds.
A value of 0 is equivalent to using INFO_ALL
for org.apache.juli.logging.UserDataHelper.CONFIG .
A negative value means an infinite suppression period.
The default value is 86400 (24 hours).
|
|
Other |
Property | Description |
---|
org.apache.coyote.ALLOWED_TRAILER_HEADERS |
Limits the names of trailing headers that will be accepted in the last
chunk of a chunked HTTP request. The property should be set to a comma
separated list of acceptable headers. Trailing headers not in the list
will be ignored.
If not specified, the default value of no headers will be used.
| org.apache.coyote.MAX_EXTENSION_SIZE |
Limits the total length of extension data when using chunked encoding.
If the value is -1 , no limit will be imposed.
If not specified, the default value of 8192 will be
used.
| org.apache.coyote.MAX_TRAILER_SIZE |
Limits the total length of trailing headers in the last chunk of
a chunked HTTP request.
If the value is -1 , no limit will be imposed.
If not specified, the default value of 8192 will be used.
| org.apache.coyote.MAX_SWALLOW_SIZE |
Limits the length of a request body Tomcat will swallow if it is not
read during normal request processing. If the value is -1 , no
limit will be imposed.
If not specified, the default value of 2097152 (2MB) will
be used.
| catalina.useNaming |
If this is false it will override the
useNaming attribute for all
Context elements.
| jvmRoute |
Provides a default value for the jvmRoute attribute of the
Engine element. It does not override the value
configured on the Engine element.
| org.apache.catalina.loader. WebappClassLoader.ENABLE_CLEAR_REFERENCES |
If true , 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.
There have been some issues reported with log4j when this option is
true .
Applications without memory leaks using recent JVMs should operate
correctly with this option set to false .
If not specified, the default value of true will be used.
| catalina.config |
The URL for the catalina.properties configuration file.
| tomcat.util.buf.StringCache.byte.enabled |
If true , the String cache is enabled for
ByteChunk .
If not specified, the default value of false will be used.
| tomcat.util.buf.StringCache.char.enabled |
If true , the String cache is enabled for
CharChunk .
If not specified, the default value of false will be used.
| tomcat.util.buf.StringCache.trainThreshold |
The number of times toString() must be called before the
cache is activated.
If not specified, the default value of 20000 will be used.
| tomcat.util.buf.StringCache.cacheSize |
The size of the String cache.
If not specified, the default value of 200 will be used.
| tomcat.util.buf.StringCache.maxStringSize |
The maximum length of String that will be cached.
If not specified, the default value of 128 will be used.
| org.apache.tomcat.util. http.FastHttpDateFormat.CACHE_SIZE |
The size of the cache to use parsed and formatted date value.
If not specified, the default value of 1000 will be used.
| org.apache.tomcat.util. net.NioSelectorShared |
If true , use a shared selector for servlet write/read.
If not specified, the default value of true will be used.
| org.apache.catalina.startup. EXIT_ON_INIT_FAILURE |
If true , the server will exit if an exception happens
during the server initialization phase.
If not specified, the default value of false will be used.
|
|
|