Java的網(wǎng)絡(luò)知識
發(fā)表時(shí)間:2024-05-25 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]1) 從網(wǎng)絡(luò)上加載APPLE(小應(yīng)用程序) 現(xiàn)在的大多數(shù)瀏覽器都不約而同地對Java進(jìn)行支持。在HTML語言中,在.html文件的任何的位置上有一個(gè)特殊標(biāo)記。這句話就是對小應(yīng)用程序的引用。小應(yīng)用程序沒有受到地域的限制,它可以在本地,也可以在Internet上的任何一個(gè)地方。其位置對于用戶來講是...
1) 從網(wǎng)絡(luò)上加載APPLE(小應(yīng)用程序)
現(xiàn)在的大多數(shù)瀏覽器都不約而同地對Java進(jìn)行支持。在HTML語言中,在.html文件的任何的位置上有一個(gè)特殊標(biāo)記
。這句話就是對小應(yīng)用程序的引用。小應(yīng)用程序沒有受到地域的限制,它可以在本地,也可以在Internet上的任何一個(gè)地方。其位置對于用戶來講是透明的。而對于瀏覽器來講,其位置在中被讀出,然后進(jìn)行定位小應(yīng)用程序,并運(yùn)行它。如果小應(yīng)用程序位于遠(yuǎn)程計(jì)算機(jī)上,那么瀏覽器就必須小載它,然后才可運(yùn)行。
。2) 從URL加載圖像
首先,必須先介紹URL。它表示一個(gè)通過資源定位器(Uniform Resource Locator),是網(wǎng)絡(luò)上某些資源的地址。Java程序可以使用一個(gè)URL來引用或連接網(wǎng)絡(luò)資源。如:
如果需要從遠(yuǎn)程加載一張圖時(shí),Java程序必須先創(chuàng)建一個(gè)URL,以包含圖像的地址。
URL是Java程序里高級別的交互功能。
二、URL及其使用
URL代表通用資源定位器。將URL提供給網(wǎng)絡(luò)瀏覽器,那么它就可以在Internet上尋找并定位文件。在編寫Java程序時(shí),也可以用URL在互聯(lián)網(wǎng)上尋找希望訪問的資源。類組java.net中包含一個(gè)名為URL的類,Java可以使用它來表示一個(gè)URL地址。
這里需要區(qū)別的是:URL地址表示一個(gè)Internet地址,而URL對象則指代Java程序中的類URL的一個(gè)實(shí)例。
(1) URL的定義
URL是一個(gè)縮寫,代表通過資源定位(Uniform Resource Locator),是對Internet資源的一個(gè)引用(一個(gè)地址)。
URL不但可以表示網(wǎng)絡(luò)上的一個(gè)文件的名稱,而且可以指向網(wǎng)絡(luò)上的其它資源,如:數(shù)據(jù)庫查詢和命令輸出。如:
http://java.sun.com//
所有的URL擁有兩個(gè)主要的組成部分:
。1) 協(xié)議辨識符;
。2) 資源名稱。
上面的例子中,http為協(xié)議辨識符,而//java.sun.com/為資源名稱。
協(xié)議辨識符說明被使用來獲取資源的協(xié)議的名稱。示例使用超文本傳輸協(xié)議(HTTP),它用在超文本文檔服務(wù)中使用。HTTP只是被用來訪問網(wǎng)上不同類型資源的多種不同協(xié)議之一。其它的協(xié)議還包括文件傳輸協(xié)議(FTP)、gopher、文件(file)和新聞(news)。
資源名稱是資源的完整地址。資源名稱的格式完全依賴于使用的協(xié)議,但對于大多數(shù)格式而言,資源名稱包括下面組件的一種或多種:
(1) 宿主名稱:資源所處的機(jī)器的名稱。
(2) 文件名:機(jī)器上文件的路徑。
。3) 端口號:連接的端口號(一般為可選項(xiàng))。
。4) 引用:對于資源內(nèi)部一個(gè)有名連接(anchor)的一個(gè)引用;它常常指代一個(gè)文件內(nèi)的特定位置(一般為可選項(xiàng))。
大多數(shù)情況下,宿主名稱和文件名是必須的,而端口號以及引用則是可選的。上面的示例中java.sun.com為宿主名稱,冒號后的第一個(gè)斜線’/’是文件/index.html的簡寫。
在構(gòu)建任何URL的時(shí)候,都應(yīng)該將協(xié)議辨識符放在首位,后面緊跟冒號’:’,然后才是資源名稱,即:
protocolID:resourceName
在類組java.net中包含一個(gè)類URL,Java程序使用它代表一個(gè)URL地址。Java程序可以構(gòu)造一個(gè)URL對象,打開對它的一個(gè)連接,然后在這個(gè)連接中讀入和寫出。
三、創(chuàng)建一個(gè)URL
在Java程序中,可以創(chuàng)建一個(gè)URL對象以表示一個(gè)URL地址。URL對象總是指向一個(gè)絕對的URL,但它可以由一個(gè)絕對的URL、一個(gè)相對的URL或URL組件構(gòu)造而來。
創(chuàng)建一個(gè)URL對象的最簡單的方法就是從一個(gè)表示URL地址的“可閱讀”形式的字符串創(chuàng)建。
在Java中,可以使用上述文字的字符串創(chuàng)建一個(gè)URL對象:
URL gamelan=new URL(http://www.linuxaid.com.cn/)
這種方法創(chuàng)建的URL對象表示一個(gè)絕對的URL。一個(gè)絕對的URL包含了到達(dá)資源所需的所有信息。另外,還可以由一個(gè)相對的URL地址創(chuàng)建URL對象。
。1) 相對URL
一個(gè)相對URL只包含到達(dá)對于另一個(gè)URL(或處于另一個(gè)URL上下文之中)的資源的足夠信息。
在HTML文件中常常使用相對的URL指定資源的位置。如有兩個(gè)文件1.html、2.html和3.html,并且它們在同一個(gè)目錄下面,那么在1.html中如果需要調(diào)用2.html和3.html則必須寫入:
}
//異常處理代碼
}catch (MalformedURLException e){
URL url=new URL(….);
try{
捕捉和處理這個(gè)異常,只要將URL的構(gòu)造過程語句放在一個(gè)try/catch中即可。例如: 希望 在類URL的構(gòu)造過程的兩個(gè)版本中,當(dāng)傳遞給它們的參數(shù)指向一個(gè)空的或不知道的協(xié)議時(shí),它們都拋出一個(gè)MalformedURLException異常。如果
。2) 異常MalformedURLException
如果使用這些過程創(chuàng)建一個(gè)URL對象,就可以通過使用URL的過程toString()或過程toExternalForm()得到一個(gè)包含完整URL地址的String對象。
http://www.linunaid.com.cn:80/linunxaid.animation.html
其中,80是端口號,別的參數(shù)同前。該語句創(chuàng)建了如下的一個(gè)URL對象:
URL linuxaid = new URL(“http”,www.linuxaid.com,80,”/linuxaid.animation.html”);
類URL的另一個(gè)構(gòu)造過程還在參數(shù)列表中添加了端口號,例如:
注意,文件名的開頭為一個(gè)斜線’/’,說明文件名相對于宿主的根目錄。
該語句和URL linuxaid=URL(http://www.linuxaid.com.cn/linuxaid.animation.html);是等價(jià)的。其中,第一個(gè)參數(shù)為協(xié)議,第二個(gè)參數(shù)為宿主名稱,最后一個(gè)為文件的路徑名。
URL linuxaid = new URL(“http”,”www.linuxaid.com.cn”,”/linuxaid.animation.html”);
程序,讓用戶使用鼠標(biāo)選擇協(xié)議、宿主名稱、端口號和文件名,則可以由這些組件構(gòu)造一個(gè)URL。類URL提供了用協(xié)議、宿主名稱和文件名創(chuàng)建一個(gè)URL的構(gòu)造過程。下面的代碼就創(chuàng)建了一個(gè)指向linuxaid站點(diǎn)的linuxaid.animation.html文件的URL: 網(wǎng)絡(luò) 如果需要設(shè)計(jì)一個(gè)
引用等組件,這些構(gòu)造過程就很有用了。如果不清楚包含完整URL的String對象,只要知道URL的不同組件,使用這兩個(gè)構(gòu)造過程就顯得非常方便。
除前面介紹的類URL的構(gòu)造過程外,類URL還提供了另外兩個(gè)構(gòu)造過程。當(dāng)你使用URL的時(shí)候,例如HTTP的URL,它的資源名稱部分包含宿主名稱、文件名稱、端口號和
(2)其它的URL構(gòu)造過程
其中,第一個(gè)參數(shù)是一個(gè)URL對象,指定新的URL的基址,第二個(gè)參數(shù)為一個(gè)String對象,是對相對于基址的資源名稱的描述。如果baseURL為null,那么這個(gè)構(gòu)造過程就將relativeURL視為一個(gè)絕對的URL指定。但如果relativeURL是一個(gè)絕對的URL指定,那么構(gòu)造過程將忽略baseURL。
URL(URL baseURL,String relativeURL)
這種URL構(gòu)造過程的一般形式為:
URL linuxaidAnimationBottom=new URL(linuxaid,”#BOTTOM”);
則可以使用相對URL構(gòu)造過程創(chuàng)建一個(gè)URL對象(在下面的語句中BOTTOM前的字符#是必須的):
這個(gè)構(gòu)造過程也可以用來創(chuàng)建對一個(gè)文件中的有名連接(引用)的URL對象。例如,假設(shè)文件“l(fā)inuxaid.animation.html”中包含一個(gè)有名連接BOTTOM,它在文件的底部,
上面的代碼使用用了類URL的另一種形式的構(gòu)造過程,它允許你由一個(gè)URL對象(基本URL)和一個(gè)相對的URL創(chuàng)建一個(gè)對象。
URL linuxaidanimation = new URL(linuxaid,”linuxaid.animation.html”);
URL linuxaid = new URL(http://www.javaworld.com/);
在Java中中,可以由一個(gè)相對的URL指定創(chuàng)建一個(gè)URL對象。例如,假設(shè)程序已經(jīng)為http://www.linuxaid.com.cn/創(chuàng)建了一個(gè)URL對象,而且已經(jīng)知道該站點(diǎn)的一個(gè)文件的名稱為linuxaid.animation.html,則就可以在初始的linuxaid URL上下文中,通過簡單地指定文件名,為linuxaid站點(diǎn)的這個(gè)文件創(chuàng)建URL:
這些URL均為相對的URL,即:這些URL相對于包含它們的文件1.html。
Picture of My Pets
My Story