主頁(yè) > 知識(shí)庫(kù) > Java Web開(kāi)發(fā)之訪(fǎng)問(wèn)路徑問(wèn)題分析

Java Web開(kāi)發(fā)之訪(fǎng)問(wèn)路徑問(wèn)題分析

熱門(mén)標(biāo)簽:團(tuán)購(gòu)網(wǎng)站 服務(wù)器配置 Linux服務(wù)器 電子圍欄 Mysql連接數(shù)設(shè)置 科大訊飛語(yǔ)音識(shí)別系統(tǒng) 阿里云 銀行業(yè)務(wù)

本文實(shí)例講述了Java Web開(kāi)發(fā)之訪(fǎng)問(wèn)路徑問(wèn)題。分享給大家供大家參考。具體如下:

Web應(yīng)用是由大量的文件組成的,系統(tǒng)等運(yùn)行主要是靠文件之間的相互調(diào)用來(lái)完成,調(diào)用就是根據(jù)文件的位置來(lái)確定的。如果你在訪(fǎng)問(wèn)某個(gè)文件的時(shí)候,系統(tǒng)報(bào)下面這樣的錯(cuò)誤,如果你的文件名沒(méi)有寫(xiě)錯(cuò),就是路徑出錯(cuò)了。

為了說(shuō)明路徑問(wèn)題,我們假設(shè)有以下的文檔結(jié)構(gòu):

這是JBuilder2006下的一個(gè)截圖,應(yīng)用的名字是filepathweb,有兩個(gè)文件夾,aa和bb,其中aa下有a_a.jsp和a_b.jsp兩個(gè)文件,bb下有b_a.jsp文件。

絕對(duì)路徑

Web文件訪(fǎng)問(wèn)的基本格式如下:

協(xié)議://主機(jī):端口/應(yīng)用名/文件夾名/文件
協(xié)議:這里應(yīng)該是http協(xié)議;
主機(jī):是運(yùn)行Web應(yīng)用的服務(wù)器的地址,可以使用主機(jī)名(或者域名),可以使用IP地址,如果是本機(jī)的話(huà),可以使用虛擬IP地址(127.0.0.1),可以使用機(jī)器名。
端口:Web服務(wù)器運(yùn)行時(shí)候所使用的端口,每個(gè)服務(wù)器程序都會(huì)有端口。對(duì)于Web應(yīng)用來(lái)說(shuō),默認(rèn)的端口是80。
應(yīng)用名:在同一個(gè)應(yīng)用服務(wù)器上可能運(yùn)行多個(gè)Web應(yīng)用,這是允許的,我們?cè)谠L(fǎng)問(wèn)某個(gè)應(yīng)用的時(shí)候,需要指定所訪(fǎng)問(wèn)的Web應(yīng)用,這個(gè)路徑通常是Web應(yīng)用文件夾的名字,但是可以配置成其它的。應(yīng)用的配置參見(jiàn)Web應(yīng)用部署相關(guān)內(nèi)容。
文件夾名:在同一個(gè)Web應(yīng)用中可能會(huì)根據(jù)不同的功能創(chuàng)建不同的文件夾來(lái)存放不同功能模塊的文件,為了訪(fǎng)問(wèn)這個(gè)文件,必須指定它所在的文件夾。
文件:要訪(fǎng)問(wèn)的jsp文件。

需要注意的是文件夾名和文件名共同確定了這個(gè)文件,相當(dāng)于文件的完整路徑。對(duì)于Servlet的訪(fǎng)問(wèn),使用的不是文件名,而是在web.xml中配置的路徑,可以參加Servlet部分內(nèi)容。

例:如何訪(fǎng)問(wèn)上面的Web應(yīng)用的中的a_a.jsp文件,假設(shè)在本機(jī)上訪(fǎng)問(wèn),使用的端口是8083,部署的時(shí)候使用的應(yīng)用的名字就是filepathweb。

路徑應(yīng)該這樣寫(xiě):
http://127.0.01:8083/filepathweb/aa/a_a.jsp
或者
http://localhost:8083/filepathweb/aa/a_a.jsp

需要解釋幾個(gè)問(wèn)題:

(1)有人說(shuō),上網(wǎng)的時(shí)候從來(lái)不需要輸入端口,原因是使用了默認(rèn)端口,Web應(yīng)用的默認(rèn)端口是80。
(2)有人說(shuō),從來(lái)也不需要輸入應(yīng)用的名字,原因是設(shè)置了默認(rèn)應(yīng)用,關(guān)于默認(rèn)應(yīng)用請(qǐng)參考本書(shū)中的其它相關(guān)內(nèi)容。
(3)有人說(shuō),也不需要輸入要訪(fǎng)問(wèn)的文件名,原因是設(shè)置了歡迎網(wǎng)頁(yè),在web.xml中設(shè)置的,關(guān)于這部分內(nèi)容,請(qǐng)參考本書(shū)中其它相關(guān)內(nèi)容。

相對(duì)路徑

