Class ContextExposingHttpServletRequest

java.lang.Object
jakarta.servlet.ServletRequestWrapper
jakarta.servlet.http.HttpServletRequestWrapper
org.springframework.web.context.support.ContextExposingHttpServletRequest
All Implemented Interfaces:
jakarta.servlet.http.HttpServletRequest, jakarta.servlet.ServletRequest

public class ContextExposingHttpServletRequest extends jakarta.servlet.http.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 jakarta.servlet.http.HttpServletRequest

    BASIC_AUTH, CLIENT_CERT_AUTH, DIGEST_AUTH, FORM_AUTH
  • Constructor Summary

    Constructors
    Constructor
    Description
    ContextExposingHttpServletRequest(jakarta.servlet.http.HttpServletRequest originalRequest, WebApplicationContext context)
    Create a new ContextExposingHttpServletRequest for the given request.
    ContextExposingHttpServletRequest(jakarta.servlet.http.HttpServletRequest originalRequest, WebApplicationContext context, @Nullable Set<String> exposedContextBeanNames)
    Create a new ContextExposingHttpServletRequest for the given request.
  • Method Summary

    Modifier and Type
    Method
    Description
     
    Return the WebApplicationContext that this request runs in.
    void
    setAttribute(String name, Object value)
     

    Methods inherited from class jakarta.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, isRequestedSessionIdValid, isTrailerFieldsReady, isUserInRole, login, logout, newPushBuilder, upgrade

    Methods inherited from class jakarta.servlet.ServletRequestWrapper

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

    Methods inherited from class Object

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

    Methods inherited from interface jakarta.servlet.ServletRequest

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

    • ContextExposingHttpServletRequest

      public ContextExposingHttpServletRequest(jakarta.servlet.http.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(jakarta.servlet.http.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 Details

    • getWebApplicationContext

      public final WebApplicationContext getWebApplicationContext()
      Return the WebApplicationContext that this request runs in.
    • getAttribute

      public @Nullable Object getAttribute(String name)
      Specified by:
      getAttribute in interface jakarta.servlet.ServletRequest
      Overrides:
      getAttribute in class jakarta.servlet.ServletRequestWrapper
    • setAttribute

      public void setAttribute(String name, Object value)
      Specified by:
      setAttribute in interface jakarta.servlet.ServletRequest
      Overrides:
      setAttribute in class jakarta.servlet.ServletRequestWrapper