org.springframework.web.servlet.config.annotation

Class ResourceHandlerRegistration

  • java.lang.Object
    • org.springframework.web.servlet.config.annotation.ResourceHandlerRegistration


  • public class ResourceHandlerRegistration
    extends java.lang.Object
    Encapsulates information required to create a resource handler.
    Since:
    3.1
    Author:
    Rossen Stoyanchev, Keith Donald, Brian Clozel
    • Constructor Detail

      • ResourceHandlerRegistration

        public ResourceHandlerRegistration(java.lang.String... pathPatterns)
        Create a ResourceHandlerRegistration instance.
        Parameters:
        pathPatterns - one or more resource URL path patterns
    • Method Detail

      • addResourceLocations

        public ResourceHandlerRegistration addResourceLocations(java.lang.String... resourceLocations)
        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.

        For URL-based resources (e.g. files, HTTP URLs, etc) this method supports a special prefix to indicate the charset associated with the URL so that relative paths appended to it can be encoded correctly, e.g. [charset=Windows-31J]http://example.org/path.

        Returns:
        the same ResourceHandlerRegistration instance, for chained method invocation
      • setCachePeriod

        public ResourceHandlerRegistration setCachePeriod(java.lang.Integer cachePeriod)
        Specify the cache period for the resources served by the resource handler, in seconds. The default is to not send any cache headers but to rely on last-modified timestamps only. Set to 0 in order to send cache headers that prevent caching, or to a positive number of seconds to send cache headers with the given max-age value.
        Parameters:
        cachePeriod - the time to cache resources in seconds
        Returns:
        the same ResourceHandlerRegistration instance, for chained method invocation
      • resourceChain

        public ResourceChainRegistration resourceChain(boolean cacheResources)
        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
        Since:
        4.1
      • resourceChain

        public ResourceChainRegistration resourceChain(boolean cacheResources,
                                                       Cache cache)
        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
        cache - the cache to use for storing resolved and transformed resources; by default a ConcurrentMapCache 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
        Since:
        4.1
      • getPathPatterns

        protected java.lang.String[] getPathPatterns()
        Return the URL path patterns for the resource handler.