public void addResourceHandlers(ResourceHandlerRegistry registry) { if (!this.resourceProperties.isAddMappings()) { logger.debug("Default resource handling disabled"); } else { this.addResourceHandler(registry, this.mvcProperties.getWebjarsPathPattern(), "classpath:/META-INF/resources/webjars/"); this.addResourceHandler(registry, this.mvcProperties.getStaticPathPattern(), (registration) -> { registration.addResourceLocations(this.resourceProperties.getStaticLocations()); if (this.servletContext != null) { ServletContextResource resource = new ServletContextResource(this.servletContext, "/"); registration.addResourceLocations(new Resource[]{resource}); } }); } }
时间: 2024-02-14 12:25:23 浏览: 281
CPP-registry.zip_Registry.c_registry.cpp
这段代码是Spring MVC中的一个方法,用于添加资源处理器(ResourceHandler)到处理器注册表(ResourceHandlerRegistry)。当请求匹配到资源路径时,资源处理器会负责返回对应的资源。
首先,代码检查是否允许添加资源处理器。如果不允许,则打印日志信息表示默认资源处理被禁用。
否则,代码会调用`addResourceHandler`方法两次,分别传入WebJars路径模式和静态资源路径模式。
对于WebJars路径模式,代码会将"/META-INF/resources/webjars/"作为资源位置,并将该资源处理器添加到处理器注册表中。
对于静态资源路径模式,代码会将`resourceProperties.getStaticLocations()`返回的静态资源位置添加到资源处理器,并通过`ServletContextResource`将servlet上下文的根目录也添加到资源位置中。最后,将该资源处理器添加到处理器注册表中。
这段代码的作用是配置Spring MVC应用程序中的静态资源处理。
阅读全文