✨Spring Boot访问静态资源



📃个人主页: ​不断前进的皮卡丘​
🌞博客描述: 梦想也许遥不可及,但重要的是追梦的过程,用博客记录自己的成长,记录自己一步一步向上攀登的印记
🔥网站推荐:千里之行,始于足下。每天坚持刷题,巩固所学知识,也为将来找工作,面试做好准备----- ​​牛客网刷题神器​


🍊1.静态资源和动态资源的区别

  • 静态资源:
  • 可以理解成为是固定不变的,比如前端固定的页面(html,css,js,图片等)
  • 静态资源不需要查询数据库来动态获取数据并展示,不需要程序处理,直接就可以展示了
  • 如果用户请求的是静态资源,那么服务器会直接将静态资源发送给浏览器,浏览器中内置了静态资源的解析引擎,可以解析静态资源(浏览器只能解析静态资源!)。因为每个浏览器的解析引擎可能不一样,所以相同的网页可能在不同浏览器展示有所区别。
  • 动态资源:
  • 需要访问数据库,从数据库中读取数据并展示
  • 如果数据发生改变,我们不需要改变页面
  • 由于要访问数据库,涉及到和数据库等连接操作,所以访问速度比较慢
  • 如果用户请求的是动态资源,那么服务器会执行动态资源,转换为静态资源,再发送给浏览器(浏览器无法解析动态资源!)

🍊2.Spring Boot默认静态资源目录

Spring Boot应用启动过程中,会读取加载一个静态资源文件加载路径这个属性

# 默认值为
spring.resources.static-locations=
classpath:/META-INF/resources/,
classpath:/resources/,
classpath:/static/,
classpath:/public/

这一个属性的默认值代表静态资源扫描目录

Spring Boot默认情况下,有五个位置可以存放静态资源

Spring Boot访问静态资源_java

比如:

Spring Boot访问静态资源_spring boot_02


我们分别建立了public、resources、static目录,在目录下建立html静态页面。项目启动后,我们都可以直接访问这些页面:

Spring Boot访问静态资源_静态资源_03


这里要注意优先级问题:根据前后关系确定优先级,也就是说如果classpath:/resources/目录和classpath:/public/都有一个test.html,那么根据默认的优先级,会去访问classpath:/resources/下的资源。

🍊3.欢迎页

欢迎页是静态资源文件夹下的index.html文件

Spring Boot访问静态资源_spring_04


Spring Boot访问静态资源_java_05

🍊4.静态资源加载顺序优先级

​springboot中的静态资源加载顺序优先级​