| | Server Configuration ReferenceThe DefaultContext Component |  | 
 | Introduction |  | 
  The DefaultContext element represents a subset of
  the configuration settings for a Context,
  and can be nested inside an Engine or
  Host element to represent default
  configuration properties for Contexts that are automatically
  created. See Automatic
  Application Deployment and
  User Web Applications
  for more information about the circumstances in which Catalina will
  automatically create Contexts for you, based on the configuration
  properties that are stored here. | 
 | Attributes |  | 
  | Common Attributes |  | 
    All implementations of DefaultContext
    support the following attributes: | Attribute | Description | 
|---|
 | cookies | Set to trueif you want cookies to be used for
        session identifier communication if supported by the client (this
        is the default).  Set tofalseif you want to disable
        the use of cookies for session identifier communication, and rely
        only on URL rewriting by the application. |  | crossContext | Set to trueif you want calls within this application
        toServletContext.getContext()to successfully return a
        request dispatcher for other web applications running on this virtual
        host.  Set tofalse(the default) in security
        conscious environments, to makegetContext()always
        returnnull. |  | reloadable | Set to trueif you want Catalina to monitor classes in/WEB-INF/classes/and/WEB-INF/libfor
        changes, and automatically reload the web application if a change
        is detected.  This feature is very useful during application
        development, but it requires significant runtime overhead and is
        not recommended for use on deployed production applications.  You
        can use the Manager web
        application, however, to trigger reloads of deployed applications
        on demand. |  | wrapperClass | Java class name of the org.apache.catalina.Wrapperimplementation class that will be used for servlets managed by this
        Context.  If not specified, a standard default value will be used. | 
 | 
 | Standard Implementation |  | 
    The standard implementation of DefaultContext is
    org.apache.catalina.core.DefaultContext.
    It supports the following additional attributes (in addition to the
    common attributes listed above): | Attribute | Description | 
|---|
 | swallowOutput | If the value of this flag is true, the bytes output to
        System.out and System.err by the web application will be redirected to
        the web application logger. If not specified, the default value
        of the flag isfalse. |  | useNaming | Set to true(the default) to have Catalina enable a
        JNDIInitialContextfor this web application that is
        compatible with Java2 Enterprise Edition (J2EE) platform
        conventions. | 
 | 
 | 
 | Nested Components |  | 
  You can nest at most one instance of the following utility components
  by nesting a corresponding element inside your
  DefaultContext element: 
  Loader -
      Configure the web application class loader that will be used to load
      servlet and bean classes for each web application.  Normally, the
      default configuration of the class loader will be sufficient. | 
 | Special Features |  | 
  
  | Environment Entries |  | 
    You can configure named values that will be made visible to
    web applications as environment entry resources, by nesting
    <Environment>entries inside this element.  For
    example, you can create an environment entry like this: |  |  |  |  |  | 
<DefaultContext ...>
  ...
  <Environment name="maxExemptions" value="10"
         type="java.lang.Integer" override="false"/>
  ...
</DefaultContext>
 |  |  |  |  |  | 
This is equivalent to the inclusion of the following element in the
    web application deployment descriptor (/WEB-INF/web.xml): |  |  |  |  |  | 
<env-entry>
  <env-entry-name>maxExemptions</param-name>
  <env-entry-value>10</env-entry-value>
  <env-entry-type>java.lang.Integer</env-entry-type>
</env-entry>
 |  |  |  |  |  | 
but does not require modification of the deployment descriptor
    to customize this value. The valid attributes for an <Environment>element
    are as follows: | Attribute | Description | 
|---|
 | description | Optional, human-readable description of this environment entry. |  | name | The name of the environment entry to be created, relative to the
        java:comp/envcontext. |  | override | Set this to falseif you do not want
        an<env-entry>for the same environment entry name,
        found in the web application deployment descriptor, to override the
        value specified here.  By default, overrides are allowed. |  | type | The fully qualified Java class name expected by the web application
        for this environment entry.  Must be one of the legal values for
        <env-entry-type>in the web application deployment
        descriptor:java.lang.Boolean,java.lang.Byte,java.lang.Character,java.lang.Double,java.lang.Float,java.lang.Integer,java.lang.Long,java.lang.Short, orjava.lang.String. |  | value | The parameter value that will be presented to the application
        when requested from the JNDI context.  This value must be convertable
        to the Java type defined by the typeattribute. | 
 | 
 | Resource Parameters |  | 
    This element is used to configure the resource manager (or object
    factory) used to return objects when the web application performs a
    JNDI lookup operation on the corresponding resource name.  You
    MUST define resource parameters for every resource name
    that is specified by a <Resource>element inside a<Context>or<DefaultContext>element in$CATALINA_HOME/conf/server.xml, and/or for every
    name declared in a<resource-ref>or<resource-env-ref>element in the web application
    deployment descriptor, before that resource can be successfully
    accessed. Resource parameters are defined by name, and the precise set of
    parameter names supported depend on the resource manager (or object
    factory) you are using - they must match the names of settable JavaBeans
    properties on the corresponding factory class.  The JNDI implementation
    will configure an instance of the specified factory class specified by
    calling all the corresponding JavaBeans property setters, and then
    making the factory instance available via the JNDI lookup()call. The resource parameters for a JDBC data source might look something
    like this: |  |  |  |  |  | 
<DefaultContext ...>
  ...
  <ResourceParams name="jdbc/EmployeeDB">
    <parameter>
      <name>driverClassName</name>
      <value>org.hsql.jdbcDriver</value>
    </parameter>
    <parameter>
      <name>driverName</name>
      </value>jdbc:HypersonicSQL:database</value>
    </parameter>
    <parameter>
      <name>user</name>
      <value>dbusername</value>
    </parameter>
    <parameter>
      <name>password</name>
      <value>dbpassword</value>
    </parameter>
  </ResourceParams>
  ...
</DefaultContext>
 |  |  |  |  |  | 
If you need to specify the Java class name of a factory class for a
    particular resource type, use a <parameter>entry
    namedfactorynested inside the<ResourceParams>element. The valid attributes of a <ResourceParams>element
    are as follows: | Attribute | Description | 
|---|
 | name | The name of the resource being configured, relative to the
        java:comp/envcontxt.  This name MUST
        match the name of a resource defined by a<Resource>element in$CATALINA_HOME/conf/server.xml, and/or
        referenced in a<resource-ref>or<resource-env-ref>element in the web application
        deployment descriptor. | 
 | 
 | Resource Links |  | 
     This element is used to create a link to a global JNDI resource. Doing
     a JNDI lookup on the link name will then return the linked global 
     resource. For example, you can create a resource link like this: |  |  |  |  |  | 
<DefaultContext ...>
  ...
  <ResourceLink name="linkToGlobalResource"
            global="simpleValue"
            type="java.lang.Integer"
  ...
</DefaultContext>
 |  |  |  |  |  | 
The valid attributes for a <ResourceLink>element
    are as follows: | Attribute | Description | 
|---|
 | global | The name of the linked global resource in the 
        gobal JNDI context. |  | name | The name of the resource link to be created, relative to the
        java:comp/envcontext. |  | type | The fully qualified Java class name expected by the web
        application when it performs a lookup for this resource link. | 
 | 
 | 
 |