轉(zhuǎn)帖|其它|編輯:郝浩|2010-07-23 09:25:43.000|閱讀 633 次
概述:用Java開發(fā)Web應(yīng)用時(shí),無論是Jsp頁面、Servlet或是web.xml配置文件中都涉及到路徑的問題,而這又是初學(xué)者較容易混淆的地方,往往不知道如何寫路徑。其實(shí)服務(wù)器端和客戶端在處理路徑的方式上不一致,因此需要根據(jù)不同的情況寫出正確的路徑。下面通過例子來說明。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
用Java開發(fā)Web應(yīng)用時(shí),無論是Jsp頁面、Servlet或是web.xml配置文件中都涉及到路徑的問題,而這又是初學(xué)者較容易混淆的地方,往往不知道如何寫路徑。其實(shí)服務(wù)器端和客戶端在處理路徑的方式上不一致,因此需要根據(jù)不同的情況寫出正確的路徑。下面通過例子來說明。
假設(shè)Web應(yīng)用road中,應(yīng)用的根路徑下有一個(gè)dir1文件夾和dir2文件夾。c.jsp在dir1中,a.jsp和b.jsp在dir2中。Web應(yīng)用的結(jié)構(gòu)如圖所示。
+ root
-dir1
c.jsp
-dir2
a.jsp
b.jsp
JSP頁面中正確的路徑表示 假設(shè)在a.jsp頁面中有兩個(gè)鏈接,分別鏈接到b.jsp和c.jsp頁面。
直接寫路徑表示和頁面在同一個(gè)文件夾下面,如<a href="b.jsp">b.jsp</a>
"../"表示當(dāng)前文件夾的上一級文件夾(相對路徑),如: <a href="../dir2/b.jsp">b.jsp</a>,
<a href="../dir1/c.jsp">c.jsp</a>
"/"表示 //機(jī)器IP:8080(絕對路徑),如: <a href="/road/dir2/b.jsp">b.jsp</a>
<a href="/road/dir1/c.jsp">c.jsp</a>
Servlet中正確的路徑表示
轉(zhuǎn)發(fā)請求時(shí):"/"表示“//服務(wù)器IP:8080/Web應(yīng)用名”,例如: String forward = "/dir1/c.jsp";
RequestDispatcher rd = request.getQRequestDispatcher(forward);
重定向時(shí):“/” 表示“//機(jī)器IP:8080”,而通過request.getContextPath()得到的是:“//機(jī)器IP:8080/Web應(yīng)用名”,例如: String str = request.getContextPath();
response.sendRedirect(str + "/dir1/c.jsp");
配置文件web.xml中 url-mapping中,"/"表示“//IP地址:8080/Web應(yīng)用名”
總結(jié)
在瀏覽器端:“/”表示的是一臺WEB服務(wù)器,“//機(jī)器IP:8080”
在服務(wù)器端(請求轉(zhuǎn)發(fā)):“/”表示的是一個(gè)WEB服務(wù)器端的應(yīng)用,“//機(jī)器IP:8080/Web應(yīng)用”
在服務(wù)器端(重定向):“/”表示的是一個(gè)WEB服務(wù)器,“//機(jī)器IP:8080”
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:網(wǎng)絡(luò)轉(zhuǎn)載