绝对路径与相对路径解析

Posted kavins

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了绝对路径与相对路径解析相关的知识,希望对你有一定的参考价值。

绝对路径:带访问协议的路径

本地绝对路径:带有盘符的路径,如:D:\\image\\hello.jpg就是一个绝对路径,不过,对于本地路径,实际上是省略了file协议的,其带协议的全路径实际为:file:///D:\\image\\hello.jpg

网络绝对路径:http://localhost:8080/test/index.jsp就是一个绝对路径,带有http访问协议

相对路径

(1)以斜杠开头的相对路径:

  1).前台相对路径:所谓前台相对路径是指,由浏览器解析执行的代码中所包含的路径,例如:html,Css,js中的路径,及jsp中静态部分的路径,像html和jsp中的静态部分中的

     <img src=""/>,<a  href=""/>,<form action=""/>等,css中的background:img("")等;js中的window.location.href=""等,都属于前台路径

     前台相对路径的参照路径是web服务器的根路径,即:http://127.0.0.1:8080/

  2).后台相对路径:所谓后台相对路径是指由服务器解析执行的代码及文件中所包含的路径,例如,java代码中的路径,jsp文件中动态部分中的路径,xml文件中的路径

   后台相对路径的残照路径是Web应用的路径,例如:http://localhost:8080/01-primary

 

(2)不以斜杠开头的相对路径:无论是前台了路径还是后台路劲根,起参照路径是当前资源的访问路径,而不是当前资源的保存路径.

示例:

<!--要想访问下面的package中定义的action,则需要提交请求的绝对路径应该是:
http://127.0.0.1:8080/01-primary/test/Login.action-->
<package name="demo" namespace="/test" extends="struts-default">
<action name="Login" class="com.Kevins.actions.LoginAction">
<result name="success">/welcome.jsp</result>
</action>
</package>

<!-- 下面的相对路径是不带斜杠的相对路劲,起参照路径是当前的访问路径,
而当前的访问路劲是

技术分享图片

所以下面的相对路径转变为绝对路径后为:
http://127.0.0.1:8080/01-primary/test/Login.action,能访问到package中的action
-->
<form action="test/Login.action" method="post">
姓名:<input type="text" name="name"/><br>
年龄:<input type="text" name="age"/><br>
<input type="submit" value="登录"/>
</form>

<!--下面的相对路径是带斜杠的前台相对路径,其转变为绝对路径后为:
http://127.0.0.1:8080/test/Login.action 不能访问到package中的action

-->

<form action="/test/Login.action" method="post">
姓名:<input type="text" name="name"/><br>
年龄:<input type="text" name="age"/><br>
<input type="submit" value="登录"/>
</form>




















以上是关于绝对路径与相对路径解析的主要内容,如果未能解决你的问题,请参考以下文章

Java Web中相对路径与绝对路径的分析

Web应用中相对路径与绝对路径

node rename绝对路径

从相对路径和/或文件名解析绝对路径

将相对 url 路径解析为其绝对路径

相对路径与绝对路径的含义