絕對路徑與相對路徑解析
絕對路徑:帶訪問協議的路徑
本地絕對路徑:帶有盤符的路徑,如: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>
絕對路徑與相對路徑解析