Spring Boot(3) Web开发(1)静态资源处理

Spring Boot(3) Web开发(1)静态资源处理

基于spring boot 2.4.3版本

1.静态资源访问

1.1 静态资源目录

把静态资源放在类路径下的以下目录:/static; /public; /resources; /META-INF/resources;这些目录作为这些静态资源的根目录,如输入http://localhost:8080/4.jpg可直接访问

image-20210325144001010

过程:请求进来,先去找Controller看能不能处理。不能处理的所有请求又都交给静态资源处理器。静态资源也找不到则响应404页面。

1.2静态资源访问前缀

配置访问静态资源路径前缀,如http://localhost:8080/res/2.jpg

spring:
  mvc:
    static-path-pattern: /res/**

此时访问需要加上前缀:

image-20210325145227732

注意事项:加上这个后,欢迎页和favicon都会不支持

1.3 修改默认静态资源根路径:

spring:
  web:
    resources:
      static-locations: [classpath:/templates/]

1.4 webjar

自动映射 /webjars/**

引入依赖:


        <dependency>
            <groupId>org.webjars</groupId>
            <artifactId>jquery</artifactId>
            <version>3.5.1</version>
        </dependency>

访问地址:http://localhost:8080/webjars/jquery/3.5.1/jquery.js 后面地址要按照依赖里面的包路径

2.欢迎页与favicon

2.1 欢迎页

本地访问localhost:8080即可访问的页面,即index.html;把该页面放到默认静态资源目录下即可,如果找不到页面,会再找controller是否有/index的映射方法;

image-20210325145928598

2.2 favicon

网站的小图标:image-20210325150029163

把该图标放在默认静态资源路径即可,名字为favicon.ico

image-20210325150341980

访问效果:

image-20210325151253577

注意不要设置静态资源访问前缀static-path-pattern。

3.静态资源配置原理

3.1 配置静态资源的开始

  • 从前面的自动配置原理我们知道,springboot 2.4 在启动时会加载130个场景的组件,即各种xxxAutoConfiguration类,通过@Condition来控制加入的组件;
  • 同样,关于静态资源的场景,我们从WebMVCAutoConfiguration开始分析:

image-20210326142643646

  • 给容器中配了什么:往下看我们可以看到WebMvcAutoConfigurationAdapter这个类上配置了这些东西:
 @Configuration(
        proxyBeanMethods = false
    )
    @Import({
   WebMvcAutoConfiguration.EnableWebMvcConfiguration.class})
    @EnableConfigurationProperties({
   WebMvcProperties.class, ResourceProperties.class, WebProperties.class}
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值