欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java中相对路径与绝对路径区别

程序员文章站 2022-08-20 13:06:09
1.绝对路径 所谓绝对路径,就是资源文件在硬盘上的真实路径或者部署到web服务器上之后引用资源的完整路径。如: d:/项目名/css/a.css https://localhost:8080/项目名...
1.绝对路径

所谓绝对路径,就是资源文件在硬盘上的真实路径或者部署到web服务器上之后引用资源的完整路径。如:

d:/项目名/css/a.css

https://localhost:8080/项目名/css/a.css

可以为中当前文件引入的资源文件使用绝对路径,强烈推荐使用绝对路径。

<%

string path = request.getcontextpath();

string basepath = request.getscheme()+"://"+request.getservername()+":"+request.getserverport()+path+"/";

%>

上述代码可获取当前项目的路径,如:https://localhost:8080/项目名称。

中添加如下一行代码:

如下图,为在此jsp文件中引入css.css

2.相对路径

所谓相对路径,就是相对于当前文件,待引入的资源文件的位置。如“a.jsp” 文件里引用了“m.js”,若a.jsp和m.js在同一个目录,只要这两个文件的相对位置没有变,那么部署到web服务器就能正常显示。

./ 当前目录 ../ 上一级目录 ../../上上一级目录

./a.js ../a.js ../../a.js

3.服务器端与客户端的路径问题

不能以是否用"/"开头,作为资源文件引用的开始,来判断使用的是绝对路径或相对路径,而应该使用这个资源文件的最终的路径来判断。

服务器端:

getservletcontext().getrealpath("/img/pic.jpg");

上述代码可以获取服务器端资源的路径,开头的/代表的是从项目根路径(站点+项目名)查找参数指定资源的路径,如:https://localhost:8080/项目名/

服务器端请求分派

string path = "/test/abc"

request.getrequestdispatcher(path).forward(request, response);

客户端:

客户访问的当前文件,其所引入的资源文件路径,开头的/代表的是服务器站点的根路径,如:https://localhost:8080/

response.sendredirect(path);

服务器端的重定向,将请求路径返回给客户端浏览器,让客户端浏览器使用返回的新请求路径,重新发起请求。其原理类似于客户端浏览器直接访问新路径,请求相关资源。