Overview | Package | Class | Tree | Deprecated | Index | Help
| Spring Framework
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.springframework.web.context.request
Class ServletWebRequest

    java.lang.Object
      org.springframework.web.context.request.AbstractRequestAttributes
          org.springframework.web.context.request.ServletRequestAttributes
              org.springframework.web.context.request.ServletWebRequest

All Implemented Interfaces:
  NativeWebRequest, RequestAttributes, WebRequest

Direct Known Subclasses:
  DispatcherServletWebRequest, NoOpAsyncWebRequest, StandardServletAsyncWebRequest

    public class ServletWebRequest

extends ServletRequestAttributes
implements NativeWebRequest

`WebRequest` adapter for an `HttpServletRequest`.

Since:
  2.0
Author:
  Juergen Hoeller

Field Summary

Fields inherited from class org.springframework.web.context.request.ServletRequestAttributes
`DESTRUCTION_CALLBACK_NAME_PREFIX`

Fields inherited from class org.springframework.web.context.request.AbstractRequestAttributes
`requestDestructionCallbacks`

Fields inherited from interface org.springframework.web.context.request.RequestAttributes
`REFERENCE_REQUEST, REFERENCE_SESSION, SCOPE_GLOBAL_SESSION, SCOPE_REQUEST, SCOPE_SESSION`

Constructor Summary
`ServletWebRequest(javax.servlet.http.HttpServletRequest request)` Create a new ServletWebRequest instance for the given request.
`ServletWebRequest(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)` Create a new ServletWebRequest instance for the given request/response pair.

Method Summary
`boolean` | `checkNotModified(long lastModifiedTimestamp)` Check whether the request qualifies as not modified given the supplied last-modified timestamp (as determined by the application).
`boolean` | `checkNotModified(java.lang.String eTag)` Check whether the request qualifies as not modified given the supplied `ETag` (entity tag), as determined by the application.
`java.lang.String` | `getContextPath()` Return the context path for this request (usually the base path that the current web application is mapped to).
`java.lang.String` | `getDescription(boolean includeClientInfo)` Get a short description of this request, typically containing request URI and session id.
`java.lang.String` | `getHeader(java.lang.String headerName)` Return the request header of the given name, or `null` if none.
`java.util.Iterator<java.lang.String>` | `getHeaderNames()` Return a Iterator over request header names.
`java.lang.String[]` | `getHeaderValues(java.lang.String headerName)` Return the request header values for the given header name, or `null` if none.
`java.util.Locale` | `getLocale()` Return the primary Locale for this request.
`java.lang.Object` | `getNativeRequest()` Return the underlying native request object, if available.
`
`<T> T`
` | `getNativeRequest(java.lang.Class<T> requiredType)` Return the underlying native request object, if available.
`java.lang.Object` | `getNativeResponse()` Return the underlying native response object, if available.
`
`<T> T`
` | `getNativeResponse(java.lang.Class<T> requiredType)` Return the underlying native request object, if available.
`java.lang.String` | `getParameter(java.lang.String paramName)` Return the request parameter of the given name, or `null` if none.
`java.util.Map<java.lang.String,java.lang.String[]>` | `getParameterMap()` Return a immutable Map of the request parameters, with parameter names as map keys and parameter values as map values.
`java.util.Iterator<java.lang.String>` | `getParameterNames()` Return a Iterator over request parameter names.
`java.lang.String[]` | `getParameterValues(java.lang.String paramName)` Return the request parameter values for the given parameter name, or `null` if none.
`java.lang.String` | `getRemoteUser()` Return the remote user for this request, if any.
`javax.servlet.http.HttpServletResponse` | `getResponse()` Exposes the native `HttpServletRequest` that we're wrapping (if any).
`java.security.Principal` | `getUserPrincipal()` Return the user principal for this request, if any.
`boolean` | `isNotModified()`
`boolean` | `isSecure()` Return whether this request has been sent over a secure transport mechanism (such as SSL).
`boolean` | `isUserInRole(java.lang.String role)` Determine whether the user is in the given role for this request.
`java.lang.String` | `toString()`

Methods inherited from class org.springframework.web.context.request.ServletRequestAttributes
`getAttribute, getAttributeNames, getRequest, getSession, getSessionId, getSessionMutex, registerDestructionCallback, registerSessionDestructionCallback, removeAttribute, resolveReference, setAttribute, updateAccessedSessionAttributes`

Methods inherited from class org.springframework.web.context.request.AbstractRequestAttributes
`isRequestActive, registerRequestDestructionCallback, removeRequestDestructionCallback, requestCompleted`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Methods inherited from interface org.springframework.web.context.request.RequestAttributes
`getAttribute, getAttributeNames, getSessionId, getSessionMutex, registerDestructionCallback, removeAttribute, resolveReference, setAttribute`

