00:00
好,接下来呢,我们就一起来写一下这个CD,我呢就来创建上一个新的工程,新的工程我们还是用这个初始化器。com.ATT硅谷好们现在呢是spring boot04啊,我们现在做web模块,我们写一个rest for c rud,把这个包名短一点,下一步那现在呢要做web功能,还是来选中我们这个web模块,下一步好让它创建工程。好,这个工程呢,就创建好了,没问题,我们打开这个po文件看一下,哎,这个po文件呢,依赖了这个web模块,这也也都是我们hello word里边的,哎,正常操作这是引入咱们这个web模块,但是注意这个啊,这我们把这个自动导包把它给点一下啊,我这个po文件一改,它就自动导入了,打开这是Java我们主程序的地方,Resource配置文件,好,现在呢,我先来写上一个hello word。
01:11
页面呢,来发hello hello请求,来给页面来返回一个hello word字符串,来体验一下咱们这个web的快速开发,我们hello word都是这么来体验的,等呢有了spring boot以后啊,我们现在来写hello word,你看我就选完模块以后啊,我们是不是什么都没配啊,你就直接来写就行了啊,然后呢,直接用以前spring l VC request。好,我们来处理hello请求,只不过这个hello word要写出去呢,加上好。以前的spring l VC我们都不用配了,直接来用来测试一下这个hello能不能访问。好,他这一块呢,说咱们这个服务器8080端口启动好,来访问一下local host 8080hello请求来hello word没问题,这就是我们web模块的快速开发,哎直接就用就行了,那接下来呢,我们现在来做我们这个实验。
02:12
这个实验呢,我们先来把这些页面以及咱们这个,哎,这里边有CSS样式以及GGS这些东西我们先导进来,但是呢,现在有一个问题啊,如果我们现在是一个web应用,那我们这个慢下会有一个web APP这个文件夹,那我们将所有的页面以前都是导在这儿的,但是大家来看啊,现在我们这个po呢,现在是一个打包为这儿的方式,那这种方式s boot能不能给我们来写页面,这也是可以的,只不过我们这个页面呢,CSS文件要放哪,Spring boot有规定,所以呢,我们接下来来说一下咱们这个spring。对静态资源的映射规则。
03:01
映射规则,这映射规则呢,我们首先来看,来第一种规则咱们在咱们里边呢,C的相关BM,然后这个置里边呢,来从头东就不看了,讲说主要呢在下边,哎下边下边呢有一处叫and resource handle了,添加资源映射,我们后来呢还会用到这个原理,用到的时候呢,我们再来。仔细来讲这个原理,只不过呢,我把这段代码我们拿来看,关键字添加,咱们这个资源映射,添加什么呢?第一个规则叫web双星,也就是说啊,所有。所有咱们这个web下边的所有路径访问,然后访问呢,都去哪找资源呢,你看啊,这有映射请求,Web下的所有请求都去这一块来找资源啊都去。
04:04
都去这里边找资源,找资源,而什么是web jas呢?我们来说一下啊,Web JA,那么S呢,其实简单来说就是,哎,我们以咱们这个炸包的方式引入咱们这个静态资源啊,如果我们是以前,比如我们想要给工程里边导一些瑞什么,那么呢,我们这是有一个web APP文件夹,我们把克瑞放在这里边,我们页面啊,什么script s RC就能赢了,但是呢,我们现在要把这些怎么办呢?有一个叫web可以用包的方式,我们来搜索一下,嗯,这个叫web炸。就是呢,这个网站,哎,大家要用的话呢,就来参考它,它作用是什么呢?我们来看啊,它里边呢,将我们常用的这些前端框架,比如瑞拉他们可以给我们以这个依赖的方式教给我们,那这样我们要用的话,那就简单多了,你在这选好版本,哎,它依赖是什么?你在这儿可以拿过来,比如呢,我们现在就用刚才这个331,好,我要把这个杰克瑞我引进来,要用他们呢,只需要给我们po文件里边来引入这个杰克瑞的web,好让它呢来自动下载,我这个就引入杰瑞。
05:28
的web,这来看一下杰克瑞的这个web长什么样呢?打开,哎,这有一个web杰克瑞,然后呢,注意来看啊,这一块呢,有Meta in for resources目录下边有web JA解,如果有些同学这块目录结构不清楚,它可能是这个样子,哎,合起来了,那你就呢把这个。设置打开这有一个黑的啊,隐藏这个空文件夹,把这个点出来就行了,好然后呢,我们来看一下这个目录啊,这个目录其实跟我们刚才说的这个映射规则是一样的,那么这个类路镜下Meta INF resources web JA下边呢,有我们的这个解壳RY的内容。
06:13
好,我把这个保存起来。名呢,我复制一下,好,我们来把这个我们引入的web来给大家看一下,就长这个样子。那这样的话呢,我们来看啊,正好对应这个映射,如果我来发local host冒号,八零八零下的,Web jas下的,比如我发ABC请求,也就是说webs下的任意请求,这个资源去哪找呢?都去这个文件夹,这个是类路径下,哎,类路径下我们这个包,类路径下metafo resources,哎,Web项来找,而我们要ABC web项没有ABC,所以说找不到,那我们要什么呢?就要解那完整的访问,那正常的访问应该就是我们要的解文件夹下的三点,三点一下的咱们这个解壳瑞点解M就是这个访问路径,来试一下这个访问路径能不能把我们这个杰克瑞要到。
07:18
好,把这个项目呢,我们来重启一下,我们引入了新的这个依赖,好,我来访问local host,把这个地址直接复制来粘贴,诶我们发现这个GS啊是能访问的,所以啊,以后我们用web,你来访问这些公共的样式,那就简单多了,哎,你要做的呢,只是来引入依赖就行了,哎,我们在这呢引入依赖,我们s boot呢帮你都来设置好了。场面访问的时候呢,只需要呃,写web里边资源的名称就行了,哎是在访问的时候,在访问的时候时候,只需要写咱们这个Y8J下面资源的名称即可,好,这是我们要用web JA,我们就可以这么来用,但是如果是我们自己的呢。
08:15
来看一下啊,我们的这个实验里边,自己也有一些咱们这个引入实验里边,哎,我们这个自己里边也有一些CSS以及图片以及GS样式,那自己的这个给哪放啊,我们再来看它的这个自动配置啊,这个自动配置呢,上边看了这个web,包括呢,Web里边的这些资源,还设置了咱们这个缓存时间,这个缓存时间呢,还能在resources properties,就是在这里边来配置,好,那正好呢,我们把它拿过来来说一下,我们呢在设置项里边。的规则,这个规则里边呢,我们可以在这。主要有这么几个,一个是resources properties可以设置,可以可以设置和资源有关的参数,哎主要呢,都是我们这个静态资源来,比如我们这个缓存时间,缓存时间等。
09:20
好,那么接下来呢,看我们第二个我们这一块的web MC自动配置。除了这个web呢,我来往下翻,哎,刚才的这个web下边呢,还有一个这个叫reg添加资源映射,添加了一个这个路径,这个路径是什么呢?点进来点进来这就是杠双芯,那就是啊第二种映射规则,杠双芯,比如你访问任何路径,访问啊当前项目的任何资源,任何资源如果没人处理,默认都去哪找呢?去这哎这呢,添加了一个资源的位置是还是在resource里边配的static location,点进来来这个static location呢是这个常量,这个常量的值呢,我们来看啊,下边用静态代码块用了一个数组,这个数组呢是它的长度加上哎它的长度,然后呢,把它里边的值string copy到我们这个resource location里边,跟它里边的,那说明我这个它会去。
10:24
这几个文件夹下。这几个文件夹,一个呢,是内路镜下的resources啊,Meta resources和内路镜下的resources,镜下的static,内陆镜下的public,还有一个哎,是我们这个当前项目的根径。这个呢,当前项目的根路径,那么这几个文件夹我们就称为静态资源。静态。资源的文件夹,然后呢,你把你的静态资源只要保存在这个文件夹里边,人家访问的时候呢,只要没人处理,那都会在这个文件夹里边来找内容,那么我们来对比来看一下。
11:11
静态资源的这几个文件夹,第一个是类路径下的Meta info,这个从Java包下是类路径和resources这个文件夹也是类路径的根路径,而你可以第一种你给这个下边呢建Meta INF resources,你来建这个,我呢就不建了。第二种呢,还是给类路径下来创建resources这个目录,好,我来创建一个resources,看好啊,Resources是类路径的根目录,我在它下边再来创建一个resources,这是第二个路径,第三个路径呢,Static,哎,就是这个,第四个呢是public。这几个径呢,你都可以来存放静态资源,访问是没问题的,比如我们把我们这个实验里边的内容,我来拿过来。
12:01
实验里边,哎,我这有一个,这里边都是我们的一些CSS样式,我呢就把它放在我们static目录下,OK。好,那斯下有这些东西,我来访问。要怎么访问呢?诶注意啊,人家这个规则是你来访问当前项目下的任何东西,相当于你来访问local host8080,你要访问个ABC,如果没人处理,默认都去哪呢?去咱们这个类路径下的这些静态资源,静态资源文件家里边找ABC。加里面找ABC,而我们当然不访问ABC,我来访问一个能用的,那这是静态资源文件夹,我们要访问这个GS,那就是访问它,哎,不用加静态资源文件夹的名,因为本来就是从它下边找的,那直接来访问as下边的这个GS,下边的我们来看一下我们自己的chart me.GS回车,哎,我们发现也是能访问的,所以这几个目录大家注意,这就是我们这个静态资源要保存的位置,顺便呢,我们来说起静态资源,把其他几个呢,我们都来一说,在这个自动配置里边,静态资源文件夹说完以后,这还有一个叫welcome啊,Page handler map,这叫翻译过来,这叫欢迎页的咱们这个映射。
13:30
这个欢迎页是什么呢?其实就是我们这个首页嘛,它这个是来配置欢迎页映射,这个欢迎页映射呢?啊,我们先不管这个handle德罗map,我们就直接来先来看一下它是怎么映射的呢?Handle德罗map其实是我们spring m VC最底层的这些组件,它来保存每一个请求对应谁来处理,我们来看啊,他现在是来要怎么处理。Get welcome page获取到欢迎页,这个欢迎页呢,还是要从这个里边挨个便利说明这欢迎页挺多的,点进来,你看这还是这个静态文件夹,这个静态文件夹里边的路径都拼上啥index htm,相当于呢,它第三种就是呢,咱们这个欢迎页它是怎么设置的呢?换营页它都是呢,静态文件。
14:22
静态资源资源文件夹下的所有index.htm页面,这些页面怎么办呢?我们来看一下这些页面,它这还配了一个get static被映射点进来,点进来不就是被杠双星吗?就是呢被他映射。对他映射,那么反过来就是说我来访问我当前项目,比如我访问一个local host 8080。我访问一个,我就访问我当前项目,我都没指定路径,因为这个呢也满足杠双芯,那默认他找谁呢?就找静态资源文件夹下的index,他就会找咱们这个index。
15:14
好,那我们来试一下是不是这个效果呢?哎,如我们现在啊来访问,我来默认来访问。我们来看一下啊,默认我来访问8080回车,哎,这是一个404,哎,因为没有什么首页,那我想要访问怎么访问呢?哎,我把首页,比如我放在public文件夹下,我呢就来放一个index HTML,好,那就来写一个嗯,首页看一下它是不是能访问来运行一下。访问诶你看啊,默认这个首页就过来了,所以呢,它做了首页映射,首页呢,你也放在静态资源文件夹下,还有第四个,哎,第四个呢,我们把这还有一个非常好玩的功能,叫这个叫favorite a啊我们喜欢的图标,这个喜欢的图标是什么呢?在这看一下啊,这有一个叫配置。
16:15
配置,哎,咱们这个喜欢的,咱们这个图标,这喜欢的图标呢,其实就是我们这个,诶每一个页面我们访问的时候,你看啊,这一块是不是有一个小图标,如果是boosrip用它的图标,百度用它的图标,是不是用它的图标啊,那我们也能用我们的图标,只不过我们图标给哪放呢?这一块也说了,来看一下啊好,这一块呢,你可以用这个配置来启用,即使你不配默认也是启用的,它怎么放呢?你看啊,就说这个,我们就看这个关键字simple you handle,他又整了一个handle,只不过呢,它是把所有的。啊,任何路径下的fair这个请求都映射到哪呢?给谁映射呢?给他它是什么呢?我们来看啊,又是设置一个资源路径,哎,这个资源路径呢,你看啊,我们喜欢的图标路径还是哪啊还是静态文件夹,就说呢还是。
17:10
静态文件夹,所有的这个都是在静态资源文件夹找,那我们要做我们的图标了,那我们把我们的图标我们不管放在啊,你不管是访问任意层路径下的,它图标都是在我们静态资源文件夹找,我呢,就把我们的图标我也拿来我们的图标,哎,我这儿有一个。我呢复制过来放在静态资源文件,哎,这个resources也算好,那我就都放进去来试一下啊好,我来启动一下,我呢你不管是哪个页面下边,你要用这个图标都在静态资源文件下,能直接来找来刷新一下,看首页刷新,诶图标是不是就变过来了,哎,这就是呢,我们boot默认做的几个静态资源映射,主要呢,就是有这么几个静态资源映射文件夹。
18:07
来,我们来把这几个高亮一下。这几个来高亮一下,然后呢,这几个静态资源文件夹,我们以后呢,给里边来放东西就行了,而且呢,它也是能配置的,因为我们一直用的是这个叫static location,点进来这static location呢,其实是我们resource resource的配置,那我想改变静态文件夹的路径,那我就配它resources下,有一个叫啥static location,比如呢,我配叫class pass,我给它配一个类路径下,我们看啊,人家都是用类路径下的什么resources,那我呢配一个用类路径下的hello文件夹,如果要多个配置,那我们就逗号分割,因为这个东西呢,它是一个数组,数组我们直接用逗号分割就行了啊,然后呢,比如按它硅谷文件夹这样的话呢,我们定义了几个文件夹,我再来启动一下,以前的这些静态资源还能不能访问呢?
19:08
我们来看一下啊,它我们来访问一个我们以前的什么assert,哎,这个回撤我们发现就不行了,哎,因为我们自己来定义了静态文件夹的路径,好我就把它注掉啊,我们就不定义了,所以呢,这就是spring boot默认对我们这些静态资源的映射处理。
我来说两句