SpringBoot:web开发-静态资源配置

静态资源访问

静态资源目录

只要静态资源放在类路径下: called /static (or /public or /resources or /META-INF/resources

访问 : 当前项目根路径/ + 静态资源名

原理: 静态映射/**。

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

比如:在static目录下,放入一个图片,1.jpg,访问127.0.0.1:8080/1.jpg即可访问该图片!

静态资源访问前缀

默认无前缀,直接访问域名/静态文件名 即可!

  • 改变默认的静态资源路径,如下,此时访问静态资源目录下的资源,需要+res,如:tinstu.com/res/1.jps
  • 改变静态资源目录,[classpath:/haha/] 此时静态资源目录为:haha,原来默认的哪些,如public 都已经失效
spring:
  mvc:
    static-path-pattern: /res/**

  resources:
    static-locations: [classpath:/haha/]  //这是数组,可加号跟多个路径

webjar

相当于把如jquery等,转换为jar包

自动映射 /webjars/**

https://www.webjars.org/


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

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

欢迎页支持

SpringBoot会去静态资源路径下寻找index.html (如果配置了默认静态资源的访问前缀(上面设置的哪个/res),index.html不能被默认访问)

如果没有index.html 再去controller寻找能处理/index请求的方法

自定义 Favicon

favicon.ico 放在静态资源目录下即可。 springboot会自动识别,但是配置了默认静态资源访问前缀,也会影响这个功能

阅读剩余
THE END