Constructor Detail

### ServletWebRequest

    public ServletWebRequest(javax.servlet.http.HttpServletRequest request)

  Create a new ServletWebRequest instance for the given request.

  Parameters:
    `request` - current HTTP request

### ServletWebRequest

    public ServletWebRequest(javax.servlet.http.HttpServletRequest request,
                             javax.servlet.http.HttpServletResponse response)

  Create a new ServletWebRequest instance for the given request/response pair.

  Parameters:
    `request` - current HTTP request
    `response` - current HTTP response (for automatic last-modified handling)

Method Detail

### getResponse

    public final javax.servlet.http.HttpServletResponse getResponse()

  Exposes the native `HttpServletRequest` that we're wrapping (if any).

### getNativeRequest

    public java.lang.Object getNativeRequest()

  Description copied from interface: `NativeWebRequest`
  Return the underlying native request object, if available.

  Specified by:
    `getNativeRequest` in interface `NativeWebRequest`
  See Also:
    `HttpServletRequest`, `ActionRequest`, `RenderRequest`

### getNativeResponse

    public java.lang.Object getNativeResponse()

  Description copied from interface: `NativeWebRequest`
  Return the underlying native response object, if available.

  Specified by:
    `getNativeResponse` in interface `NativeWebRequest`
  See Also:
    `HttpServletResponse`, `ActionResponse`, `RenderResponse`

### getNativeRequest

    public <T> T getNativeRequest(java.lang.Class<T> requiredType)

  Description copied from interface: `NativeWebRequest`
  Return the underlying native request object, if available.

  Specified by:
    `getNativeRequest` in interface `NativeWebRequest`
  Parameters:
    `requiredType` - the desired type of request object
  Returns:
    the matching request object, or `null` if none of that type is available
  See Also:
    `HttpServletRequest`, `ActionRequest`, `RenderRequest`

### getNativeResponse

    public <T> T getNativeResponse(java.lang.Class<T> requiredType)

  Description copied from interface: `NativeWebRequest`
  Return the underlying native request object, if available.

  Specified by:
    `getNativeResponse` in interface `NativeWebRequest`
  Parameters:
    `requiredType` - the desired type of response object
  Returns:
    the matching response object, or `null` if none of that type is available
  See Also:
    `HttpServletRequest`, `ActionRequest`, `RenderRequest`

### getHeader

    public java.lang.String getHeader(java.lang.String headerName)

  Description copied from interface: `WebRequest`
  Return the request header of the given name, or `null` if none.

  Retrieves the first header value in case of a multi-value header.

  Specified by:
    `getHeader` in interface `WebRequest`
  See Also:
    `HttpServletRequest.getHeader(String)`

### getHeaderValues

    public java.lang.String[] getHeaderValues(java.lang.String headerName)

  Description copied from interface: `WebRequest`
  Return the request header values for the given header name, or `null` if none.

  A single-value header will be exposed as an array with a single element.

  Specified by:
    `getHeaderValues` in interface `WebRequest`
  See Also:
    `HttpServletRequest.getHeaders(String)`

### getHeaderNames

    public java.util.Iterator<java.lang.String> getHeaderNames()

  Description copied from interface: `WebRequest`
  Return a Iterator over request header names.

  Specified by:
    `getHeaderNames` in interface `WebRequest`
  See Also:
    `HttpServletRequest.getHeaderNames()`

### getParameter

    public java.lang.String getParameter(java.lang.String paramName)

  Description copied from interface: `WebRequest`
  Return the request parameter of the given name, or `null` if none.

  Retrieves the first parameter value in case of a multi-value parameter.

  Specified by:
    `getParameter` in interface `WebRequest`
  See Also:
    `ServletRequest.getParameter(String)`

### getParameterValues

    public java.lang.String[] getParameterValues(java.lang.String paramName)

  Description copied from interface: `WebRequest`
  Return the request parameter values for the given parameter name, or `null` if none.

  A single-value parameter will be exposed as an array with a single element.

  Specified by:
    `getParameterValues` in interface `WebRequest`
  See Also:
    `ServletRequest.getParameterValues(String)`

### getParameterNames

    public java.util.Iterator<java.lang.String> getParameterNames()

  Description copied from interface: `WebRequest`
  Return a Iterator over request parameter names.

  Specified by:
    `getParameterNames` in interface `WebRequest`
  See Also:
    `ServletRequest.getParameterNames()`

