spring boot 静态资源的映射规则 (1) webjars 资源映射

我们可以在   WebMvcAutoConfiguration 这个类下查找一个方法    addResourceHandlers

  public void addResourceHandlers(ResourceHandlerRegistry registry) {
            if (!this.resourceProperties.isAddMappings()) {
                logger.debug("Default resource handling disabled");
            } else {
                Duration cachePeriod = this.resourceProperties.getCache().getPeriod();
                CacheControl cacheControl = this.resourceProperties.getCache().getCachecontrol().toHttpCacheControl();
                if (!registry.hasMappingForPattern("/webjars/**")) {
                    this.customizeResourceHandlerRegistration(registry.addResourceHandler(new String[]{"/webjars/**"}).addResourceLocations(new String[]{"classpath:/META-INF/resources/webjars/"}).setCachePeriod(this.getSeconds(cachePeriod)).setCacheControl(cacheControl));
                }

                String staticPathPattern = this.mvcProperties.getStaticPathPattern();
                if (!registry.hasMappingForPattern(staticPathPattern)) {
                    this.customizeResourceHandlerRegistration(registry.addResourceHandler(new String[]{staticPathPattern}).addResourceLocations(WebMvcAutoConfiguration.getResourceLocations(this.resourceProperties.getStaticLocations())).setCachePeriod(this.getSeconds(cachePeriod)).setCacheControl(cacheControl));
                }

            }
        }

从这段代码我们可以看出 如果收到    /webjars/**    请求 , 我们会去    classpath:/META-INF/resources/webjars/  这里查找资源文件

比如 我们 可以 去  https://www.webjars.org/ 这个官网  引入jquery

添加依赖到pom.xml 文件下

<dependency>
    <groupId>org.webjars</groupId>
    <artifactId>jquery</artifactId>
    <version>3.3.1</version>
</dependency>

访问 http://localhost:8080/webjars/jquery/3.3.1/jquery.js

得到

原文地址:https://www.cnblogs.com/guangzhou11/p/12388807.html

时间: 2024-09-28 00:11:46

spring boot 静态资源的映射规则 (1) webjars 资源映射的相关文章

Spring Boot 静态资源处理

spring Boot 默认的处理方式就已经足够了,默认情况下Spring Boot 使用WebMvcAutoConfiguration中配置的各种属性. 建议使用Spring Boot 默认处理方式,需要自己配置的地方可以通过配置文件修改. 但是如果你想完全控制Spring MVC,你可以在@Configuration注解的配置类上增加@EnableWebMvc,增加该注解以后WebMvcAutoConfiguration中配置就不会生效,你需要自己来配置需要的每一项.这种情况下的配置方法建议

spring boot 静态资源的映射规则 (2) 替他资源映射

1.如果不是    /webjars/** 资源 if (!registry.hasMappingForPattern("/webjars/**")) { this.customizeResourceHandlerRegistration(registry.addResourceHandler(new String[]{"/webjars/**"}).addResourceLocations(new String[]{"classpath:/META-IN

spring boot 静态资源。。

spring Boot 默认为我们提供了静态资源处理,使用 WebMvcAutoConfiguration 中的配置各种属性. 建议大家使用Spring Boot的默认配置方式,如果需要特殊处理的再通过配置进行修改. 如果想要自己完全控制WebMVC,就需要在@Configuration注解的配置类上增加@EnableWebMvc(@SpringBootApplication 注解的程序入口类已经包含@Configuration),增加该注解以后WebMvcAutoConfiguration中配

spring boot 静态资源的映射规则 (3) 欢迎页面映射

欢迎 页面映射   会从 4个静态资源目录 + 根路径 / 中 查找 index.html 页面 会在 静态资源目录下 与 根路径查找 (按该顺序) index.html页面: 收到 "/**" 请求映射 访问 localhost:8080/ 会在上面5个目录中查找 index.html 页面(因为/也属于 /** ) 原文地址:https://www.cnblogs.com/guangzhou11/p/12388954.html

Spring Boot 5:应用程序启动时初始化资源

需求:应用程序启动后,初始化基础数据.加密证书等操作. 可以使用CommandLineRunner接口来实现,在SpringBoot.run()之后完成资源的初始化工作. 注意:多个Runner需要顺序启动的话,可以使用@Order注解 package sun.flower.diver.modules.system.init; import org.springframework.boot.CommandLineRunner; import org.springframework.core.an

Spring Boot 的静态资源处理

做web开发的时候,我们往往会有很多静态资源,如html.图片.css等.那如何向前端返回静态资源呢?以前做过web开发的同学应该知道,我们以前创建的web工程下面会有一个webapp的目录,我们只要把静态资源放在该目录下就可以直接访问.但是,基于Spring boot的工程并没有这个目录,那我们应该怎么处理? 一.最笨的方式 我们首先来分享一种最笨的办法,就是将静态资源通过流直接返回给前端,我们在maven工程的resources的根目录下建立一个html的目录,然后我们把html文件放在该目

Spring Boot+Drools规则引擎整合

目的 官方的Drools范例大都是基于纯Java项目或Maven项目,而基于Spring Boot项目的很少. 本文介绍如何在Spring Boot项目上加上Drools规则引擎. POM依赖 POM文件如下: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=&q

Spring boot 工具类静态属性注入及多环境配置

由于需要访问MongoDB,但是本地开发环境不能直接连接MongoDB,需要通过SecureCRT使用127.0.0.2本地IP代理.但是程序部署到线上生产环境后,是可以直接访问MongoDB的,因此开发好程序后,总是要修改一下MongoDB服务器的IP才能提交代码,这样很是不方便. private static final String PUBCHAT_HOST = "127.0.0.2"; // private static final String PUBCHAT_HOST =

第5章 Spring Boot 功能

Spring Boot 功能 本节将会介绍Spring Boot的一些细节. 在这里,您可以了解您将要使用和自定义的主要功能. 如果还没有准备好,您可能需要阅读第二部分“入门指南”和第三部分“使用 Spring Boot”部分,以使您有基础的良好基础. 23. SpringApplication SpringApplication类提供了一种方便的方法来引导将从main()方法启动的Spring应用程序. 在许多情况下,您只需委派静态SpringApplication.run()方法: publ