9.spring boot处理web静态资源

1、开发web项目(静态资源html css js)

-new-spring starter -设置(选择 需要的场景,web)

spring boot 是一个jar,因此,静态资源就不是在存放到webapps中,存放在哪里?

  • 静态资源的存放路径是通过WebMvcAutoConfiguration类-addResourceHandlers(指定).
  • spring boot将静态资源存入到jar包中,引入三方静态资源可以:从jar目录结构的web jars开始写:localhost:8080?webjars/jquery/3.3.1-1/jquery.js

如何自己写静态资源,如何放到spring boot中?

  • 方法1:将自己写的静态资源打成jar包,然后同上方法引入
  • 方法2(推荐)spring boot约定:spring boot将一些目录结构设置成静态资源存放目录,我们的静态资源直接放入这些目录既可。目录在哪里呢?
  • ResourceProperties 类中的CLASSPATH_RESOURCE_LOCATIONS设置
  •   "classpath:/META-INF/resources/",
       "classpath:/resources/", 
       "classpath:/static/",
        "classpath:/public/"
    

注意:在以上目录存放资源文件后,访问时不需要加前缀,直接访问即可:比如:
localhost://8080/helloword.html

2、spring boot中WebMvcConfigurationy源码解读

  • 设置欢迎页面:

      • WebMvcAutoConfiguration->welcomePageHandlerMapping->getIndexHtml()–>location + “index.html”,
      • 即任意一个静态资源目录中的Index.html就是欢迎页面。
        网站中:网页标签的Logo是固定名字:favicon.ico
        自定义favicon.ico:阅读源码得知,只需要将favicon.ico文件放入任意静态资源目录既可。
  • 总结:
    1.通过源码发现静态资源的目录
    2.用静态资源:只需要将静态资源放入以上目录既可
    3.其他特定的文件(欢迎页,ico),只需要根据约定(index.html,favicon.ico)放入该目录既可

  • 如何自定义静态资源目录:
    配置文件可以更改约定(核心就是在Properties文件中的prefix+属性来改):spring.resources.static-locations=classpath:/res/,classpath:/img/
    以上将静态资源目录设置为了classpath:/res/,classpath:/img/,注意,自定义静态资源目录后一起默认的目录会失效。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值