Class ServletRequestPathUtils
RequestPath
 representation of the path when use of
 parsed patterns
 is enabled or a String path for use with a
 PathMatcher otherwise.- Since:
- 5.3
- Author:
- Rossen Stoyanchev
- 
Field SummaryFieldsModifier and TypeFieldDescriptionstatic final StringName of Servlet request attribute that holds the parsedRequestPath.
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionstatic voidclearParsedRequestPath(ServletRequest request) static ObjectgetCachedPath(ServletRequest request) static StringgetCachedPathValue(ServletRequest request) Variant ofgetCachedPath(ServletRequest)that returns the path for request mapping as a String.static RequestPathgetParsedRequestPath(ServletRequest request) Return apreviouslyparsed and cachedRequestPath.static booleanhasCachedPath(ServletRequest request) static booleanhasParsedRequestPath(ServletRequest request) Check for apreviouslyparsed and cachedRequestPath.static RequestPathparseAndCache(HttpServletRequest request) Parse therequestURIto aRequestPathand save it in the request attributePATH_ATTRIBUTEfor subsequent use withparsed patterns.static voidsetParsedRequestPath(RequestPath requestPath, ServletRequest request) Set the cached, parsedRequestPathto the given value.
- 
Field Details- 
PATH_ATTRIBUTEName of Servlet request attribute that holds the parsedRequestPath.
 
- 
- 
Constructor Details- 
ServletRequestPathUtilspublic ServletRequestPathUtils()
 
- 
- 
Method Details- 
parseAndCacheParse therequestURIto aRequestPathand save it in the request attributePATH_ATTRIBUTEfor subsequent use withparsed patterns.The returned RequestPathwill have both the contextPath and any servletPath prefix omitted from thepathWithinApplicationit exposes.This method is typically called by the DispatcherServletto determine if anyHandlerMappingindicates that it uses parsed patterns. After that the pre-parsed and cachedRequestPathcan be accessed throughgetParsedRequestPath(ServletRequest).
- 
getParsedRequestPathReturn apreviouslyparsed and cachedRequestPath.- Throws:
- IllegalArgumentException- if not found
 
- 
setParsedRequestPathSet the cached, parsedRequestPathto the given value.- Parameters:
- requestPath- the value to set to, or if- nullthe cache value is cleared.
- request- the current request
- Since:
- 5.3.3
 
- 
hasParsedRequestPathCheck for apreviouslyparsed and cachedRequestPath.
- 
clearParsedRequestPath
- 
getCachedPathReturn thepre-resolvedString lookupPath or thepre-parsedRequestPath.In Spring MVC, when at least one HandlerMappinghas parsedPathPatternsenabled, theDispatcherServleteagerly parses and caches theRequestPathand the same can be also done earlier withServletRequestPathFilter. In other cases whereHandlerMappings use String pattern matching withPathMatcher, the String lookupPath is resolved separately by eachHandlerMapping.- Parameters:
- request- the current request
- Returns:
- a String lookupPath or a RequestPath
- Throws:
- IllegalArgumentException- if neither is available
 
- 
getCachedPathValueVariant ofgetCachedPath(ServletRequest)that returns the path for request mapping as a String.If the cached path is a pre-parsedRequestPaththen the returned String path value is encoded and with path parameters removed.If the cached path is a pre-resolvedString lookupPath, then the returned String path value depends on howUrlPathHelperthat resolved is configured.- Parameters:
- request- the current request
- Returns:
- the full request mapping path as a String
 
- 
hasCachedPath- Parameters:
- request- the current request
- Returns:
- whether a pre-resolved or pre-parsed path is available
 
 
-