web项目中的相对路径和绝对路径


一、相对路径与绝对路径

1、相对路径

相对路径就是相对于自己的目标文件的位置。(指以当前文件所处目录而言文件的位置)————以引用文件之间网页所在位置为参考基础,而建立出的目录路径。因此当保存于不同目录的网页引用同一个文件时,所使用的路径将不相同,故称之为相对。

"/"代表根目录
"./"代表当前目录
"…/"代表上级目录

例如:有一个html文件,路径为
D:\web\html\login.html
有一个图片,路径为
D:\web\html\img\p1.jpg
要在login.html中引用p1.jpg,用相对路径表示为

<a href="../img/p1.jpg">

1、绝对路径

绝对路径是指文件在硬盘上真正存在的路径。之所以成为绝对,意指当所有网页引用同一文件时,所引用的路径都是一样的。
上例用绝对路径表示为

<a href="D:/web/html/img/p1.jpg">

二、 web应用中相对路径与绝对路径的使用

在web应用中,对于请求的任何资源,均需要转化为绝对URL地址。
URL 地址请求 = http://域名(或地址): 端口号/ + 当前web应用根目录+ Web 相对路径

①服务器根地址(或称为tomcat服务器地址)规范为:

http:/主机名:[端口号]/,例如:http://192.168.0.1:8080/

②web应用根地址规范为:

http:/主机名:[端口号]/web应用根目录/,例如:http://192.168.0.1:8080/OutSourcingManage/

③资源根地址规范为:

http:/主机名:[端口号]/web应用根目录/资源名称,例如:http://192.168.0.1:8080/OutSourcingManage/login

上面三个概念分别为:tomcat服务器根地址、web应用根地址、资源根地址

在web项目中url地址前面有"/“时都为绝对路径,需要注意的是,服务器和浏览器对”/“的解析规则是不同的
在浏览器中会将”/"解析为

http:/主机名:[端口号]/

在服务器端会被解析为

http:/主机名:[端口号]/web应用根目录/

例如页面跳转和重定向时使用的地址:
1、利用绝对路径进行页面跳转,由服务器解析"/",跳转成功

request.getRequestDispatcher("/WEB-INF/views/success.jsp").forward(request, res);

2、利用相对路径进行页面跳转,跳转成功

request.getRequestDispatcher("WEB-INF/views/success.jsp").forward(request, res);

3、利用绝对路径进行重定向,由浏览器解析"/",重定向失败

response.sendRedirect("/hello.html");

4、利用相对路径进行重定向,重定向成功

response.sendRedirect("hello.html");

三、Web 绝对路径与相对路径的利弊

Web 绝对路径的最大优势就是与请求所在的页面目录无关,无论把发送请求的页面放在工程的任何位置都不影响向服务器发送的 URL 地址请求;缺点就是绝对路径写起来要复杂和繁琐一些。所以,Web 绝对路径非常适合页面众多而且经常调整页面位置的大型 Web 项目。

Web 相对路径的最大优势就是写起来简洁,但是如果 Web 文件夹页面嵌套太多,路径很容易搞混,出现错误。所以,Web 相对路径非常适合页面较少而且页面层级关系不复杂(一般不超过三层)的 中小型 Web 项目。

  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值