Class ResourceHandlerRegistration
- Since:
- 5.0
- Author:
- Rossen Stoyanchev
-
Constructor Summary
ConstructorDescriptionResourceHandlerRegistration
(ResourceLoader resourceLoader, String... pathPatterns) Create aResourceHandlerRegistration
instance. -
Method Summary
Modifier and TypeMethodDescriptionaddResourceLocations
(String... resourceLocations) Add one or more resource locations from which to serve static content.protected String[]
Returns the URL path patterns for the resource handler.protected ResourceWebHandler
Returns aResourceWebHandler
instance.resourceChain
(boolean cacheResources) Configure a chain of resource resolvers and transformers to use.resourceChain
(boolean cacheResources, Cache cache) Configure a chain of resource resolvers and transformers to use.setCacheControl
(CacheControl cacheControl) Specify theCacheControl
which should be used by the resource handler.void
setMediaTypes
(Map<String, MediaType> mediaTypes) Add mappings between file extensions extracted from the filename of staticResource
s and the media types to use for the response.setOptimizeLocations
(boolean optimizeLocations) Set whether to optimize the specified locations through an existence check on startup, filtering non-existing directories upfront so that they do not have to be checked on every resource access.setUseLastModified
(boolean useLastModified) Set whether theResource.lastModified()
information should be used to drive HTTP responses.
-
Constructor Details
-
ResourceHandlerRegistration
Create aResourceHandlerRegistration
instance.- Parameters:
resourceLoader
- a resource loader for turning a String location into aResource
pathPatterns
- one or more resource URL path patterns
-
-
Method Details
-
addResourceLocations
Add one or more resource locations from which to serve static content.Each location must point to a valid directory. Multiple locations may be specified as a comma-separated list, and the locations will be checked for a given resource in the order specified.
For example,
"/", "classpath:/META-INF/public-web-resources/"
allows resources to be served both from the web application root and from any JAR on the classpath that contains a/META-INF/public-web-resources/
directory, with resources in the web application root taking precedence.- Returns:
- the same
ResourceHandlerRegistration
instance, for chained method invocation
-
setCacheControl
Specify theCacheControl
which should be used by the resource handler.- Parameters:
cacheControl
- the CacheControl configuration to use- Returns:
- the same
ResourceHandlerRegistration
instance, for chained method invocation
-
setUseLastModified
Set whether theResource.lastModified()
information should be used to drive HTTP responses.This configuration is set to
true
by default.- Parameters:
useLastModified
- whether the "last modified" resource information should be used- Returns:
- the same
ResourceHandlerRegistration
instance, for chained method invocation - Since:
- 5.3
- See Also:
-
setOptimizeLocations
Set whether to optimize the specified locations through an existence check on startup, filtering non-existing directories upfront so that they do not have to be checked on every resource access.The default is
false
, for defensiveness against zip files without directory entries which are unable to expose the existence of a directory upfront. Switch this flag totrue
for optimized access in case of a consistent jar layout with directory entries.- Parameters:
optimizeLocations
- whether to optimize the locations through an existence check on startup- Returns:
- the same
ResourceHandlerRegistration
instance, for chained method invocation - Since:
- 5.3.13
- See Also:
-
resourceChain
Configure a chain of resource resolvers and transformers to use. This can be useful, for example, to apply a version strategy to resource URLs.If this method is not invoked, by default only a simple
PathResourceResolver
is used in order to match URL paths to resources under the configured locations.- Parameters:
cacheResources
- whether to cache the result of resource resolution; setting this to "true" is recommended for production (and "false" for development, especially when applying a version strategy)- Returns:
- the same
ResourceHandlerRegistration
instance, for chained method invocation
-
resourceChain
Configure a chain of resource resolvers and transformers to use. This can be useful, for example, to apply a version strategy to resource URLs.If this method is not invoked, by default only a simple
PathResourceResolver
is used in order to match URL paths to resources under the configured locations.- Parameters:
cacheResources
- whether to cache the result of resource resolution; setting this to "true" is recommended for production (and "false" for development, especially when applying a version strategycache
- the cache to use for storing resolved and transformed resources; by default aConcurrentMapCache
is used. Since Resources aren't serializable and can be dependent on the application host, one should not use a distributed cache but rather an in-memory cache.- Returns:
- the same
ResourceHandlerRegistration
instance, for chained method invocation
-
setMediaTypes
Add mappings between file extensions extracted from the filename of staticResource
s and the media types to use for the response.Use of this method is typically not necessary since mappings can be also determined via
MediaTypeFactory.getMediaType(Resource)
.- Parameters:
mediaTypes
- media type mappings- Since:
- 5.3.2
-
getPathPatterns
Returns the URL path patterns for the resource handler. -
getRequestHandler
Returns aResourceWebHandler
instance.
-