接口 WebRequest
- 所有超级接口:
RequestAttributes
- 所有已知子接口:
AsyncWebRequest
,NativeWebRequest
- 所有已知实现类:
DispatcherServletWebRequest
,FacesWebRequest
,NoSupportAsyncWebRequest
,PortletWebRequest
,ServletWebRequest
,StandardServletAsyncWebRequest
public interface WebRequest extends RequestAttributes
Generic interface for a web request. Mainly intended for generic web request interceptors, giving them access to general request metadata, not for actual handling of the request.- 从以下版本开始:
- 2.0
- 作者:
- Juergen Hoeller, Brian Clozel
- 另请参阅:
WebRequestInterceptor
字段概要
从接口继承的字段 org.springframework.web.context.request.RequestAttributes
REFERENCE_REQUEST, REFERENCE_SESSION, SCOPE_GLOBAL_SESSION, SCOPE_REQUEST, SCOPE_SESSION
方法概要
所有方法 实例方法 抽象方法 修饰符和类型 方法 说明 boolean
checkNotModified(long lastModifiedTimestamp)
Check whether the requested resource has been modified given the supplied last-modified timestamp (as determined by the application).boolean
checkNotModified(String etag)
Check whether the requested resource has been modified given the suppliedETag
(entity tag), as determined by the application.boolean
checkNotModified(String etag, long lastModifiedTimestamp)
Check whether the requested resource has been modified given the suppliedETag
(entity tag) and 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, ornull
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, ornull
if none.Locale
getLocale()
Return the primary Locale for this request.String
getParameter(String paramName)
Return the request parameter of the given name, ornull
if none.Map<String,String[]>
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, ornull
if none.String
getRemoteUser()
Return the remote user for this request, if any.Principal
getUserPrincipal()
Return the user principal for this request, if any.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.从接口继承的方法 org.springframework.web.context.request.RequestAttributes
getAttribute, getAttributeNames, getSessionId, getSessionMutex, registerDestructionCallback, removeAttribute, resolveReference, setAttribute
方法详细资料
getHeader
String getHeader(String headerName)
Return the request header of the given name, ornull
if none.Retrieves the first header value in case of a multi-value header.
- 从以下版本开始:
- 3.0
- 另请参阅:
HttpServletRequest.getHeader(String)
getHeaderValues
String[] getHeaderValues(String headerName)
Return the request header values for the given header name, ornull
if none.A single-value header will be exposed as an array with a single element.
- 从以下版本开始:
- 3.0
- 另请参阅:
HttpServletRequest.getHeaders(String)
getHeaderNames
Iterator<String> getHeaderNames()
Return a Iterator over request header names.- 从以下版本开始:
- 3.0
- 另请参阅:
HttpServletRequest.getHeaderNames()
getParameter
String getParameter(String paramName)
Return the request parameter of the given name, ornull
if none.Retrieves the first parameter value in case of a multi-value parameter.
getParameterValues
String[] getParameterValues(String paramName)
Return the request parameter values for the given parameter name, ornull
if none.A single-value parameter will be exposed as an array with a single element.
getParameterNames
Iterator<String> getParameterNames()
Return a Iterator over request parameter names.- 从以下版本开始:
- 3.0
- 另请参阅:
ServletRequest.getParameterNames()
getParameterMap
Map<String,String[]> 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.
getContextPath
String getContextPath()
Return the context path for this request (usually the base path that the current web application is mapped to).
getRemoteUser
String getRemoteUser()
Return the remote user for this request, if any.
getUserPrincipal
Principal getUserPrincipal()
Return the user principal for this request, if any.
isUserInRole
boolean isUserInRole(String role)
Determine whether the user is in the given role for this request.
isSecure
boolean isSecure()
Return whether this request has been sent over a secure transport mechanism (such as SSL).
checkNotModified
boolean checkNotModified(long lastModifiedTimestamp)
Check whether the requested resource has been modified given the supplied last-modified timestamp (as determined by the application).This will also transparently set the "Last-Modified" response header and HTTP status when applicable.
Typical usage:
public String myHandleMethod(WebRequest request, 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"; }
This method works with conditional GET/HEAD requests, but also with conditional POST/PUT/DELETE requests.
Note: you can use either this
#checkNotModified(long)
method; orcheckNotModified(String)
. If you want enforce both a strong entity tag and a Last-Modified value, as recommended by the HTTP specification, then you should usecheckNotModified(String, long)
.If the "If-Modified-Since" header is set but cannot be parsed to a date value, this method will ignore the header and proceed with setting the last-modified timestamp on the response.
- 参数:
lastModifiedTimestamp
- the last-modified timestamp in milliseconds that the application determined for the underlying resource- 返回:
- 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
boolean checkNotModified(String etag)
Check whether the requested resource has been modified given the suppliedETag
(entity tag), as determined by the application.This will also transparently set the "ETag" response header and HTTP status when applicable.
Typical usage:
public String myHandleMethod(WebRequest request, 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: you can use either this
#checkNotModified(String)
method; orcheckNotModified(long)
. If you want enforce both a strong entity tag and a Last-Modified value, as recommended by the HTTP specification, then you should usecheckNotModified(String, long)
.- 参数:
etag
- the entity tag that the application determined for the underlying resource. This parameter will be padded with quotes (") if necessary.- 返回:
- true if the request does not require further processing.
checkNotModified
boolean checkNotModified(String etag, long lastModifiedTimestamp)
Check whether the requested resource has been modified given the suppliedETag
(entity tag) and last-modified timestamp, as determined by the application.This will also transparently set the "ETag" and "Last-Modified" response headers, and HTTP status when applicable.
Typical usage:
public String myHandleMethod(WebRequest request, Model model) { String eTag = // application-specific calculation long lastModified = // application-specific calculation if (request.checkNotModified(eTag, lastModified)) { // shortcut exit - no further processing necessary return null; } // further request processing, actually building content model.addAttribute(...); return "myViewName"; }
This method works with conditional GET/HEAD requests, but also with conditional POST/PUT/DELETE requests.
Note: The HTTP specification recommends setting both ETag and Last-Modified values, but you can also use
#checkNotModified(String)
orcheckNotModified(long)
.- 参数:
etag
- the entity tag that the application determined for the underlying resource. This parameter will be padded with quotes (") if necessary.lastModifiedTimestamp
- the last-modified timestamp in milliseconds that the application determined for the underlying resource- 返回:
- true if the request does not require further processing.
- 从以下版本开始:
- 4.2
getDescription
String getDescription(boolean includeClientInfo)
Get a short description of this request, typically containing request URI and session id.- 参数:
includeClientInfo
- whether to include client-specific information such as session id and user name- 返回:
- the requested description as String