上面介紹了對(duì)于某個(gè)文件的訪(fǎng)問(wèn)方式,這里的訪(fǎng)問(wèn)方式叫絕對(duì)路徑,也就是我們使用完整的路徑,在web應(yīng)用的文件相互訪(fǎng)問(wèn)的時(shí)候,除了可以使用絕對(duì)路徑,還可以使用相對(duì)路徑。例如,我們要在a_a.jsp文件中訪(fǎng)問(wèn)a_b.jsp,直接寫(xiě)絕對(duì)路徑肯定沒(méi)有問(wèn)題,但是寫(xiě)起來(lái)不方便,另外如果部署的時(shí)候Web應(yīng)用的名字發(fā)生變化了,訪(fǎng)問(wèn)的路徑都需要改變,所以我們應(yīng)該使用相對(duì)路徑。

相對(duì)路徑有兩種情況:第一種,相對(duì)于當(dāng)前文件的位置;第二種,相對(duì)于應(yīng)用的位置。

相對(duì)路徑在使用的時(shí)候需要知道以下知識(shí):
(1)當(dāng)前路徑是".",表示當(dāng)前路徑。
(2)上一級(jí)路徑是"..",要訪(fǎng)問(wèn)上一級(jí)文件夾,就需要寫(xiě)"./../"。
(3)相對(duì)于應(yīng)用的路徑直接寫(xiě)"/"。

根據(jù)上面的情況在a_a.jsp文件中訪(fǎng)問(wèn)a_b.jsp有以下3種方式(通過(guò)超鏈的方式):

a href="a_b.jsp">a_b.jsp/a>br>
a href="http://localhost:8083/filepathweb/aa/a_b.jsp">a_b.jsp/a>br>
a href="/filepathweb/aa/a_b.jsp">a_b.jsp/a>br>

第一種情況,就是相對(duì)路徑,因?yàn)閍_a.jsp和a_b.jsp在同一個(gè)文件夾,所以直接寫(xiě)a_b.jsp,系統(tǒng)會(huì)在a_a.jsp所在的文件夾查找a_b.jsp,使用的相對(duì)于當(dāng)前文件的路徑。
第二種情況,使用了絕對(duì)路徑,就是前面介紹過(guò)的。
第三種情況,使用了應(yīng)用的位置信息,然后只要寫(xiě)在應(yīng)用中的位置就可以了。

這是訪(fǎng)問(wèn)同一個(gè)文件的情況,如果要訪(fǎng)問(wèn)不同文件夾的文件怎樣辦呢?例如,要在a_a.jsp中訪(fǎng)問(wèn)bb文件夾中的b_a.jsp。

對(duì)于bb中的b_a.jsp的訪(fǎng)問(wèn),上面使用的3種方法中的第二種和第三種同樣可以直接使用,但是相對(duì)于當(dāng)前文件的路徑比較麻煩,下面是在a_a.jsp中訪(fǎng)問(wèn)b_a.jsp的3種方式:

a href="./../bb/b_a.jsp">a_b.jsp/a>br>
a href="http://localhost:8083/testweb/bb/b_a.jsp">a_b.jsp/a>br>
a href="/testweb/bb/b_a.jsp">a_b.jsp/a>br>

需要說(shuō)明的是相對(duì)于路徑,如果當(dāng)前文件夾比較深,可以多次使用"../","./"表示當(dāng)前文件夾。

希望本文所述對(duì)大家的JSP程序設(shè)計(jì)有所幫助。

您可能感興趣的文章:
  • java中獲取類(lèi)加載路徑和項(xiàng)目根路徑的5種方式分析
  • java之路徑分隔符介紹
  • java解析出url請(qǐng)求的路徑和參數(shù)鍵值對(duì)類(lèi)(解析出url請(qǐng)求的路徑,包括頁(yè)面)
  • java獲得平臺(tái)相關(guān)的行分隔符和java路徑分隔符的方法
  • Java獲取此次請(qǐng)求URL以及服務(wù)器根路徑的方法
  • java 用遞歸獲取一個(gè)目錄下的所有文件路徑的小例子
  • java獲取系統(tǒng)路徑字體、得到某個(gè)目錄下的所有文件名、獲取當(dāng)前路徑
  • java 獲取項(xiàng)目文件路徑實(shí)現(xiàn)方法
  • 基于獲取JAVA路徑,包括CLASSPATH外的路徑的方法詳解
  • JAVA獲取文件絕對(duì)路徑的方法
  • Java實(shí)現(xiàn)利用廣度優(yōu)先遍歷(BFS)計(jì)算最短路徑的方法
  • Java Web中解決路徑(絕對(duì)路徑與相對(duì)路徑)問(wèn)題

標(biāo)簽:江蘇 廣元 大理 萍鄉(xiāng) 棗莊 蚌埠 衡水 衢州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Java Web開(kāi)發(fā)之訪(fǎng)問(wèn)路徑問(wèn)題分析》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話(huà)咨詢(xún)

    • 400-1100-266