类 ResourceHandlerRegistry

java.lang.Object
cn.taketoday.web.config.ResourceHandlerRegistry

public class ResourceHandlerRegistry extends Object
Stores registrations of resource handlers for serving static resources such as images, css files and others through Web 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.

从以下版本开始:
4.0 2022/2/15 17:07
作者:
Rossen Stoyanchev, Harry Yang
另请参阅:
  • 字段详细资料

    • applicationContext

      private final cn.taketoday.context.ApplicationContext applicationContext
    • contentNegotiationManager

      @Nullable private final ContentNegotiationManager contentNegotiationManager
    • registrations

      private final List<ResourceHandlerRegistration> registrations
    • order

      private int order
    • notFoundHandler

      @Nullable private HttpRequestHandler notFoundHandler
  • 构造器详细资料

    • ResourceHandlerRegistry

      public ResourceHandlerRegistry(cn.taketoday.context.ApplicationContext context)
      Create a new resource handler registry for the given application context.
      参数:
      context - the application context
    • ResourceHandlerRegistry

      public ResourceHandlerRegistry(cn.taketoday.context.ApplicationContext context, @Nullable ContentNegotiationManager contentNegotiationManager)
      Create a new resource handler registry for the given application context.
      参数:
      context - the application context
      contentNegotiationManager - the content negotiation manager to use
  • 方法详细资料

    • addResourceHandler

      public ResourceHandlerRegistration addResourceHandler(String... pathPatterns)
      Add a resource handler to serve static resources. The handler is invoked for requests that match one of the specified URL path patterns.

      Patterns such as "/static/**" or "/css/{filename:\\w+\\.css}" are supported.

    • hasMappingForPattern

      public boolean hasMappingForPattern(String pathPattern)
      Whether a resource handler has already been registered for the given path pattern.
    • setOrder

      public void setOrder(int order)
      Specify the order to use for resource handling relative to other HandlerRegistries configured in the MVC application context.

      The default value used is Integer.MAX_VALUE-1.

    • setNotFoundHandler

      public void setNotFoundHandler(@Nullable HttpRequestHandler notFoundHandler)
      Set not found handler

      handle resource not found

      参数:
      notFoundHandler - HttpRequestHandler
    • getHandlerMapping

      @Nullable protected SimpleUrlHandlerMapping getHandlerMapping()
      Return a handler mapping with the mapped resource handlers; or null in case of no registrations.
    • getRequestHandler

      private ResourceHttpRequestHandler getRequestHandler(ResourceHandlerRegistration registration)