Spring boot静态资源访问

静态资源映射

默认情况下,当我们想要在前台页面使用服务器端的静态文件(如css,js,js库,图片等)时,我们只要将这些文件放在以下目录中的任意一个:

  • /META-INF/resources/
  • /resources/
  • /static/
  • /public/
    在这里插入图片描述

如果这四个目录中有相同的静态资源文件,静态资源的默认访问优先级为:/META-INF/resources/>/resources/>/static/>/public/

修改静态资源映射的方法

  • 修改这两个属性来改变静态资源的映射,比如我们的所有静态资源都在myres目录中,并且我们希望访问静态资源的的url都带有/myres/这个目录前缀:
    在这里插入图片描述
  • 继承WebMvcConfigurerAdapter类,并且重写addResourceHandlers方法就行,该操作与上面的方法得到的效果是一样的
@Configuration
public class MyWebAppConfigurer extends WebMvcConfigurationSupport {
    /**
     * 注册静态资源访问路径url以及静态资源存放位置,优先级按添加顺序
     *
     * @param registry
     */
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/myres/**").addResourceLocations("classpath:/myres/").addResourceLocations("classpath:/static/").addResourceLocations("file:H:/myimgs/");
        super.addResourceHandlers(registry);
    }
}

Webjar

因为所有/webjars/**都去classpath:/META-INF/resources/webjars/找资源,而默认情况下classpath:/META-INF/resources/webjars/是优先级最高的,所以在使用时要注意的是spring.mvc.static-path-pattern= xxx的设置,比如设置为:

spring.mvc.static-path-pattern=/static/**

则在使用webjar时要在前面加上/static/前缀:

<script src="/static/webjars/jquery/3.2.1/jquery.min.js"></script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值