org.springframework.web.context

## Interface WebApplicationContext

All Superinterfaces:
  ApplicationContext, ApplicationEventPublisher, BeanFactory, EnvironmentCapable, HierarchicalBeanFactory, ListableBeanFactory, MessageSource, ResourceLoader, ResourcePatternResolver

All Known Subinterfaces:
  ConfigurablePortletApplicationContext, ConfigurableWebApplicationContext

All Known Implementing Classes:
  AbstractRefreshablePortletApplicationContext, AbstractRefreshableWebApplicationContext, AnnotationConfigWebApplicationContext, GenericWebApplicationContext, StaticPortletApplicationContext, StaticWebApplicationContext, XmlPortletApplicationContext, XmlWebApplicationContext

    public interface WebApplicationContext
    extends ApplicationContext

Interface to provide configuration for a web application. This is read-only while the application is running, but may be reloaded if the implementation supports this.

This interface adds a `getServletContext()` method to the generic ApplicationContext interface, and defines a well-known application attribute name that the root context must be bound to in the bootstrap process.

Like generic application contexts, web application contexts are hierarchical. There is a single root context per application, while each servlet in the application (including a dispatcher servlet in the MVC framework) has its own child context.

In addition to standard application context lifecycle capabilities, WebApplicationContext implementations need to detect `ServletContextAware` beans and invoke the `setServletContext` method accordingly.

Since:
  January 19, 2001
Author:
  Rod Johnson, Juergen Hoeller
See Also:
  `ServletContextAware.setServletContext(javax.servlet.ServletContext)`

### Field Summary

Fields
`static String` `CONTEXT_ATTRIBUTES_BEAN_NAME` Name of the ServletContext/PortletContext attributes environment bean in the factory.
`static String` `CONTEXT_PARAMETERS_BEAN_NAME` Name of the ServletContext/PortletContext init-params environment bean in the factory.
`static String` `ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE` Context attribute to bind root WebApplicationContext to on successful startup.
`static String` `SCOPE_APPLICATION` Scope identifier for the global web application scope: "application".
`static String` `SCOPE_GLOBAL_SESSION` Scope identifier for global session scope: "globalSession".
`static String` `SCOPE_REQUEST` Scope identifier for request scope: "request".
`static String` `SCOPE_SESSION` Scope identifier for session scope: "session".
`static String` `SERVLET_CONTEXT_BEAN_NAME` Name of the ServletContext environment bean in the factory.

### Fields inherited from interface org.springframework.beans.factory.BeanFactory

`FACTORY_BEAN_PREFIX`

### Fields inherited from interface org.springframework.core.io.support.ResourcePatternResolver

`CLASSPATH_ALL_URL_PREFIX`

### Fields inherited from interface org.springframework.core.io.ResourceLoader

`CLASSPATH_URL_PREFIX`

### Method Summary

Methods
`ServletContext` `getServletContext()` Return the standard Servlet API ServletContext for this application.

### Methods inherited from interface org.springframework.context.ApplicationContext

`getApplicationName, getAutowireCapableBeanFactory, getDisplayName, getId, getParent, getStartupDate`

### Methods inherited from interface org.springframework.core.env.EnvironmentCapable

`getEnvironment`

### Methods inherited from interface org.springframework.beans.factory.ListableBeanFactory

`containsBeanDefinition, findAnnotationOnBean, getBeanDefinitionCount, getBeanDefinitionNames, getBeanNamesForType, getBeanNamesForType, getBeansOfType, getBeansOfType, getBeansWithAnnotation`

### Methods inherited from interface org.springframework.beans.factory.HierarchicalBeanFactory

`containsLocalBean, getParentBeanFactory`

### Methods inherited from interface org.springframework.beans.factory.BeanFactory

`containsBean, getAliases, getBean, getBean, getBean, getBean, getType, isPrototype, isSingleton, isTypeMatch`

### Methods inherited from interface org.springframework.context.MessageSource

`getMessage, getMessage, getMessage`

### Methods inherited from interface org.springframework.context.ApplicationEventPublisher

`publishEvent`

### Methods inherited from interface org.springframework.core.io.support.ResourcePatternResolver

`getResources`

### Methods inherited from interface org.springframework.core.io.ResourceLoader

`getClassLoader, getResource`

### Field Detail

#### ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE

    static final String ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE

Context attribute to bind root WebApplicationContext to on successful startup.

Note: If the startup of the root context fails, this attribute can contain an exception or error as value. Use WebApplicationContextUtils for convenient lookup of the root WebApplicationContext.

See Also:
  `WebApplicationContextUtils.getWebApplicationContext(javax.servlet.ServletContext)`, `WebApplicationContextUtils.getRequiredWebApplicationContext(javax.servlet.ServletContext)`

#### SCOPE_REQUEST

    static final String SCOPE_REQUEST

Scope identifier for request scope: "request". Supported in addition to the standard scopes "singleton" and "prototype".

See Also:
  Constant Field Values

#### SCOPE_SESSION

    static final String SCOPE_SESSION

Scope identifier for session scope: "session". Supported in addition to the standard scopes "singleton" and "prototype".

See Also:
  Constant Field Values

#### SCOPE_GLOBAL_SESSION

    static final String SCOPE_GLOBAL_SESSION

Scope identifier for global session scope: "globalSession". Supported in addition to the standard scopes "singleton" and "prototype".

See Also:
  Constant Field Values

#### SCOPE_APPLICATION

    static final String SCOPE_APPLICATION

Scope identifier for the global web application scope: "application". Supported in addition to the standard scopes "singleton" and "prototype".

See Also:
  Constant Field Values

#### SERVLET_CONTEXT_BEAN_NAME

    static final String SERVLET_CONTEXT_BEAN_NAME

Name of the ServletContext environment bean in the factory.

See Also:
  `ServletContext`, Constant Field Values

#### CONTEXT_PARAMETERS_BEAN_NAME

    static final String CONTEXT_PARAMETERS_BEAN_NAME

Name of the ServletContext/PortletContext init-params environment bean in the factory.

Note: Possibly merged with ServletConfig/PortletConfig parameters. ServletConfig parameters override ServletContext parameters of the same name.

See Also:
  `ServletContext.getInitParameterNames()`, `ServletContext.getInitParameter(String)`, `ServletConfig.getInitParameterNames()`, `ServletConfig.getInitParameter(String)`, Constant Field Values

#### CONTEXT_ATTRIBUTES_BEAN_NAME

    static final String CONTEXT_ATTRIBUTES_BEAN_NAME

Name of the ServletContext/PortletContext attributes environment bean in the factory.

See Also:
  `ServletContext.getAttributeNames()`, `ServletContext.getAttribute(String)`, Constant Field Values

### Method Detail

#### getServletContext

    ServletContext getServletContext()

Return the standard Servlet API ServletContext for this application.

Also available for a Portlet application, in addition to the PortletContext.