00:00
呃,这里的路径问题呢,主要是因为啊,他查找资源的时候啊,路径不对,那你路径不对的话,你这些资源文件肯定就找不到呀,那路径为什么不对呢?我们一块儿来看一看。打开打开以后看一下我们的这个位置,我们的样式现在就没有找到啊,然后呢,我们下面的脚本文件他也没有找到。所以这个时候就发生了错误样式,没有脚本用不了,那程序肯定跑不起来。那我们怎么解决这个问题呢?首先我们会发现我们在路径当中,我们前面啊,什么符号都没有加,那我们大家都知道这种路径我们称之为叫相对路径,那我们的样式,我们的脚本在哪呢?大家看我们这里有一个叫boostrap,那我当前的页面在这个位置,而我们的boosp在这个位置。
01:00
那其实也就意味着我们用相对路径的方式去找他不就可以了吗?那我们来看一看我们到底该如何去找他。首先,同学们看。我这里是index.gsp那么它所在的路径是U,那我要想找到bootrap,那我首先找到它,那我怎么能够找到他呢?我要从U找到它的上一级就是GP,所以它的上一级就是点点斜杠,然后我找到他还不行,我还得找到web info,所以还得点点斜杠。然后我通过web info再找它的上一就是web了,所以我们再来点,那你这么写完了以后,我们的不就出来了吗?那它里面就有CSS,还有我们的一些样式,它就有了,所以啊,我们用这种方式来访问,跟之前你会发现路径不太一样了啊,好,我们保存一下,那么既然这么保存是可以的话,那么我们现在呢,可以把别的我们也试一试,只要没问题,我们的样式呀,脚本就都能够使用了,所以来把这个拷贝,先不考虑脚本吧,先考虑我们的样式。
02:17
好了,那我现在呢,就刷新页面,我们试一下刷新。刷新以后大家发现没有,他找到了吗?我们这里是不是还是有问题,他还是没有找到,诶,那不对呀,按照我们的相对路径的规则,我们这里确实是能够找到的呀,你看当前的文件所在的路径是它,它的上一级是他,再上一级,再上一级不就是他了吗?那么在里面去找bootrap不就找到了吗?为什么不行呢?这就需要搞明白什么是相对路径,什么是绝对路径,所以在我们的文档当中,我们这里准备了一个文件,那么文件打开之后,我们写上我们要理解相对路径和绝对路径。
03:04
那么我们相对路径和绝对路径啊,来咱们说一下,咱们叫绝对路径来,好,那么问问同学们,我们现在这个相对路径是什么意思呀。诶,相对路径,它其实啊,就是我们说。啊,这样吧,咱们先别说相对路径了,咱们先说那个绝对路径吧,啊,那么所谓的绝对路径是什么呢?就是不可改变的路径。啊,你给他说出一个路径来,这个路径路径不会变,你怎么他都不会变啊,比方说别人问你了啊,说诶你现在在什么地方呀,咱们一块儿吃个饭去吧,你来找我对吧?那好,你告诉我个路径,那你可能说了啊,我在北京市昌平区回龙观的某某某小区。大家想一想,如果把这个路径告诉你的话,你能不能找到?我相信可以找到,为什么?因为这个地址是不变的啊,除非特殊情况拆迁了或者地震了,这个地址没了,那你找不到,但只要没有发生特殊情况的话,我相信肯定能找到,不管你在上海,你在美国。
04:19
你在别的地方,只要你想去找,那么你就按照这个地址肯定能找到,这就叫不可改变的路径。那么好在我们程序当中如何体会呢?那比方说我们一般会分两种情况,一个叫本地的绝对路径。咱们以Windows为例,一般情况下,本地的绝对路径我们是要增加盘符的啊,增加盘符的路径。什么叫增加盘符啊,比方说E盘,诶里面会有个文件夹,里面会有一个test.java或者说我们HTML,诶这个文件的路径我们就称之为叫绝对径,为什么你增加了盘符,它就不可能找不到,你说了我的文件在E盘的这个位置下,你能去C盘找吗?不可能,你去D盘找吗?也不可能,所以啊,这就是绝对路径。
05:13
那么我们本地是这样,还有网络。咱们叫网络的绝对路径,那网络的绝对路径呢,是怎么回事呢?它表述的含义就是说我们增加协议。那咱们增加协议,然后我们叫IP地址。还有端口号。这样的路径我们称之为叫做网络的绝对路径。诶,举个例子,HTTP。冒号localhost,然后8080斜杠test test.html。你这么写的路径,它就是网络当中的绝对路径,诶老师呀,那这个位置好像不是固定的呀,没错,我们的这个地址指向了网络当中的某台机器,这个机器可能不固定,但是只要你写上它一定指向那个地址,只要地址确定的话,那么它里面的资源就一定会确定。
06:15
这个无法改变,你肯定能够找得到,所以啊,这是我们网络的绝对路径,好,我们接下来说相对路径,相对路径啊,正好呢,跟上面的诶相反,你上面不是说不可改变的路径吗?那么我们相对路径其实就是可以改变的路径。什么意思,就是说你给别人说个路径啊,这个路径它不一定指向哪,什么意思,还是刚才那句话。你明天休不休息啊,休息OK,咱们今天晚上去吃吗?吃饭去,喝酒去,你在哪呢?我找你去,那你跟他说了。我在你前面100米的位置,这是不是个路径?这是不是个位置是吧,可是我说了,我在你前方100米的位置,那么也就意味着你在哪,我就在你的前面100米,你在北京,我在北京,你在上海,我在上海,你在美国,我在美国呀,啊,所以这个位置可就不是固定不变的,它是改变的,它取决于你的位置,而你的位置在我们这就是个基准路径,所以我们这里呢,要说一下,它是可以改变的路径,但是。
07:30
它是以咱们叫基准路径啊,咱们叫做什么,以我们的啊,呃,以基准啊,我们的路径为参考。啊,查找。啊,其他路径,而我以你的位置前方100米,那就是我,诶,那么我们说了,我就取决于你的位置了,所以这就是所谓的那个叫基准路径,这个你要给他搞明白,而我们恰恰啊,这个你可能啊不是很明白。
08:04
也就是说什么是基准路径,它是以哪为参考?这个你可能会理解错了,所以我们这里说一下。那么我们默认啊情况下,我们相对路径的基准路径是什么呢?基准路径它是。当前资源的访问路径。这句话非常的重要,因为我们恰恰是这个地方容易理解错误。我刚才不说了吗?你当前的这个文件在这个位置下面,然后呢,我去找他,那么我上一级上一级上一级上一级去找他,这个你感觉到好像是对的,但是告诉你不对。为什么不对?因为我们并不是直接访问到这个页面的。我们看到的这个页面,我们的访问方式是什么样的?同学们看我们是不是发送了一个这样的请求。
09:07
然后去访问到那个页面呢,那也就意味着我当前的页面在哪个路径下面。在这个路径下面,记住是在这个路径下面,它才是我们的基准路径,所以把它拷贝。把它拷贝以后,然后你再去写我们的这个路径,你来看一看,来我们把它放到这里,放到这里以后,你会发现就有一些问题了,为什么?因为我的点点斜杠是不是意味着把这个就变没了,诶变没了,那变没了以后,那我这个点点斜杠呢,是不是它又没了,对吧?诶就是这样,然后呢,我这个点点斜杠。就没了,就它就不起作用了,为什么?因为你的这个地方已经是服务器的根了,没有上级了,所以它就不起作用了,所以说大家想一想,你最后找文件的位置是哪儿啊?是这个位置,而这个位置你是找不到的,为什么?
10:10
因为你的项目呢,部署到了这个下面,那所以说你的所有的资源都应该在他的下面,可是你就缺少了这个名称,那么就出现了问题,所以这句话非常的关键,相对路径的基准路径是以当前资源的访问路径为基准,是以。当前资源的访问路径为基准,你把这个考虑明白那就可以了,我们刚才为什么不对,原因就在这儿了,我们可以来看一看,大家看他去哪找资源去了。它这里面有那个叫at cloud funny web吗?没有,因为他根本就找不到,所以出现了错误,老师,那我们这该怎么做呀?那我们这里该怎么做就可以了,首先咱们来分析一下来。
11:02
我刚才说过,我们是以当前资源的访问路径为基准,所以拷贝,拷贝以后我们拿过来这这边就有啊,那其实我们的资源是不是在它的下面,那也就意味着我们只要往上一层就够了吧,所以说大家看我们真正的写法应该这么写。好了,那你这么写了,以后我们刷新我们来看。大家看出没出来?出来了依然会有错误,但这个没问题,因为这都是脚本文件,我们刚才改动的是样式文件,所以我们现在的这个路径就对了,来老师呢,是不是以后我们都这么写呢?还不行,为什么来,咱们看之前的,咱们之前的index,咱们打开来别看index,看这个打开,打开以后我们这儿加那个点点斜杠了吗?没有加。也就意味着有些时候加,有些时候是不用加的,这样的话你的路径就感觉很乱,所以啊,我们一般我们不会怎么来做,那我们会怎么来做呢?诶同学们看这个时候啊,就有一种特殊的路径呢,啊什么路径呢?就是说我们的路径它以斜杠开头。
12:22
诶,我们的路径呢,还有一种路径,它以斜杠开头,那这个路径以斜杠开头,那是啥意思呢?它是我的绝对路径呢,还是相对路径呢?我们跟大家解释一下,路径如果以斜杠开头,它其实表示的是特殊的相对路径。为什么这么说呢?因为它相对的位置在根据不同的场景当中是不一样的啊,在不同的啊我们的场景中啊,它相对的位置会发生变化。这是什么意思呢?咱们举个例子啊,这里我们就要分成两个了,一个叫前台路径。
13:06
一个我们称之为叫后台路径。那我怎么区分我们是前台路径还是后台路径呢?很简单,你看一看这个路径是由浏览器来解析执行的,还是由我们服务器来解析执行就可以了。如果它是浏览器解析执行的,那么它就是前台路径,如果它是服务器解析的话,它就是后台路径。什么意思来看,我们是不是有我们的超级链接A呀,那么它里面是不是有h ref来跳转到其他的路径啊,诶这个路径同学们谁来解析。是不是我们的浏览器解析对吧,还有我们的image标签src,我们的图片的路径。他这个路径谁来解析,是不是也是我们的浏览器解析,诶,所以这样的路径我们都称之为叫前台路径,那么后台路径是什么呢?举个例子,咱们跳转页面是不是有forward呀,对不对,那forward是不是我们服务器来跳转的路径啊,诶,所以forward这样的路径,它就是我们的后台路径。
14:20
还有。你X mail当中是不是要配置一些路径啊,对不对,来咱们看一看,我们之前在我们的spring的配置文件当中,咱们打开,打开以后大家看我们这个路径是不是斜杠开头呢?没错吧,诶,它这个路径就叫后台路径,因为它是由服务器解析执行的,所以啊,我们的。路径分两种,前台、后台,那么前台相对的位置和后台相对的位置就不一样。来举个例子。比方说我现在有一个路径,这个路径呢是HTTP,然后呢,我们。
15:02
然后冒号8080斜杠。然后呢,B好写个叫test test.html诶这个就是我们的路径了,那如果你现在的前台路径你是这么写的话。啊,你是斜杠叉叉叉叉叉,诶或者SSS,那你这是什么意思呢?告诉你它相对的位置是哪呢?来咱们说一下。我们的相对啊来相对。我们叫做福气的根。也就是说你前台路径如果是以斜杠开头,它相对的就是服务器的根,从服务器的根开始来查找这个资源。那服务器的根是什么呢?告诉你,很简单,这个地方就是了。所以给他放过来。
16:01
这个就是那个服务器的根,那么也就意味着你想查找的资源,他查的是什么,他查的就是从根的这个位置开始往下找,就是这样的啊好,那么我们后台路径呢,后台路径它相对的位置发生了改变,它相对。我们叫YB应用的根。什么意思?也就意味着当你在后台路径当中写的是一个以斜杠开头的路径的话,它是以这个应用的根为基准的,所以说当你想去访问资源的话,它是以这个路径为基准。比方说我们一般都会跳转页面,那么我们一般在forward跳转页面的时候,我们都会怎么写呢?我们会这么写,以斜杠开头啊,比方说我们来,我们叫斜杠,诶,我们叫做u.JP,你这么写你会发现都是以斜杠开头,但是你真正跳转的页面应该是什么?应该是u.JSP。
17:04
你会发现跟上面它就不一样,这就是我们路径的区别。
我来说两句