# WebAppContainerMBean

Overview | Related MBeans | Attributes | Operations

## Overview

This MBean is used to specify domain-wide defaults for the WebApp container. In general, these properties can be overridden at the cluster level (in ClusterMBean, if the same property is present there), the server level (in ServerMBean, if the same property is present there) or for a specific Web application (in weblogic.xml).

Fully Qualified Interface Name | If you use the `getMBeanInfo` operation in MBeanTypeServiceMBean, supply the following value as this MBean's fully qualified interface name: `weblogic.management.configuration.WebAppContainerMBean`
Factory Methods | No factory methods. Instances of this MBean are created automatically.
Access Points | You can access this MBean from the following MBean attributes:
DomainMBean.WebAppContainer |

## Attributes

This section describes the following attributes:

AllowAllRoles AuthCookieEnabled ClientCertProxyEnabled FilterDispatchedRequestsEnabled HttpTraceSupportEnabled JSPCompilerBackwardsCompatible MaxPostSize MaxPostTimeSecs MimeMappingFile Name Notes OptimisticSerialization OverloadProtectionEnabled | P3PHeaderValue Parent PostTimeoutSecs ReloginEnabled RetainOriginalURL RtexprvalueJspParamName ServletAuthenticationFormURL Type WAPEnabled WeblogicPluginEnabled WorkContextPropagationEnabled XPoweredByHeaderLevel

### AllowAllRoles

In the security-constraints elements defined in a Web application's web.xml deployment descriptor, the auth-constraint element indicates the user roles that should be permitted access to this resource collection. Here role-name = "*" is a compact syntax for indicating all roles in the Web application. In previous releases, role-name = "*" was treated as all users/roles defined in the realm. This parameter is a backward-compatibility switch to restore old behavior. Default behavior is one required by the spec, meaning all roles defined in the web application. If set, the value defined in weblogic.xml (container-descriptor -> allow-all-roles) takes precedence (if set) over this value.

For more information, see:

- setAllowAllRoles(boolean)

Privileges | Read/Write
Type | boolean

### AuthCookieEnabled

Whether authcookie feature is enabled or not.

For more information, see:

- setAuthCookieEnabled(boolean)
- WebServerMBean#isAuthCookieEnabled()

Privileges | Read/Write
Type | boolean
Default Value | true
Secure value | true

### ClientCertProxyEnabled

Specifies whether or not to honor the WL-Proxy-Client-Cert header coming with the request.

For more information, see:

- setClientCertProxyEnabled(boolean)
- ClusterMBean#isClientCertProxyEnabled()
- ServerMBean#isClientCertProxyEnabled()

Privileges | Read/Write
Type | boolean

### FilterDispatchedRequestsEnabled

Indicates whether or not to apply filters to dispatched requests. This is a backward compatibility flag. Until version 8.1, WebLogic Server applied ServletFilters (if configured for the Web application) on request dispatches (and includes/forwards). Servlet 2.4 has introduced the "Dispatcher" element to make this behavior explicit. The default value is Dispatcher=REQUEST. In order to be complaint with the J2EE specification, the default value for FilterDispatchedRequestsEnabled is false beginning with WebLogic Server 9.0. Note that if you are using old descriptors (meaning web.xml does not have version=2.4), then WebLogic Server automatically uses FilterDispatchedRequestsEnabled = true for the Web applications, unless filter-dispatched-requests-enabled is explicitly set to false in weblogic.xml. This means that old applications will work fine without any modification. Additionally, during migration of old domains to the 9.0 domain, the migration plugin automatically sets this flag to true.

For more information, see:

- setFilterDispatchedRequestsEnabled(boolean)

Privileges | Read/Write
Type | boolean

### HttpTraceSupportEnabled

Returns the value of HttpTraceSupportEnabled.

For more information, see:

- setHttpTraceSupportEnabled(boolean)
- ClusterMBean#setHttpTraceSupportEnabled(boolean)
- ServerMBean#setHttpTraceSupportEnabled(boolean)

Privileges | Read/Write
Type | boolean

### JSPCompilerBackwardsCompatible

Global property to determine the behavior of the JSP compiler. When this property set to "true", the JSP compiler throws a translation error for JSPs that do not conform to the JSP2.0 specification. This property exists for backward compatibility.

Privileges | Read/Write
Type | boolean

### MaxPostSize

The maximum post size this server allows for reading HTTP POST data in a servlet request. A value less than 0 indicates an unlimited size.

For more information, see:

- setMaxPostSize(int)
- WebServerMBean#getMaxPostSize()

Privileges | Read/Write
Type | int
Default Value | -1

### MaxPostTimeSecs

Max Post Time (in seconds) for reading HTTP POST data in a servlet request. MaxPostTime < 0 means unlimited

For more information, see:

- setMaxPostTimeSecs(int)
- WebServerMBean#getMaxPostTimeSecs()

Privileges | Read/Write
Type | int
Default Value | -1

### MimeMappingFile