### getParameterMap

    public java.util.Map<java.lang.String,java.lang.String[]> getParameterMap()

  Description copied from interface: `WebRequest`
  Return a immutable Map of the request parameters, with parameter names as map keys and parameter values as map values. The map values will be of type String array.

  A single-value parameter will be exposed as an array with a single element.

  Specified by:
    `getParameterMap` in interface `WebRequest`
  See Also:
    `ServletRequest.getParameterMap()`

### getLocale

    public java.util.Locale getLocale()

  Description copied from interface: `WebRequest`
  Return the primary Locale for this request.

  Specified by:
    `getLocale` in interface `WebRequest`
  See Also:
    `ServletRequest.getLocale()`

### getContextPath

    public java.lang.String getContextPath()

  Description copied from interface: `WebRequest`
  Return the context path for this request (usually the base path that the current web application is mapped to).

  Specified by:
    `getContextPath` in interface `WebRequest`
  See Also:
    `HttpServletRequest.getContextPath()`

### getRemoteUser

    public java.lang.String getRemoteUser()

  Description copied from interface: `WebRequest`
  Return the remote user for this request, if any.

  Specified by:
    `getRemoteUser` in interface `WebRequest`
  See Also:
    `HttpServletRequest.getRemoteUser()`

### getUserPrincipal

    public java.security.Principal getUserPrincipal()

  Description copied from interface: `WebRequest`
  Return the user principal for this request, if any.

  Specified by:
    `getUserPrincipal` in interface `WebRequest`
  See Also:
    `HttpServletRequest.getUserPrincipal()`

### isUserInRole

    public boolean isUserInRole(java.lang.String role)

  Description copied from interface: `WebRequest`
  Determine whether the user is in the given role for this request.

  Specified by:
    `isUserInRole` in interface `WebRequest`
  See Also:
    `HttpServletRequest.isUserInRole(String)`

### isSecure

    public boolean isSecure()

  Description copied from interface: `WebRequest`
  Return whether this request has been sent over a secure transport mechanism (such as SSL).

  Specified by:
    `isSecure` in interface `WebRequest`
  See Also:
    `ServletRequest.isSecure()`

### checkNotModified

    public boolean checkNotModified(long lastModifiedTimestamp)

  Description copied from interface: `WebRequest`
  Check whether the request qualifies as not modified given the supplied last-modified timestamp (as determined by the application).

  This will also transparently set the appropriate response headers, for both the modified case and the not-modified case.

  Typical usage:

       public String myHandleMethod(WebRequest webRequest, Model model) {
         long lastModified = // application-specific calculation
         if (request.checkNotModified(lastModified)) {
           // shortcut exit - no further processing necessary
           return null;
         }
         // further request processing, actually building content
         model.addAttribute(...);
         return "myViewName";
       }

  Note: that you typically want to use either this `WebRequest.checkNotModified(long)` method; or `WebRequest.checkNotModified(String)`, but not both.

  Specified by:
    `checkNotModified` in interface `WebRequest`
  Parameters:
    `lastModifiedTimestamp` - the last-modified timestamp that the application determined for the underlying resource
  Returns:
    whether the request qualifies as not modified, allowing to abort request processing and relying on the response telling the client that the content has not been modified

### checkNotModified

    public boolean checkNotModified(java.lang.String eTag)

  Description copied from interface: `WebRequest`
  Check whether the request qualifies as not modified given the supplied `ETag` (entity tag), as determined by the application.

  This will also transparently set the appropriate response headers, for both the modified case and the not-modified case.

  Typical usage:

       public String myHandleMethod(WebRequest webRequest, Model model) {
         String eTag = // application-specific calculation
         if (request.checkNotModified(eTag)) {
           // shortcut exit - no further processing necessary
           return null;
         }
         // further request processing, actually building content
         model.addAttribute(...);
         return "myViewName";
       }

  Note: that you typically want to use either this `WebRequest.checkNotModified(String)` method; or `WebRequest.checkNotModified(long)`, but not both.

  Specified by:
    `checkNotModified` in interface `WebRequest`
  Parameters:
    `eTag` - the entity tag that the application determined for the underlying resource. This parameter will be padded with quotes (") if necessary.
  Returns:
    whether the request qualifies as not modified, allowing to abort request processing and relying on the response telling the client that the content has not been modified

### isNotModified

    public boolean isNotModified()

### getDescription

    public java.lang.String getDescription(boolean includeClientInfo)

  Description copied from interface: `WebRequest`
  Get a short description of this request, typically containing request URI and session id.

  Specified by:
    `getDescription` in interface `WebRequest`
  Parameters:
    `includeClientInfo` - whether to include client-specific information such as session id and user name
  Returns:
    the requested description as String

### toString

    public java.lang.String toString()

  Overrides:
    `toString` in class `ServletRequestAttributes`

Overview | Package | Class | Tree | Deprecated | Index | Help
| Spring Framework
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD