呵呵,看到這個標題,我自己都在笑,寫了3個月的代碼了,連這個問題還搞不清呢
沒有計算機基礎的人就是這樣子的。
我沒有時間從頭學起,只能現學現用,現用現學了
今天在工作的時候,將 my eclipse 項目下的一個 jsp 移動了位置(從WebRoot 下,移入到 WebRoot 下的一個package 下面),竟發生了找不到 servlet的情況。呵呵...
想著就是路徑問題,在jsp頁面 表單里的 action 屬性了,加了 ../ ,ok了呢。
所以就趁這次的機會,補充一下路徑的知識。
*****************************************************************************
相對路徑:相對路徑就是指由這個文件所在的路徑引起的跟其它文件(或文件夾)的路徑關系。
使用相對路徑可以為我們帶來非常多的便利。
?,?img height="100" alt="" src="http://www.webshu.com/tutorial/p/sd1.gif" />
?,?br />
index.htm要想鏈接到01.htm這個文件,正確的鏈接應該是:<a href=web/article/01.htm>鏈接文字</a>,
這是標準的相對路徑。
反過來,01.htm要想鏈接到index.htm這個文件,在01.htm文件里面應該寫上這句:
<a href=../../index.htm>返回首頁</a>。這里的../表示向上一級。
至此,你已經了解相對路徑的概念了,就是這樣簡單明了。如果你還是沒有看明白,
以前學過DOS嗎?它的“CD 文件夾名”和“CD..”命令用過嗎?這是同理的。
注意:相對路的文件夾符號是斜杠:/
<a href=/web/article/01.htm>鏈接文字</a>這樣的鏈接,在href后面的第一個斜杠表示根目錄,
通常我們要特別慎用這種方式
所以我剛才錯的地方是,把jsp 從webroot 移動到其下的一個package里后,
沒有改變這個jsp里form的action的屬性。
所以當要發生action時,只會在當前目錄下找 addUserinfo 這個servelt,
而當我改變了這個jsp form里的 action 屬性,
從 action="addUserinfo" ---更改為----> action="../addUserinfo"
加上了../ ,就表示,會先找到了這個jsp頁面所在的上級目錄,然后再去找 web.xml 配置的 addUserinfo
“../”代表當前位置(即該鏈接所在文件所處的文件夾)的上一級文件夾。
*****************************************************************************
二、絕對路徑:
在www中(廣域網),以http開頭的鏈接都是絕對路徑。
*****************************************************************************
三、物理路徑
物理路徑指的是某一臺計算機本地的路徑,以盤符開頭,例如C:\ 、D:\temp等等。
ASP的數據庫連接中,只能連接物理路徑,而不能連接相對路徑,
所以需要用server.mappath對象把相對路徑轉化成物理路徑。