絕對路徑:是從盤符開始的路徑,形如
c:\windows\system32\cmd.exe
相對路徑:是從目前路徑開始的路徑,假如目前路徑為c:\windows
要描述上述路徑,隻需輸入
system32\cmd.exe
實際上,嚴格的相對路徑寫法應為
.\system32\cmd.exe
其中,.表示目前路徑,在通道情況下可以省略,隻有在特殊的情況下不能省略。
假如目前路徑為c:\program files
要調用上述指令,則需要輸入
..\windows\system32\cmd.exe
其中,..為父目錄。
目前路徑如果為c:\program files\common files
則需要輸入
….\windows\system32\cmd.exe
拿着這了解應該比程式裡面好了解得多了。
<code>${pagecontext.request.contextpath}</code>等價于<code><%=request.getcontextpath()%></code>或者可以說是<code><%=request.getcontextpath()%></code>的el版
意思就是取出部署的應用程式名或者是目前的項目名稱
比如我的項目名稱是springmvc 在浏覽器中輸入為<code>http://localhost:8080/springmvc/login.jsp</code>
是以我們項目中應該這樣寫${pagecontext.request.contextpath}/login.jsp
說一下親身的例子大概就明白了。這裡我先用的是相對路徑,很多種情況下都沒出錯。

你看這個delete操作,我也是用的相對路徑,那為甚麼不會出錯呢,因為請求路徑隻有一層,沒有任何占位符,當hiddenhttpmethodfilter轉換為delete請求的時候會去掉一層,是以不會出錯,請求路徑變成<code>http://localhost:8080/emp/1001</code>
但是這個edit就不容樂觀了。
本來路徑上有占位符的存在,是以轉換的時候就不會認全。
就會出現這樣的鬧劇,請求多層本來就沒有handler處理的路徑。
是以告誡大家,請盡可能多的使用相對路徑。