Returns the name of the file containing mime-mappings for the domain.

Format of the file should be: extension=mime-type
Example:
htm=text/html
gif=image/gif
jpg=image/jpeg

If this file does not exist, WebLogic Server uses an implicit mime-mapping set of mappings defined in weblogic.utils.http.HttpConstants (DEFAULT_MIME_MAPPINGS). To remove a mapping defined in implicit map just set it to blank.

For more information, see:

- setMimeMappingFile(String)

Privileges | Read/Write
Type | java.lang.String
Default Value | ./config/mimemappings.properties

### Name

The user-specified name of this MBean instance.

This name is included as one of the key properties in the MBean's `javax.management.ObjectName`:
`Name=user-specified-name`

Privileges | Read/Write
Type | java.lang.String

### Notes

Optional information that you can include to describe this configuration.

WebLogic Sever saves this note in the domain's configuration file (`config.xml`) as XML PCDATA. All left angle brackets (<) are converted to the XML entity `&lt;`. Carriage returns/line feeds are preserved.

Note:

  If you create or edit a note from the Administration Console, the Administration Console does not preserve carriage returns/line feeds.

Privileges | Read/Write
Type | java.lang.String

### OptimisticSerialization

When OptimisticSerialization is turned on, WebLogic server does not serialize-deserialize context and request attributes upon getAttribute(name) when a request gets dispatched across servlet contexts. This means you will need to make sure that the attributes common to Web applications are scoped to a common parent classloader (they are application-scoped) or placed in the system classpath if the two Web applications do not belong to the same application. When OptimisticSerialization is turned off (which is the default) WebLogic Server does serialize-deserialize context and request attributes upon getAttribute(name) to avoid the possibility of ClassCastExceptions. The value of OptimisticSerialization can also be overridden for specific Web applications by setting the optimistic-serialization value in weblogic.xml.

For more information, see:

- isOptimisticSerialization()

Privileges | Read/Write
Type | boolean

### OverloadProtectionEnabled

This parameter is used to enable overload protection in the webapp container against low memory conditions. When a low memory situation occurs, new session creation attempts will result in weblogic.servlet.SessionCreationException. The application code needs to catch this exception and take proper action. Alternatively appropriate error-pages can be configured in web.xml against weblogic.servlet.SessionCreationException. This check is performed only on memory and replicated sessions.

For more information, see:

- SessionCreationException
- setOverloadProtectionEnabled(boolean)

Privileges | Read/Write
Type | boolean

### P3PHeaderValue

Returns the P3PHeader value that will be sent with all responses for http requests (if non-null). The value of this header should set to the location of the policy reference file for the Web site.

For details see: http://www.w3.org/TR/p3pdeployment#Locating_PRF

Alternatively, a servlet filter can be used to set the P3P header.

For more information, see:

- setP3PHeaderValue(String)

Privileges | Read/Write
Type | java.lang.String

### Parent

Return the immediate parent for this MBean

Privileges | Read/Write
Type |

### PostTimeoutSecs

The amount of time this server waits between receiving chunks of data in an HTTP POST data before it times out. (This is used to prevent denial-of-service attacks that attempt to overload the server with POST data.)

For more information, see:

- setPostTimeoutSecs(int)
- WebServerMBean#getPostTimeoutSecs()

Privileges | Read/Write
Type | int
Default Value | 30
Minimum value | 0
Maximum value | 120
Secure value | 30

### ReloginEnabled

Beginning with the 9.0 release the FORM/BASIC authentication behavior has been modified to conform strictly to the J2EE Specification. If a user has logged-in but does not have privileges to access a resource, the 403 (FORBIDDEN) page will be returned. Turn this flag on to enable the old behavior, which was to return the user to the login form.

For more information, see:

- setReloginEnabled(boolean)

Privileges | Read/Write
Type | boolean

### RetainOriginalURL

retain-original-url is used in FORM based authentication scenarios. When this property is set to true, after a successful authentication, Weblogic Server will redirect back to the web resource (page/servlet) retaining the protocol (http/https) used to access the protected resource in the original request. If set to false (which is the default value), Weblogic Server will redirect back to the protected resource using the current protocol. retain-original-url value can also be specified at per webapp level in weblogic.xml. The value in weblogic.xml, if specified, overrides the domain level value.

For more information, see:

- isRetainOriginalURL()

Privileges | Read/Write
Type | boolean

### RtexprvalueJspParamName

Global property which determines the behavior of the JSP compiler when a jsp:param attribute "name" has a request time value. Without this property set to "true", the JSP compiler throws an error for a JSP using a request time value for the "name" attribute as mandated by the JSP 2.0 spec. This property exists for backward compatibility.

For more information, see:

- setRtexprvalueJspParamName(boolean)

Privileges | Read/Write
Type | boolean

### ServletAuthenticationFormURL

