Spring Boot 默认为我们提供了静态资源处理,使用 WebMvcAutoConfiguration 中的配置各种属性。我们根据源码来学习。

protected void addResourceHandlers(ResourceHandlerRegistry registry) {super.addResourceHandlers(registry);if (!this.resourceProperties.isAddMappings()) {logger.debug("Default resource handling disabled");} else {ServletContext servletContext = this.getServletContext();this.addResourceHandler(registry, "/webjars/**", "classpath:/META-INF/resources/webjars/");this.addResourceHandler(registry, this.mvcProperties.getStaticPathPattern(), (registration) -> {registration.addResourceLocations(this.resourceProperties.getStaticLocations());if (servletContext != null) {registration.addResourceLocations(new Resource[]{new ServletContextResource(servletContext, "/")});}});}}

上边的代码是WebMvcAutoConfiguration中添加静态资源的方法。它提供了两种方式:

第一种:使用webjars
webjars是一种以jar包方式引入静态资源,webjars的网站,内部有丰富的资源,支持maven导入。

this.addResourceHandler(registry, “/webjars/**”, “classpath:/META-INF/resources/webjars/”);

启动项目,根据路径localhost:8080/webjars/jquery/3.5.1/jquery.js来查看结果:

第二种方式:将静态资源文件放至静态资源文件夹
① “/” 当前项目的根路径
  
②classpath:/META-INF/resources/

③classpath:/resources/

④classpath:/static/

⑤classpath:/public/
  
优先级:1>2>3>4>5

springboot处理静态资源相关推荐

  1. springboot设置静态资源不拦截的方法

    springboot设置静态资源不拦截的方法 springboot不拦截静态资源需配置如下的类: import org.springframework.context.annotation.Confi ...

  2. Spring Boot与Web开发简介||SpringBoot对静态资源的映射规则

    Web开发 1.简介 使用SpringBoot: 1).创建SpringBoot应用,选中我们需要的模块: 2).SpringBoot已经默认将这些场景配置好了,只需要在配置文件中指定少量配置就可以运 ...

  3. SpringBoot之静态资源访问

    SpringBoot之静态资源访问 1.springboot访问静态资源的几种方式 (1)在src/main/resources/目录下创建 static文件夹 (2)在src/main/resour ...

  4. idea拦截了html中的静态资源,IDEA配置静态资源热加载操作(Springboot修改静态资源不重启)...

    第一步: 修改file->settings->compiler->build project automatically 第二步: 按ctrl+shift+a,搜索Registry双 ...

  5. SpringBoot访问静态资源(图片)

    SpringBoot中的静态资源访问 springboot访问静态资源的几种方式 (优先级从高到低) (1)在src/main/resources/目录下创建 META-INF/resources文件 ...

  6. SpringBoot访问静态资源文件(css、js、images)

    (1)引入静态资源时,错误解决方法 在做SpringBoot访问静态资源文件(css.js.images)时候,发现总是报错: 以为是路径中没有添加static,所以路径又添加static,再次访问如 ...

  7. SpringBoot中静态资源和首页定制

    在SpringBoot的标准项目中的resource目录如下 官方默认把我们的静态资源放到了static目录下,在该目录下写一个index.html即可直接访问,我们还可以在resources目录下创 ...

  8. 前端vue/h5下载Springboot后端静态资源(txt/word/excel)

    1.首先Springboot需要配置跨域和静态资源static目录存放对应的资源文件(txt等) import org.springframework.context.annotation.Bean; ...

  9. SpringBoot修改静态资源映射

    简介 SpringBoot默认为我们配置了静态资源的地址转发,我们只需要将静态资源放到/resources/static目录下,就可以直接进行访问.但是这样会向外界暴露出我们的项目结构,不利于项目安全 ...

  10. springboot:映射静态资源路径

    #映射静态资源路径 spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,cla ...

最新文章

  1. java试用(1)hello world
  2. 判断数组元素相等 php,php中判断数组相等的方法以及数组运算符介绍
  3. java nio doug_Java NIO简介
  4. 配置Chrome支持本地(file协议)的AJAX请求
  5. OCFS2在Linux下配置文档
  6. 设计模式--代理模式--Java实现
  7. 对称二叉树c++_二叉树:我对称么?
  8. NAnt0.92版本首次在windows 8.1的机子上运行报错的问题解决
  9. ecmall商品列表页排序的完美解决方案
  10. 如何在基于对话框的程序中动态设置鼠标指针
  11. Linux系统cp:omitting directory`XXX'问题解决
  12. C语言学习--01 认识数据类型
  13. 有哪些好的编程习惯从一开始就值得坚持?
  14. ApacheCN 编程/大数据/数据科学/人工智能学习资源 2019.11
  15. Steam账号注册--流程
  16. ITS_Android_S 重构的梳理
  17. Cesium 注册及移除事件
  18. python编辑七段数码管引脚图_少儿Python程序第十二讲:单片机控制数码管
  19. 电子商务的整合之道--思践
  20. MM要学会的71个烹饪技巧

热门文章

  1. Java中普通代码块,构造代码块,静态代码块执行顺序
  2. BUG: button点击高亮延迟问题
  3. 阿里云自定义日记文件无法通过ftp下载
  4. Java 编程需要注意的细节
  5. 一流的设计师,一流的PHOTOSHOP教程.....
  6. 35. systemtap
  7. 1. thinkphp (1)
  8. Windows Server 2008通过计划任务定时执行bat文件
  9. 应用安全 - 代码审计 -Java
  10. Elasticsearch 7.x Nested 嵌套类型查询 | ES 干货