資源描述:
《java網(wǎng)絡編程典型例題》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在行業(yè)資料-天天文庫。
1、網(wǎng)絡典型例題Java提供了兩個不同層次的網(wǎng)絡支持機制:利用URL訪問網(wǎng)絡資源利用Socket通信一、統(tǒng)一資源定位符URL類1、URL用來網(wǎng)絡資源定位,它的值由5部分組成,格式如下所示<傳輸協(xié)議>://<主機名>:<端口號>/<文件名>#<引用>其中傳輸協(xié)議(protocol)指明獲取資源所使用的傳輸協(xié)議,如http、ftp、file等。http表示通過HTTP訪問網(wǎng)絡資源。ftp表示通過網(wǎng)絡協(xié)議FTP訪問網(wǎng)絡資源。file表示本機上文件,是所指定的資源。news表示通過NNTP訪問指定新聞地址的資源。主機名(hostname)指定資源所在的計算機,可以是IP地址,如127.0.0
2、.1,也可以是主機名或域名,如www.sun.com。一個計算機中可能有多種服務(應用程序),端口號(port)用來區(qū)分不同的網(wǎng)絡服務,如http服務的默認端口號是80,ftp服務的默認端口號是21等。理論上有0-65535個端口,其中1024號以下端口一般都給定了用途,例如HTTP使用80端口;FTP默認21端口;Telnet使用23端口。平常我們使用1024號以上端口。文件名(filename)包括該文件的完整路徑。在http協(xié)議中,缺省的文件名是index.html,因此,http://java.sun.com就相等同于http://java.sun.com/index.h
3、tml。引用(reference)為資源內(nèi)的某個引用,用來定位顯示文件內(nèi)容的位置,如http://java.sun.com/index.html#chapter1。但并非所有的URL都包含這些元素。對于多數(shù)的協(xié)議,主機名和文件名是必需的,但端口號和文件內(nèi)部的引用則是可選的。2、URL類位于java.net包中,是指向互聯(lián)網(wǎng)資源的指針,使用URL可以通過給定的URL地址訪問到需要的資源。資源可以是簡單的文件和目錄,也可以是對象的引用、對數(shù)據(jù)庫或搜索引擎的查詢。URL類的對象代表一個URL地址。URL對象的創(chuàng)建示例:其構造方法:1)通過指定的URL字符串創(chuàng)建URL對象URLgamel
4、an=newURL("http://www.gamelan.com/pages/Gamelan.net.html");2)通過指定的協(xié)議、主機地址、路徑字符串創(chuàng)建URL對象URLgamelan=newURL("http","www.gamelan.com","/pages/Gamelan.net.html");3)通過指定的協(xié)議、主機地址、端口號、路徑字符串創(chuàng)建URL對象URLgamelan=newURL("http","www.gamelan.com",80,"pages/Gamelan.network.html");上兩種方法將一個URL地址分解,按不同部分分別指定協(xié)議、主機
5、、端口、文件。4)通過指定的上下文中對指定的協(xié)議的解析創(chuàng)建對象:URL(URL?context,String?spec)這種方法基于一個已有的URL對象創(chuàng)建一個新的URL對象,多用于訪問同一個主機上不同路徑的文件,例如:URLu1=newURL(u,”tutorial.intro.html”);創(chuàng)建URL后,可以對其操作:publicintgetDefaultItPort();獲取與此URL關聯(lián)的默認端口號publicStringgetFile();獲取此URL的文件名publicStringgetHost();獲取此URL的主機名publicStringgetPath();獲取
6、此URL的路徑部分publicintgetPort();獲取此URL的端口號publicStringgetProtocol();獲取此URL的協(xié)議名稱publicStringgetQuery();獲取此URL的查詢部分publicInputStreamopenStream();打開到此URL的連接并返回一個用于從該連接讀入的InputStream。3、URLConnection抽象類該抽象類代表應用程序和URL之間的通信鏈接。創(chuàng)建一個到URL的連接步驟:1)對影響到遠程資源連接的參數(shù)操作,通過在URL上調(diào)用openConnection方法創(chuàng)建連接對象。2)除了設置參數(shù)和一般請求屬
7、性。3)使用connect方法建立到遠程對象的實際連接,與資源交互;查詢頭字段和內(nèi)容。4)遠程對象變?yōu)榭捎?。遠程對象的頭字段和內(nèi)容變?yōu)榭稍L問。建立到遠程對象的連接后,可以使用以下方法對頭字段和內(nèi)容進行訪問。publicObjectgetContent()throwsIOException;獲取此URL鏈接的內(nèi)容publicStringgetHeaderField(intn);獲取指定頭字段的值publicInputStreamgetInputStream()throwsIOExc