8 — 静态资源处理方式

2021/11/10 6:10:13

本文主要是介绍8 — 静态资源处理方式,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

7中说了thymeleaf,哪还有一个目录是static

截图

  • 那么就来研究一下静态资源
    • 静态资源,springboot底层是怎么去装配的,都在WebMvcAutoConfiguration有答案,去看一下

      • 截图
    • 通过上述的源码发现两个东西:webjarsgetStaticLocations()

1)、webjars的方式处理静态资源

  • webjars的官网如下:

    • https://www.webjars.org/all
  • 进去之后:里面就是各种各样的jar包

  • 这里使用jQuery做演示

    • 导入jQuery的依赖
<dependency>
    <groupId>org.webjars</groupId>
    <artifactId>jquery</artifactId>
    <version>3.4.1</version>
</dependency>

截图

  • 导入之后:发现多了这么一个jar包,现在我们去直接访问一下
    截图

  • 是可以直接访问的,为什么?
    截图

2)、getStaticPathPattern(),点进去看一下

发现是如下这么一个方法

        public String[] getStaticLocations() {
            return this.staticLocations;
        }

那就继续点击staticLocations看一下
截图

截图

"classpath:/META-INF/resources/",   <!--这个就不多说明,前面已经见过这种目录了 -->

"classpath:/resources/", 

"classpath:/static/", 

"classpath:/public/"

发现有四种方式可以放静态资源,那就来测试一下

3)、resources/,static/,public/的优先级

截图

  • 测试
    截图

发现resources下的优先级最高

  • 删掉resources中的资源文件,继续测试
    截图

截图

发现static目录其次

因此:结果就出来了

  • resources目录下的优先级最高
  • 其次是static
  • 最后是public

资源放置建议:

  • public放置公有的资源,如:img、js、css....
  • static放置静态访问的页面,如:登录、注册....
  • resources放置动态资源,如:用户管理.....


这篇关于8 — 静态资源处理方式的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程