org.springframework.web.context.support

## Class ContextExposingHttpServletRequest

- java.lang.Object
- - javax.servlet.ServletRequestWrapper
  - - javax.servlet.http.HttpServletRequestWrapper
    - - org.springframework.web.context.support.ContextExposingHttpServletRequest

- All Implemented Interfaces:
    HttpServletRequest, ServletRequest

      public class ContextExposingHttpServletRequest
      extends HttpServletRequestWrapper

  HttpServletRequest decorator that makes all Spring beans in a given WebApplicationContext accessible as request attributes, through lazy checking once an attribute gets accessed.
  Since:
    2.5
  Author:
    Juergen Hoeller

- - ### Field Summary

    - ### Fields inherited from interface javax.servlet.http.HttpServletRequest

      `BASIC_AUTH, CLIENT_CERT_AUTH, DIGEST_AUTH, FORM_AUTH`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ContextExposingHttpServletRequest(HttpServletRequest originalRequest, WebApplicationContext context)` Create a new ContextExposingHttpServletRequest for the given request.
    `ContextExposingHttpServletRequest(HttpServletRequest originalRequest, WebApplicationContext context, Set<String> exposedContextBeanNames)` Create a new ContextExposingHttpServletRequest for the given request.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `Object` | `getAttribute(String name)`
    `WebApplicationContext` | `getWebApplicationContext()` Return the WebApplicationContext that this request runs in.
    `void` | `setAttribute(String name, Object value)`

    - ### Methods inherited from class javax.servlet.http.HttpServletRequestWrapper

      `authenticate, changeSessionId, getAuthType, getContextPath, getCookies, getDateHeader, getHeader, getHeaderNames, getHeaders, getHttpServletMapping, getIntHeader, getMethod, getPart, getParts, getPathInfo, getPathTranslated, getQueryString, getRemoteUser, getRequestedSessionId, getRequestURI, getRequestURL, getServletPath, getSession, getSession, getTrailerFields, getUserPrincipal, isRequestedSessionIdFromCookie, isRequestedSessionIdFromUrl, isRequestedSessionIdFromURL, isRequestedSessionIdValid, isTrailerFieldsReady, isUserInRole, login, logout, newPushBuilder, upgrade`

    - ### Methods inherited from class javax.servlet.ServletRequestWrapper

      `getAsyncContext, getAttributeNames, getCharacterEncoding, getContentLength, getContentLengthLong, getContentType, getDispatcherType, getInputStream, getLocalAddr, getLocale, getLocales, getLocalName, getLocalPort, getParameter, getParameterMap, getParameterNames, getParameterValues, getProtocol, getReader, getRealPath, getRemoteAddr, getRemoteHost, getRemotePort, getRequest, getRequestDispatcher, getScheme, getServerName, getServerPort, getServletContext, isAsyncStarted, isAsyncSupported, isSecure, isWrapperFor, isWrapperFor, removeAttribute, setCharacterEncoding, setRequest, startAsync, startAsync`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface javax.servlet.ServletRequest

      `getAsyncContext, getAttributeNames, getCharacterEncoding, getContentLength, getContentLengthLong, getContentType, getDispatcherType, getInputStream, getLocalAddr, getLocale, getLocales, getLocalName, getLocalPort, getParameter, getParameterMap, getParameterNames, getParameterValues, getProtocol, getReader, getRealPath, getRemoteAddr, getRemoteHost, getRemotePort, getRequestDispatcher, getScheme, getServerName, getServerPort, getServletContext, isAsyncStarted, isAsyncSupported, isSecure, removeAttribute, setCharacterEncoding, startAsync, startAsync`

- - ### Constructor Detail

    - #### ContextExposingHttpServletRequest

          public ContextExposingHttpServletRequest(HttpServletRequest originalRequest,
                                                   WebApplicationContext context)

      Create a new ContextExposingHttpServletRequest for the given request.
      Parameters:
        `originalRequest` - the original HttpServletRequest
        `context` - the WebApplicationContext that this request runs in

    - #### ContextExposingHttpServletRequest

          public ContextExposingHttpServletRequest(HttpServletRequest originalRequest,
                                                   WebApplicationContext context,
                                                   @Nullable
                                                   Set<String> exposedContextBeanNames)

      Create a new ContextExposingHttpServletRequest for the given request.
      Parameters:
        `originalRequest` - the original HttpServletRequest
        `context` - the WebApplicationContext that this request runs in
        `exposedContextBeanNames` - the names of beans in the context which are supposed to be exposed (if this is non-null, only the beans in this Set are eligible for exposure as attributes)

  - ### Method Detail

    - #### getWebApplicationContext

          public final WebApplicationContext getWebApplicationContext()

      Return the WebApplicationContext that this request runs in.

    - #### getAttribute

          @Nullable
          public Object getAttribute(String name)

      Specified by:
        `getAttribute` in interface `ServletRequest`
      Overrides:
        `getAttribute` in class `ServletRequestWrapper`

    - #### setAttribute

          public void setAttribute(String name,
                                   Object value)

      Specified by:
        `setAttribute` in interface `ServletRequest`
      Overrides:
        `setAttribute` in class `ServletRequestWrapper`