public class

ServletWebRequest

extends ServletRequestAttributes
implements NativeWebRequest
java.lang.Object
   ↳ org.springframework.web.context.request.AbstractRequestAttributes
     ↳ org.springframework.web.context.request.ServletRequestAttributes
       ↳ org.springframework.web.context.request.ServletWebRequest
Known Direct Subclasses

Class Overview

WebRequest adapter for an javax.servlet.http.HttpServletRequest.

Summary

[Expand]
Inherited Constants
From interface org.springframework.web.context.request.RequestAttributes
[Expand]
Inherited Fields
From class org.springframework.web.context.request.ServletRequestAttributes
From class org.springframework.web.context.request.AbstractRequestAttributes
Public Constructors
ServletWebRequest(HttpServletRequest request)
Create a new ServletWebRequest instance for the given request.
ServletWebRequest(HttpServletRequest request, HttpServletResponse response)
Create a new ServletWebRequest instance for the given request/response pair.
Public Methods
boolean checkNotModified(String eTag)
Check whether the request qualifies as not modified given the supplied ETag (entity tag), as determined by the application.
boolean checkNotModified(long lastModifiedTimestamp)
Check whether the request qualifies as not modified given the supplied last-modified timestamp (as determined by the application).
String getContextPath()
Return the context path for this request (usually the base path that the current web application is mapped to).
String getDescription(boolean includeClientInfo)
Get a short description of this request, typically containing request URI and session id.
String getHeader(String headerName)
Return the request header of the given name, or null if none.
Iterator<String> getHeaderNames()
Return a Iterator over request header names.
String[] getHeaderValues(String headerName)
Return the request header values for the given header name, or null if none.
Locale getLocale()
Return the primary Locale for this request.
<T> T getNativeRequest(Class<T> requiredType)
Return the underlying native request object, if available.
Object getNativeRequest()
Return the underlying native request object, if available.
Object getNativeResponse()
Return the underlying native response object, if available.
<T> T getNativeResponse(Class<T> requiredType)
Return the underlying native request object, if available.
String getParameter(String paramName)
Return the request parameter of the given name, or null if none.
Map<StringString[]> getParameterMap()
Return a immutable Map of the request parameters, with parameter names as map keys and parameter values as map values.
Iterator<String> getParameterNames()
Return a Iterator over request parameter names.
String[] getParameterValues(String paramName)
Return the request parameter values for the given parameter name, or null if none.
String getRemoteUser()
Return the remote user for this request, if any.
final HttpServletResponse getResponse()
Exposes the native HttpServletRequest that we're wrapping (if any).
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(String role)
Determine whether the user is in the given role for this request.
String toString()
[Expand]
Inherited Methods
From class org.springframework.web.context.request.ServletRequestAttributes
From class org.springframework.web.context.request.AbstractRequestAttributes
From class java.lang.Object
From interface org.springframework.web.context.request.NativeWebRequest
From interface org.springframework.web.context.request.RequestAttributes
From interface org.springframework.web.context.request.WebRequest

Public Constructors

public ServletWebRequest (HttpServletRequest request)

Create a new ServletWebRequest instance for the given request.

Parameters
request current HTTP request

public ServletWebRequest (HttpServletRequest request, 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)

Public Methods

public boolean checkNotModified (String eTag)

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 checkNotModified(String) method; or checkNotModified(long), but not both.

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

public boolean checkNotModified (long lastModifiedTimestamp)

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 checkNotModified(long) method; or checkNotModified(String), but not both.

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

public String getContextPath ()

Return the context path for this request (usually the base path that the current web application is mapped to).

public String getDescription (boolean includeClientInfo)

Get a short description of this request, typically containing request URI and session id.

Parameters
includeClientInfo whether to include client-specific information such as session id and user name
Returns
  • the requested description as String

public String getHeader (String headerName)

Return the request header of the given name, or null if none.

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

public Iterator<String> getHeaderNames ()

Return a Iterator over request header names.

public String[] getHeaderValues (String headerName)

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.

public Locale getLocale ()

Return the primary Locale for this request.

public T getNativeRequest (Class<T> requiredType)

Return the underlying native request object, if available.

Parameters
requiredType the desired type of request object
Returns
  • the matching request object, or null if none of that type is available

public Object getNativeRequest ()

Return the underlying native request object, if available.

public Object getNativeResponse ()

Return the underlying native response object, if available.

public T getNativeResponse (Class<T> requiredType)

Return the underlying native request object, if available.

Parameters
requiredType the desired type of response object
Returns
  • the matching response object, or null if none of that type is available

public String getParameter (String paramName)

Return the request parameter of the given name, or null if none.

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

public Map<StringString[]> getParameterMap ()

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.

public Iterator<String> getParameterNames ()

Return a Iterator over request parameter names.

public String[] getParameterValues (String paramName)

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.

public String getRemoteUser ()

Return the remote user for this request, if any.

public final HttpServletResponse getResponse ()

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

public Principal getUserPrincipal ()

Return the user principal for this request, if any.

public boolean isNotModified ()

public boolean isSecure ()

Return whether this request has been sent over a secure transport mechanism (such as SSL).

public boolean isUserInRole (String role)

Determine whether the user is in the given role for this request.

public String toString ()