SpringBoot对静态资源的映射规则

SpringBoot对静态资源的映射规则;

默认配置在WebMvcAutoConfiguration.java类中定义

@Override        
public void addResourceHandlers(ResourceHandlerRegistry registry) {        
    if (!this.resourceProperties.isAddMappings()) {            
        logger.debug("Default resource handling disabled");                
        return;                
    }            
    Integer cachePeriod = this.resourceProperties.getCachePeriod();            
    if (!registry.hasMappingForPattern("/webjars/**")) {            
        customizeResourceHandlerRegistration(                
        registry.addResourceHandler("/webjars/**")                        
        .addResourceLocations(                                
        "classpath:/META‐INF/resources/webjars/")                                        
        .setCachePeriod(cachePeriod));                        
    }            
    String staticPathPattern = this.mvcProperties.getStaticPathPattern();            
               //静态资源文件夹映射  
    if (!registry.hasMappingForPattern(staticPathPattern)) {            
        customizeResourceHandlerRegistration(                
        registry.addResourceHandler(staticPathPattern)                        
        .addResourceLocations(                                
        this.resourceProperties.getStaticLocations())                                        
        .setCachePeriod(cachePeriod));                        
    }            
}        
        //配置欢迎页映射
@Bean        
public WelcomePageHandlerMapping welcomePageHandlerMapping(        
ResourceProperties resourceProperties) {                
    return new WelcomePageHandlerMapping(resourceProperties.getWelcomePage(),            
    this.mvcProperties.getStaticPathPattern());                    
}        
       //配置喜欢的图标
@Configuration        
@ConditionalOnProperty(value = "spring.mvc.favicon.enabled", matchIfMissing = true)        
public static class FaviconConfiguration {
    public static class FaviconConfiguration {        
    private final ResourceProperties resourceProperties;            
    public FaviconConfiguration(ResourceProperties resourceProperties) {            
        this.resourceProperties = resourceProperties;                
    }            
    @Bean            
    public SimpleUrlHandlerMapping faviconHandlerMapping() {            
        SimpleUrlHandlerMapping mapping = new SimpleUrlHandlerMapping();                
        mapping.setOrder(Ordered.HIGHEST_PRECEDENCE + 1);                
                       //所有  **/favicon.ico   
        mapping.setUrlMap(Collections.singletonMap("**/favicon.ico",                
        faviconRequestHandler()));                        
        return mapping;                
    }            
    @Bean            
    public ResourceHttpRequestHandler faviconRequestHandler() {            
        ResourceHttpRequestHandler requestHandler = new ResourceHttpRequestHandler();        
        requestHandler.setLocations(this.resourceProperties.getFaviconLocations());                        
        return requestHandler;                
    }            
}     

1)、所有 /webjars/** ,都去 classpath:/META-INF/resources/webjars/ 找资源;
webjars:以jar包的方式引入静态资源;
http://www.webjars.org/

localhost:8080/webjars/jquery/3.3.1/jquery.js
<!‐‐引入jquery‐webjar‐‐>在访问的时候只需要写webjars下面资源的名称即可

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

2)、"/" 访问当前项目的任何资源,都去(静态资源的文件夹)找映射,默认静态资源的文件夹如下
“classpath:/META‐INF/resources/”,
“classpath:/resources/”,
“classpath:/static/”,
“classpath:/public/”
“/”:当前项目的根路径
localhost:8080/abc === 去静态资源文件夹里面找abc
3)、欢迎页; 静态资源文件夹下的所有index.html页面;被"/
"映射;
localhost:8080/ 找index页面
4)、所有的 **/favicon.ico 都是在静态资源文件下找;
5)、可以在配置文件中自定义静态文件夹配置:spring.resources.static-locations=classpath:/hello/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

沙门空海

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值