org.springframework.web.servlet.config.annotation

## Class ResourceHandlerRegistry

- java.lang.Object
- - org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry

-     public class ResourceHandlerRegistry
      extends Object

  Stores registrations of resource handlers for serving static resources such as images, css files and others through Spring MVC including setting cache headers optimized for efficient loading in a web browser. Resources can be served out of locations under web application root, from the classpath, and others.

  To create a resource handler, use `addResourceHandler(String...)` providing the URL path patterns for which the handler should be invoked to serve static resources (e.g. `"/resources/**"`).

  Then use additional methods on the returned `ResourceHandlerRegistration` to add one or more locations from which to serve static content from (e.g. {`"/"`, `"classpath:/META-INF/public-web-resources/"`}) or to specify a cache period for served resources.

  Since:
    3.1
  Author:
    Rossen Stoyanchev
  See Also:
    `DefaultServletHandlerConfigurer`

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ResourceHandlerRegistry(ApplicationContext applicationContext, ServletContext servletContext)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `ResourceHandlerRegistration` | `addResourceHandler(String... pathPatterns)` Add a resource handler for serving static resources based on the specified URL path patterns.
    `protected AbstractHandlerMapping` | `getHandlerMapping()` Return a handler mapping with the mapped resource handlers; or `null` in case of no registrations.
    `boolean` | `hasMappingForPattern(String pathPattern)` Whether a resource handler has already been registered for the given pathPattern.
    `ResourceHandlerRegistry` | `setOrder(int order)` Specify the order to use for resource handling relative to other `HandlerMapping`s configured in the Spring MVC application context.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### ResourceHandlerRegistry

          public ResourceHandlerRegistry(ApplicationContext applicationContext,
                                         ServletContext servletContext)

  - ### Method Detail

    - #### addResourceHandler

          public ResourceHandlerRegistration addResourceHandler(String... pathPatterns)

      Add a resource handler for serving static resources based on the specified URL path patterns. The handler will be invoked for every incoming request that matches to one of the specified path patterns.
      Returns:
        A `ResourceHandlerRegistration` to use to further configure the registered resource handler.

    - #### hasMappingForPattern

          public boolean hasMappingForPattern(String pathPattern)

      Whether a resource handler has already been registered for the given pathPattern.

    - #### setOrder

          public ResourceHandlerRegistry setOrder(int order)

      Specify the order to use for resource handling relative to other `HandlerMapping`s configured in the Spring MVC application context. The default value used is `Integer.MAX_VALUE-1`.

    - #### getHandlerMapping

          protected AbstractHandlerMapping getHandlerMapping()

      Return a handler mapping with the mapped resource handlers; or `null` in case of no registrations.