| # Apache Tomcat 6.0 |

# Apache Tomcat Configuration Reference ## System Properties |
Introduction
The follow 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.parser.COERCE_TO_ZERO` | If `true`, when coercing 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.
Jasper
> Property | Description
> --- | ---
> `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. Parser.STRICT_QUOTE_ESCAPING` | If `false` the requirements for escpaing quotes in JSP attributes will be relaxed so that a missing required 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 `org.apache.catalina.jsp_precompile` will be used.
> `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, `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. Users must ensure that any such message is ISO-8859-1 encoded, particularly if user provided input is included in the message, to prevent a possible XSS vulnerability. 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 explicity 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. `ServletContext.getResource/getResourceAsStream` must start with "/" if set to false, code like `getResource("myfolder/myresource.txt")` will work
> `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.
Other
> Property | Description
> --- | ---
> `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 a 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.
Copyright © 1999-2008, Apache Software Foundation