ServletAuthenticationFormURL is used for backward compatibility with previous releases of Weblogic Server.If ServletAuthenticationFormURL is set to true (default), then ServletAuthentication.getTargetURLForFormAuthentication() and HttpSession.getAttribute(AuthFilter.TARGET_URL) will return the URL of the protected target resource. If set to false, the above API's will return the URI of the protected target resource. By default the value is set to true.(new method added in 9.0.0.1)

For more information, see:

- getTargetURLForFormAuthentication
- getTargetURIForFormAuthentication
- isServletAuthenticationFormURL()

Privileges | Read/Write
Type | boolean
Default Value | true

### Type

Returns the type of the MBean.

Privileges | Read only
Type | java.lang.String
Redeploy or Restart required | Changes take effect after you redeploy the module or restart the server.

### WAPEnabled

Indicates whether the session ID should include JVM information. (Checking this box may be necessary when using URL rewriting with WAP devices that limit the size of the URL to 128 characters, and may also affect the use of replicated sessions in a cluster.) When this box is selected, the default size of the URL will be set at 52 characters, and it will not contain any special characters.

For more information, see:

- setWAPEnabled(boolean)
- WebServerMBean#isWAPEnabled()

Privileges | Read/Write
Type | boolean

### WeblogicPluginEnabled

Specifies whether or not the proprietary `WL-Proxy-Client-IP` header should be honored. (This is needed only when WebLogic plugins are configured.)

For more information, see:

- setWeblogicPluginEnabled(boolean)
- ClusterMBean#isWeblogicPluginEnabled()
- ServerMBean#isWeblogicPluginEnabled()

Privileges | Read/Write
Type | boolean

### WorkContextPropagationEnabled

Indicates whether or not WorkContextPropagation is enabled. By default it is turned on. There is a little overhead involved in propagating WorkContexts. Therefore, if you don't care about WorkContext propagation, turn this value off in production environments.

For more information, see:

- setWorkContextPropagationEnabled(boolean)

Privileges | Read/Write
Type | boolean
Default Value | true

### XPoweredByHeaderLevel

WebLogic Server uses the X-Powered-By HTTP header, as recommended by the Servlet 2.4 specification, to publish its implementation information.

Following are the options:

- "NONE": X-Powered-By header will not be sent

- "SHORT" (default): "Servlet/2.4 JSP/2.0"

- "MEDIUM": "Servlet/2.4 JSP/2.0 (WebLogic/9.1)"

- "FULL": "Servlet/2.4 JSP/1.2 (WebLogic/9.1 JDK/1.4.1_05)"

For more information, see:

- setXPoweredByHeaderLevel(String)

Privileges | Read/Write
Type | java.lang.String
Default Value | SHORT
Legal Values | NONE SHORT MEDIUM FULL

## Operations

This section describes the following operations:

freezeCurrentValue isSet restoreDefaultValue | unSet

### freezeCurrentValue

If the specified attribute has not been set explicitly, and if the attribute has a default value, this operation forces the MBean to persist the default value.

Unless you use this operation, the default value is not saved and is subject to change if you update to a newer release of WebLogic Server. Invoking this operation isolates this MBean from the effects of such changes.

Note:

  To insure that you are freezing the default value, invoke the `restoreDefaultValue` operation before you invoke this.

This operation has no effect if you invoke it on an attribute that does not provide a default value or on an attribute for which some other value has been set.

Deprecated. 9.0.0.0

Operation Name | `"freezeCurrentValue"`
Parameters | `Object [] { attributeName }` where: `attributeName` is an object of type `java.lang.String` that specifies: attributeName
Signature | `String [] { "java.lang.String" }`
Returns | `void`
Exceptions | `javax.management.AttributeNotFoundException` `javax.management.MBeanException`

### isSet

Returns true if the specified attribute has been set explicitly in this MBean instance.

Operation Name | `"isSet"`
Parameters | `Object [] { propertyName }` where: `propertyName` is an object of type `java.lang.String` that specifies: property to check
Signature | `String [] { "java.lang.String" }`
Returns | `boolean`

### restoreDefaultValue

If the specified attribute has a default value, this operation removes any value that has been set explicitly and causes the attribute to use the default value.

Default values are subject to change if you update to a newer release of WebLogic Server. To prevent the value from changing if you update to a newer release, invoke the `freezeCurrentValue` operation.

This operation has no effect if you invoke it on an attribute that does not provide a default value or on an attribute that is already using the default.

Deprecated. 9.0.0.0

Operation Name | `"restoreDefaultValue"`
Parameters | `Object [] { attributeName }` where: `attributeName` is an object of type `java.lang.String` that specifies: attributeName
Signature | `String [] { "java.lang.String" }`
Returns | `void`
Exceptions | `javax.management.AttributeNotFoundException`

### unSet

Restore the given property to its default value.

Operation Name | `"unSet"`
Parameters | `Object [] { propertyName }` where: `propertyName` is an object of type `java.lang.String` that specifies: property to restore
Signature | `String [] { "java.lang.String" }`
Returns | `void`