相对路径和绝对路径

其实绝对路径与相对路径的不同处,运用以根目录为参考点的路径描述方式才会被称之为绝对路径。"."--代表目前所在的目录。".."--代表上一层目录。"/"--代表根目录。
 
  我们用以一个表格来说明在上图的情况下,某文件引用另一文件时,所应使用的相对路径与绝对路径。  

 

引用者
被引用者
相对路径
绝对路径
Ref1.htm BeRef1.gif ../SubDir2/BeRef1.gif /Dir1/SubDir2/BeRef1.gif
Ref2.htm BeRef1.gif ../../Dir1/SubDir2/ BeRef1.gif /Dir1/SubDir2/ BeRef1.gif
Ref1.htm BeRef2.htm ../../Dir2/ BeRef2.htm /Dir2/BeRef2.htm
Ref2.htm BeRef2.htm ../BeRef2.htm /Dir2/BeRef2.htm
 
 
相对路径的使用:
1.服务端的"/"根目录是http://localhost8080:/test/ 
例子:我们通过一个servlet转发到一个jsp,或者重定向,其路径是这样的 
当前路径:/login.do                                                                         当前路径:/login.do                  
目标路径:/WEB-INF/jsp/s.jsp                                                       目标路径:/check.do
转发相对地址:WEB-INF/jsp/s.jsp                                                  重定向相对地址:check.do
 
2.浏览器端解析地址:"/"根目录是http://localhost8080:/
在项目中要看tomcat的部署后的文件地址,当我们在一个web-inf下的jsp中需要导入css等样式,注意这个jsp是通过访问servlet得到的,就是说这个jsp的地址是/fingcost.do。
 
例子:jsp中导入css html image等
当前jsp地址:http://.../test/login.do
引入css:http://.../test/css/j.css
相对地址:css/j/css  
  防止路径变化,最好写成
<% 
String path = request.getContextPath(); 
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %>
<head><%=basePath%></head>这样页面所有的连接都会基于这个basePahth, 
<link href="css/j.css"> 这样当这个jsp地址改变也不会影响css,reques得到的就是/test,
这样整个页面都是基于这个path地址
 
 
posted @ 2020-08-23 13:05  z街角的风铃y  阅读(295)  评论(0)    收藏  举报