springboot的web场景开发------简单功能分析

一、静态资源访问

1、静态资源目录

只要静态资源放在类路径下的规定文件的中,我们就能够直接通过当前项目根路径/静态资源名的方式直接访问

这些规定文件分别是

  • static
  • public
  • resources
  • META-INF/resource

举例示范

这里我们使用的静态资源为图片
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
全部成功访问到,
对此官方文档的说明如下

如果有Controller的请求路径和静态资源的访问路径重复了,那么会访问谁?

这里去掉前面自己设置的静态资源访问目录的映射,为了方便。
contoller的代码,如下
在这里插入图片描述
访问的http://localhost:8080/1.jpg的结果为
在这里插入图片描述
这是为什么呢?

其实就是一个优先级的问题。
因为我们静态资源处理器的映射设置的是/**,而我们的请求进来会先去找Controller的映射看可不可以处理,如果可以处理那么展示Controller的处理结果,如果不能处理就会交给静态资源处理器,静态资源处理器如果能够处理那么就展示处理的结果,如果不能处理那么404。

2、静态资源访问前缀

默认是无前缀的,我们为什么要设置访问前缀呢?
这时因为我们以后在做登录拦截的时候,如果拦截的路径是/**,这样我们的静态资源css、js这些都会被拦截,所以我们需要给这些静态资源设置一个前缀,然后设置不拦截以这个前缀为开头的请求。

官方文档的设置访问前缀介绍如下
在这里插入图片描述
官方文档解释了直接访问资源名能够成功的原因,因为springboot设置的默认的映射路径是/**这就是为什么我们能够直接请求到我们的静态资源。
当然我们也可以自己进行修改没只需要设置这个属性

spring.mvc.static-path-pattern=/resources/**

进行尝试
在这里插入图片描述
这里不全部尝试了,图片太多麻烦,访问第一个发现访问成功
在这里插入图片描述

3、自定义静态资源目录

application.ymal配置文件内容:
在这里插入图片描述
但是当我们配置这个之后,我们默认的包下的静态资源就无法访问了
在这里插入图片描述
在这里插入图片描述
将4.jpg放到haha文件中才能访问
在这里插入图片描述
访问成功
在这里插入图片描述

4、webjar

webjar的官网地址https://www.webjars.org/
这个webjar是什么呢?
其实就是我们的一些常用的js,它给弄成了一个jar的形式,我们可以直接导入依赖坐标,当我们导入对应的以来之后,它会进行自动映射
在这里插入图片描述
实际开发中并不常用

解释一下这个自动映射
当我们把jar导入到我们的项目之后,查看这个jar依赖的目录
在这里插入图片描述
它正好是我们能够自动识别的路径/META-INF/resources
官方文档的解释如下
在这里插入图片描述
我们只需要以/webjars/资源路径就能访问到我们的webjar依赖导入的静态资源了。
举例示范

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

访问http://localhost:8080/webjars/jquery/3.6.0/jquery.js
访问成功
在这里插入图片描述

二、欢迎页支持

官方文档对欢迎页的功能说明
在这里插入图片描述
翻译如下:
springboot支持静态和模板化的欢迎页面。它首先寻找一个index.html配置的静态内容位置中的文件。如果找不到,它将查找索引模板。如果找到其中一个,它将自动用作应用程序的欢迎页面。

举例示范

静态资源路径下有index.html

因为此时我们的静态资源包设定的是haha,所以我们在haha下面添加一个index.html
在这里插入图片描述
在这里插入图片描述
然后访问根目录http://localhost:8080/
在这里插入图片描述
成功访问

三、自定义Favicon

这个就是自定义网页的小图标

在这里插入图片描述
就是这个,

查看官方文档
在这里插入图片描述
大致意思就是它会去我们的静态资源文件下去找名叫favicon.icod的这个图片来作为网页的小图标,但是我们在测试的时候遇到一个问题,就是重启了之后没有显示我们设置的网页小图片,这里我们将网页的小图标设置为和我们博客相同的小图标
在这里插入图片描述
这里我们不使用上面自定义的静态资源包,将那个配置注释掉了,使用默认的配置。
但是即使我们重启后刷新页面图标依旧不改变
在这里插入图片描述
我们的浏览器有缓存,当我们第一次访问我们的资源时的图标被缓存起来了,我们下次访问还是那个图标,我们只需要禁用缓存,然后关闭浏览器重新打开即可
在这里插入图片描述

这里我们选择使用火狐浏览器进行操作,不知道为什么谷歌浏览器禁用缓存也没有效果。。。
成功更改小图标
在这里插入图片描述

posted @ 2021-03-10 16:35  谢海川  阅读(44)  评论(0)    收藏  举报