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

Methods
`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, getAuthType, getContextPath, getCookies, getDateHeader, getHeader, getHeaderNames, getHeaders, getIntHeader, getMethod, getPart, getParts, getPathInfo, getPathTranslated, getQueryString, getRemoteUser, getRequestedSessionId, getRequestURI, getRequestURL, getServletPath, getSession, getSession, getUserPrincipal, isRequestedSessionIdFromCookie, isRequestedSessionIdFromUrl, isRequestedSessionIdFromURL, isRequestedSessionIdValid, isUserInRole, login, logout`

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

`getAsyncContext, getAttributeNames, getCharacterEncoding, getContentLength, 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, 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,
                                     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`