用Java開發Web應用時無論是Jsp頁面Servlet或是webxml配置文件中都涉及到路徑的問題而這又是初學者較容易混淆的地方往往不知道如何寫路徑其實服務器端和客戶端在處理路徑的方式上不一致因此需要根據不同的情況寫出正確的路徑下面通過例子來說明
假設Web應用road中應用的根路徑下有一個dir文件夾和dir文件夾cjsp在dir中ajsp和bjsp在dir中Web應用的結構如圖所示
+ root
dir
cjsp
dir
ajsp
bjsp
JSP頁面中正確的路徑表示 假設在ajsp頁面中有兩個鏈接分別鏈接到bjsp和cjsp頁面
直接寫路徑表示和頁面在同一個文件夾下面如<a >bjsp</a>
/表示當前文件夾的上一級文件夾(相對路徑)如 <a >bjsp</a>
<a >cjsp</a>
/表示//機器IP(絕對路徑)如 <a >bjsp</a>
<a >cjsp</a>
Servlet中正確的路徑表示
轉發請求時/表示//服務器IP/Web應用名例如 String forward = /dir/cjsp;
RequestDispatcher rd = requestgetQRequestDispatcher(forward);
重定向時/ 表示//機器IP:而通過requestgetContextPath()得到的是//機器IP:/Web應用名例如 String str = requestgetContextPath();
responsesendRedirect(str + /dir/cjsp);
配置文件webxml中 urlmapping中/表示//IP地址/Web應用名
××總結××
在浏覽器端/表示的是一台WEB服務器//機器IP
在服務器端(請求轉發)/表示的是一個WEB服務器端的應用//機器IP/Web應用
在服務器端(重定向)/表示的是一個WEB服務器//機器IP
From:http://tw.wingwit.com/Article/program/Java/hx/201311/26097.html