Class PathResourceResolver
java.lang.Object
org.springframework.web.servlet.resource.AbstractResourceResolver
org.springframework.web.servlet.resource.PathResourceResolver
- All Implemented Interfaces:
- ResourceResolver
A simple 
ResourceResolver that tries to find a resource under the given
 locations matching to the request path.
 This resolver does not delegate to the ResourceResolverChain and is
 expected to be configured at the end in a chain of resolvers.
- Since:
- 4.1
- Author:
- Jeremy Grelle, Rossen Stoyanchev, Sam Brannen
- 
Field SummaryFields inherited from class org.springframework.web.servlet.resource.AbstractResourceResolverlogger
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionprotected booleancheckResource(Resource resource, Resource location) Perform additional checks on a resolved resource beyond checking whether the resource exists and is readable.Resource[]Return charsets associated with static resource locations.protected ResourcegetResource(String resourcePath, Resource location) Find the resource under the given location.The configuredUrlPathHelper.protected ResourceresolveResourceInternal(HttpServletRequest request, String requestPath, List<? extends Resource> locations, ResourceResolverChain chain) protected StringresolveUrlPathInternal(String resourcePath, List<? extends Resource> locations, ResourceResolverChain chain) voidsetAllowedLocations(Resource... locations) By default, when a Resource is found, the path of the resolved resource is compared to ensure it's under the input location where it was found.voidsetLocationCharsets(Map<Resource, Charset> locationCharsets) Configure charsets associated with locations.voidsetUrlPathHelper(UrlPathHelper urlPathHelper) Provide a reference to theUrlPathHelperused to map requests to static resources.Methods inherited from class org.springframework.web.servlet.resource.AbstractResourceResolverresolveResource, resolveUrlPath
- 
Constructor Details- 
PathResourceResolverpublic PathResourceResolver()
 
- 
- 
Method Details- 
setAllowedLocationsBy default, when a Resource is found, the path of the resolved resource is compared to ensure it's under the input location where it was found. However sometimes that may not be the case, e.g. whenCssLinkResourceTransformerresolves public URLs of links it contains, the CSS file is the location and the resources being resolved are css files, images, fonts and others located in adjacent or parent directories.This property allows configuring a complete list of locations under which resources must be so that if a resource is not under the location relative to which it was found, this list may be checked as well. By default ResourceHttpRequestHandlerinitializes this property to match its list of locations.- Parameters:
- locations- the list of allowed locations
- Since:
- 4.1.2
- See Also:
 
- 
getAllowedLocations
- 
setLocationCharsetsConfigure charsets associated with locations. If a static resource is found under aURL resourcelocation the charset is used to encode the relative pathNote: the charset is used only if the urlPathHelperproperty is also configured and itsurlDecodeproperty is set to true.- Since:
- 4.3.13
 
- 
getLocationCharsetsReturn charsets associated with static resource locations.- Since:
- 4.3.13
 
- 
setUrlPathHelperProvide a reference to theUrlPathHelperused to map requests to static resources. This helps to derive information about the lookup path such as whether it is decoded or not.- Since:
- 4.3.13
 
- 
getUrlPathHelperThe configuredUrlPathHelper.- Since:
- 4.3.13
 
- 
resolveResourceInternal@Nullable protected Resource resolveResourceInternal(@Nullable HttpServletRequest request, String requestPath, List<? extends Resource> locations, ResourceResolverChain chain) - Specified by:
- resolveResourceInternalin class- AbstractResourceResolver
 
- 
resolveUrlPathInternal@Nullable protected String resolveUrlPathInternal(String resourcePath, List<? extends Resource> locations, ResourceResolverChain chain) - Specified by:
- resolveUrlPathInternalin class- AbstractResourceResolver
 
- 
getResourceFind the resource under the given location.The default implementation checks if there is a readable Resourcefor the given path relative to the location.- Parameters:
- resourcePath- the path to the resource
- location- the location to check
- Returns:
- the resource, or nullif none found
- Throws:
- IOException
 
- 
checkResourcePerform additional checks on a resolved resource beyond checking whether the resource exists and is readable. The default implementation also verifies the resource is either under the location relative to which it was found or is under one of the allowed locations.- Parameters:
- resource- the resource to check
- location- the location relative to which the resource was found
- Returns:
- "true" if resource is in a valid location, "false" otherwise
- Throws:
- IOException
- Since:
- 4.1.2
 
 
-