Java中相对路径与绝对路径区别
所谓绝对路径,就是资源文件在硬盘上的真实路径或者部署到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);
服务器端的重定向,将请求路径返回给客户端浏览器,让客户端浏览器使用返回的新请求路径,重新发起请求。其原理类似于客户端浏览器直接访问新路径,请求相关资源。
上一篇: mysql账户是否不允许远程连接?如无法连接的解决方法
下一篇: Vue.js插件开发教程
推荐阅读