## 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
`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
`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

`getAuthType, getContextPath, getCookies, getDateHeader, getHeader, getHeaderNames, getHeaders, getIntHeader, getMethod, getPathInfo, getPathTranslated, getQueryString, getRemoteUser, getRequestedSessionId, getRequestURI, getRequestURL, getServletPath, getSession, getSession, getUserPrincipal, isRequestedSessionIdFromCookie, isRequestedSessionIdFromUrl, isRequestedSessionIdFromURL, isRequestedSessionIdValid, isUserInRole`

Methods inherited from class javax.servlet.ServletRequestWrapper

`getAttributeNames, getCharacterEncoding, getContentLength, getContentType, getInputStream, getLocalAddr, getLocale, getLocales, getLocalName, getLocalPort, getParameter, getParameterMap, getParameterNames, getParameterValues, getProtocol, getReader, getRealPath, getRemoteAddr, getRemoteHost, getRemotePort, getRequest, getRequestDispatcher, getScheme, getServerName, getServerPort, isSecure, removeAttribute, setCharacterEncoding, setRequest`

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

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

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,
                                             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

    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`