| Links Top Level Elements Connectors Containers Nested Components Other | Apache Tomcat Configuration ReferenceSystem Properties| Introduction |  | 
  The following sections list the system properties that may be set to modify
  the default Tomcat behaviour. | 
 | Jasper |  | 
  | Property | Description | 
|---|
 | org.apache.jasper.compiler. Generator.STRICT_GET_PROPERTY | If true, the requirement to have the object referenced injsp:getPropertyaction 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 oftruewill be used. |  | org.apache.jasper.compiler. Parser.STRICT_QUOTE_ESCAPING | If falsethe 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 oftruewill be used. |  | org.apache.jasper.runtime. BodyContentImpl.LIMIT_BUFFER | If true, any tag buffer that expands beyondorg.apache.jasper.Constants.DEFAULT_TAG_BUFFER_SIZEwill be
      destroyed and a new buffer created of the default size. If not specified,
      the default value offalsewill be used. |  | org.apache.jasper.runtime. JspFactoryImpl.USE_POOL | If true, a ThreadLocalPageContextpool will
      be used. If not specified, the default value oftruewill be
      used. | 
 | 
 | Security |  | 
  | Property | Description | 
|---|
 | org.apache.catalina.connector. CoyoteAdapter.ALLOW_BACKSLASH | If this is truethe '\' character will be permitted as a
      path delimiter. If not specified, the default value offalsewill 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 offalsewill
      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
      offalsewill be used. | 
 | 
 | Specification |  | 
  | Property | Description | 
|---|
 | org.apache.catalina. STRICT_SERVLET_COMPLIANCE | If this is truethe 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)
        when updating the access count for the session, the update will be
          synchronized.
        
          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.
 |  | org.apache.catalina. connector.Request.ALLOW_EMPTY_QUERY_STRING | If this is trueTomcat will return an empty string rather
      thannullfor empty query strings - i.e. query strings where
      only?is present. If not specified, the value oforg.apache.catalina.STRICT_SERVLET_COMPLIANCEwill be used as
      the default. |  | org.apache.tomcat.util.http. ServerCookie.ALLOW_EQUALS_IN_VALUE | If this is trueTomcat will allow=characters when parsing unquoted cookie values. Iffalse,
      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 offalsewill be used. |  | org.apache.tomcat.util.http. ServerCookie.ALWAYS_ADD_EXPIRES | If this is trueTomcat 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 oftruewill be used. | 
 | 
 | 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 beJSESSIONID. 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 bejsessionid. You should not rely on being able to
      change this. |  | org.apache.catalina.SSO_SESSION_COOKIE_NAME | An alternative name for the single sign on session cookie. Defaults to
      JSESSIONIDSSO. | 
 | 
 | Other |  | 
  | Property | Description | 
|---|
 | catalina.useNaming | If this is falseit will override theuseNamingattribute for all 
      Context elements. |  | jvmRoute | Provides a default value for the jvmRouteattribute 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 truewill 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 forByteChunk. If not specified, the default value offalsewill be used. |  | tomcat.util.buf.StringCache.char.enabled | If true, the String cache is enabled forCharChunk. If not specified, the default value offalsewill 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 of20000will be used. |  | tomcat.util.buf.StringCache.cacheSize | The size of the String cache. If not specified, the default value of
      200will be used. |  | tomcat.util.buf.StringCache.maxStringSize | The maximum length of String that will be cached. If not specified, the
      default value of 128will be used. | 
 | 
 |