## 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
`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
`ServletContext` `getServletContext()` Return the standard Servlet API ServletContext for this application.

Methods inherited from interface org.springframework.context.ApplicationContext
`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.