Interface WebApplicationContext

All Superinterfaces:
ApplicationContext, ApplicationEventPublisher, BeanFactory, EnvironmentCapable, HierarchicalBeanFactory, ListableBeanFactory, MessageSource, ResourceLoader, ResourcePatternResolver
All Known Subinterfaces:
ConfigurableWebApplicationContext
All Known Implementing Classes:
AbstractRefreshableWebApplicationContext, AnnotationConfigWebApplicationContext, GenericWebApplicationContext, GroovyWebApplicationContext, StaticWebApplicationContext, 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:
  • Field Details

    • 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:
    • 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:
    • 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:
    • 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:
    • SERVLET_CONTEXT_BEAN_NAME

      static final String SERVLET_CONTEXT_BEAN_NAME
      Name of the ServletContext environment bean in the factory.
      See Also:
    • CONTEXT_PARAMETERS_BEAN_NAME

      static final String CONTEXT_PARAMETERS_BEAN_NAME
      Name of the ServletContext init-params environment bean in the factory.

      Note: Possibly merged with ServletConfig 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 attributes environment bean in the factory.
      See Also:
  • Method Details

    • getServletContext

      @Nullable jakarta.servlet.ServletContext getServletContext()
      Return the standard Servlet API ServletContext for this application.