看完这篇文章你就能完全明白web项目中的路径问题了

今天做网上购物系统(Web项目)中个人信息模块的头像上传,一直出现路径问题,仔细看一下,是自己完全没有弄明白路径。经过一番学习,也算是有所收获,下面我们就来谈一下绝对路径和相对路径的区别问题。


什么是绝对路径

我们都知道,在我们平时使用计算机时要找到需要的文件就必须知道文件的位置,而表示文件的位置的方式就是路径,例如,只要我们看到一个路径:C:/website/image/photo.jpg,我们就知道photo.jpg在C盘下的website文件夹的子文件夹里。类似于这样带了系统盘符的完整的路径就是所谓的绝对路径。无需知道其他更多的信息,就可以根据绝对路径判断出文件所在的位置,在网站中类似于http://www.dbh.cn/image/photo.jpg来确定文件的路径的方式也是绝对路径的一种。若网页中使用的是图片的绝对路径,在自己电脑毫无疑问,只要图片的绝对路径没错,那肯定是完全ok,但若换一台机子,那就肯定会出问题了。

另外,在网站的应用中,我们通常使用“/”来表示根目录,/image.photo.jpg:表示图片在这个网站的根目录上的img目录里。这里要注意了,这根目录并不是网站的根目录,而是网站所在的服务器的根目录(就今天的问题就出在这了),因此,当网站根目录与服务器的根目录不同时就容易出错了。


什么是相对路径

所谓相对路径顾名思义就是自己相对于目标所在的位置,网页中链接图片,我们就可以根据图片来定位文件,那么不论将这些文件放在哪里,自要相对关系不变就不会出错。


举几个看完就懂的例子(使用“../”来表示上一级目录,“../../”表示上上级的目录,以此类推

所有例子前提均为:index.htm文件中联接有一张图片photo.jpg,已知两者的绝对路径,用相对路径分别表示出index.htm中联接的photo.jpg

例1:
c:/website/index.htm 
c:/website/img/photo.jpg 
正确写法::img/photo.jpg
例2:
c:/website/ssm_mall/index.htm 
c:/website/img/photo.jpg  
正确写法:../img/photo.jpg
例3: 
c:/website/ssm_mall/forword/index.htm 
c:/website/img/images/photo.jpg 
正确写法:可以使用../../img/images/photo.jpg的相对路径来定位文件 
例4: 
c:/website/ssm_mall/forword/index.htm 
c:/website/ssm_mall/img/photo.jpg 
正确写法:可以使用../img/photo.jpg的相对路径来定位文件 

总结:通过以上的例子可以发现,在把绝对路径转化为相对路径的时候,两个文件绝对路径中相同的部分都可以忽略,不做考虑。只要考虑他们不同之处就可以了。 

最后,为了避免在web开发路径问题错误,我们可以使用到服务器根目录看看目录结构。

内容来自百度百科加自己的理解,有什么不对的地方望指点

你可能感兴趣的:(总结归纳,前端学习,java基础)