public class HttpSessionRequestCache extends Object implements RequestCache
RequestCache
which stores the SavedRequest
in the HttpSession.
The DefaultSavedRequest
class is used as the implementation.Modifier and Type | Field and Description |
---|---|
protected org.apache.commons.logging.Log |
logger |
Constructor and Description |
---|
HttpSessionRequestCache() |
Modifier and Type | Method and Description |
---|---|
javax.servlet.http.HttpServletRequest |
getMatchingRequest(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
Returns a wrapper around the saved request, if it matches the current request.
|
SavedRequest |
getRequest(javax.servlet.http.HttpServletRequest currentRequest,
javax.servlet.http.HttpServletResponse response)
Returns the saved request, leaving it cached.
|
void |
removeRequest(javax.servlet.http.HttpServletRequest currentRequest,
javax.servlet.http.HttpServletResponse response)
Removes the cached request.
|
void |
saveRequest(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
Stores the current request, provided the configuration properties allow it.
|
void |
setCreateSessionAllowed(boolean createSessionAllowed)
If
true , indicates that it is permitted to store the target
URL and exception information in a new HttpSession (the default). |
void |
setPortResolver(PortResolver portResolver) |
void |
setRequestMatcher(RequestMatcher requestMatcher)
Allows selective use of saved requests for a subset of requests.
|
public void saveRequest(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
saveRequest
in interface RequestCache
request
- the request to be storedpublic SavedRequest getRequest(javax.servlet.http.HttpServletRequest currentRequest, javax.servlet.http.HttpServletResponse response)
RequestCache
getRequest
in interface RequestCache
currentRequest
- the current requestpublic void removeRequest(javax.servlet.http.HttpServletRequest currentRequest, javax.servlet.http.HttpServletResponse response)
RequestCache
removeRequest
in interface RequestCache
currentRequest
- the current request, allowing access to the cache.public javax.servlet.http.HttpServletRequest getMatchingRequest(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
RequestCache
getMatchingRequest
in interface RequestCache
public void setRequestMatcher(RequestMatcher requestMatcher)
saveRequest
method.
If set, only matching requests will be cached.
requestMatcher
- a request matching strategy which defines which requests should be cached.public void setCreateSessionAllowed(boolean createSessionAllowed)
true
, indicates that it is permitted to store the target
URL and exception information in a new HttpSession
(the default).
In situations where you do not wish to unnecessarily create HttpSession
s - because the user agent
will know the failed URL, such as with BASIC or Digest authentication - you may wish to set this property to
false
.public void setPortResolver(PortResolver portResolver)