![java網(wǎng)絡(luò)程序設(shè)計第3章_第1頁](http://file4.renrendoc.com/view/7b3dc4bb7fbb5c30b0429b86eab66825/7b3dc4bb7fbb5c30b0429b86eab668251.gif)
![java網(wǎng)絡(luò)程序設(shè)計第3章_第2頁](http://file4.renrendoc.com/view/7b3dc4bb7fbb5c30b0429b86eab66825/7b3dc4bb7fbb5c30b0429b86eab668252.gif)
![java網(wǎng)絡(luò)程序設(shè)計第3章_第3頁](http://file4.renrendoc.com/view/7b3dc4bb7fbb5c30b0429b86eab66825/7b3dc4bb7fbb5c30b0429b86eab668253.gif)
![java網(wǎng)絡(luò)程序設(shè)計第3章_第4頁](http://file4.renrendoc.com/view/7b3dc4bb7fbb5c30b0429b86eab66825/7b3dc4bb7fbb5c30b0429b86eab668254.gif)
![java網(wǎng)絡(luò)程序設(shè)計第3章_第5頁](http://file4.renrendoc.com/view/7b3dc4bb7fbb5c30b0429b86eab66825/7b3dc4bb7fbb5c30b0429b86eab668255.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第3章URL通信本章簡介URL(UniformResourceLocator)是統(tǒng)一資源定位器的簡稱,它表示Internet上某一資源的地址。通過URL我們可以訪問Internet上的各種網(wǎng)絡(luò)資源,比如最常見的WWW,F(xiàn)TP站點。瀏覽器通過解析給定的URL可以在網(wǎng)絡(luò)上查找相應(yīng)的文件或其他資源。獲取URL信息利用URL類獲取網(wǎng)絡(luò)資源利用URLConnection類獲取URL資源3.1統(tǒng)一資源定位器URL(UniformResoureLocator,統(tǒng)一資源定位器)表示因特網(wǎng)上某一資源的地址,它從左到右由下述部分組成:協(xié)議(Protocol)指定使用的傳輸協(xié)議,面向的何種類型的Internet資源。最常用的是HTTP協(xié)議,它表示從Web中取回的是HTML文檔,也是目前WWW中應(yīng)用最廣的協(xié)議。其他協(xié)議還有Ftp和Telnet等。服務(wù)器地址(host)指出WWW頁所在的服務(wù)器域名,是指存放資源的 服務(wù)器的域名系統(tǒng)(DNS)主機(jī)名或IP地址。3.1統(tǒng)一資源定位器端口(Port)整數(shù),可選,省略時使用方案的默認(rèn)端口,各種傳輸協(xié)議都有默認(rèn)的端口號,如http的默認(rèn)端口為80。如果輸入時省略,則使用默認(rèn)端口號。有時候出于安全或其他考慮,可以在服務(wù)器上對端口進(jìn)行重定義,即采用非標(biāo)準(zhǔn)端口號,此時,URL中就不能省略端口號這一項。路徑(Path)指明服務(wù)器上某資源的位置(其格式與Unix系統(tǒng)中的格式一樣,通常由“目錄/子目錄/文件名”這樣結(jié)構(gòu)組成)。與端口一樣,路徑并非總是需要的。3.1統(tǒng)一資源定位器大多數(shù)網(wǎng)頁瀏覽器不要求用戶輸入網(wǎng)頁中[http://]的部分,因為絕大多數(shù)網(wǎng)頁內(nèi)容是超文本傳輸協(xié)議文件。80是超文本傳輸協(xié)議文件的常用端口號,因此一般也不必寫明。一般來說用戶只要鍵入統(tǒng)一資源定位符的一部分就可以了。由于超文本傳輸協(xié)議允許服務(wù)器將瀏覽器重定向到另一個網(wǎng)頁地址,因此許多服務(wù)器允許用戶省略網(wǎng)頁地址中的部分,比如WWW。3.2URL類為了處理方便,Java將URL封裝成URL類,我們可以用一個URL對象記錄下完整的URL信息利用該對象可打開并訪問網(wǎng)絡(luò)上的對象,其訪問方式與訪問本地文件系統(tǒng)幾乎完全相同。URL類為我們提供了不同的構(gòu)造方法:publicURL(Stringspec)
這個構(gòu)造方法用指定的URL來創(chuàng)建一個URL對象,比如:
try{URLrul=newURL("");catch(MalformedURLExceptione){……}3.2URL類 publicURL(Stringprotocol,Stringhost, intport,Stringfile)
該構(gòu)造方法用指定的協(xié)議、主機(jī)名、端口號、文件路徑及文件名創(chuàng)建一個URL對象。如表示URL:http::80/local/search.html,則可以這樣表示:
try{URLurl=newURL("http","",80,"/local/search.html");} catch(MalformedURLExceptione){……}獲取URL信息publicfinalObectgetContent()獲取資源的內(nèi)容publicStringgetFile()獲取資源的文件名。publicStringgetHost()獲取機(jī)器的名稱。publicintgetPort()獲取端口號。publicStringgetProtocol()獲取傳輸協(xié)議。publicStringtoString()將URL轉(zhuǎn)化為字符串。
3.3URL類的應(yīng)用通過URL類提供的openStream(),就可以讀取一個URL對象所指定的資源,讀取WWW信息,該方法定義如下:publicfinalInputStreamopenStream()方法openStream()與指定的URL建立連接并返回一個InputStream對象,將URL位置的資源轉(zhuǎn)成一個數(shù)據(jù)流。通過InputStream對象,就可以 讀取資源中的數(shù)據(jù)import.*;importjava.io.*;publicclassURLTest{publicstaticvoidmain(String[]args){URLurl=null;InputStreamis;try{url=newURL("");is=url.openStream();intc;try{while((c=is.read())!=-1)System.out.print((char)c);}catch(IOExceptione){}finally{is.close();}}catch(MalformedURLExceptione){e.printStackTrace();}catch(IOExceptione){e.printStackTrace();}System.out.println("文件名:"+url.getFile());System.out.println("主機(jī)名:"+url.getHost());System.out.println("端口號:"+url.getPort());System.out.println("協(xié)議名:"+url.getProtocol());}}瀏覽器的設(shè)計用URL類和JEditorPane類編寫一個非常簡單的瀏覽器。要顯示網(wǎng)頁的內(nèi)容需要用到j(luò)avax.swing包中的JEditorPane類。創(chuàng)建該類的對象后,使用該類的setPage()方法,可以顯示URL所指定的網(wǎng)頁內(nèi)容。如果該對象處于不可編輯狀態(tài),它還能響應(yīng)超鏈接事件HyperlinkEvent。互界面只有兩個主要控件:一個JTextField和一個JEditorPane。用戶在JTextField中輸入URL,完成后按下回車鍵,程序?qū)⒗肑EditorPane來顯示網(wǎng)頁內(nèi)容3.4URLConnection類URLConnection,是抽象類,代表與URL指定的數(shù)據(jù)源的動態(tài)連接URLConnection類提供比URL類更強(qiáng)的服務(wù)器交互控制。URLConnection允許用POST或PUT和其他HTTP請求方法將數(shù)據(jù)送回服務(wù)器3.4URLConnection使用URLConnection對象的一般步驟如下:創(chuàng)建一個URL對象。調(diào)用URL對象的openConnection()方法創(chuàng)建這個URL的URLConnection對象。配置URLConnection。讀首部字段。獲取輸入流并讀數(shù)據(jù)。獲取輸出流并寫數(shù)據(jù)。關(guān)閉連接。3.4URLConnection當(dāng)創(chuàng)建URLConnection對象后,我們可以使用URLConnection對象的操作方法:publicintgetContentLength()獲得文件的長度。publicStringgetContentType()獲得文件的類型。publiclonggetDate()獲得文件創(chuàng)建的時間。publiclonggetLastModified()獲得文件最后修改的時間。publicInputStreamgetInputStream()獲得輸入流,以便讀取文件的數(shù)據(jù)。
3.5URL類的應(yīng)用通過URL的方法openStream(),只能從網(wǎng)絡(luò)上讀取資源中的數(shù)據(jù)。通過URLConnection類,可以在應(yīng)用程序和URL資源之間進(jìn)行交互,既可以從URL中讀取數(shù)據(jù),也可以向URL中發(fā)送數(shù)據(jù)。URLConnection類表示了應(yīng)用程序和URL資源之間的通信連接import.*;importjava.io.*;publicclassURLConnectionReader{publicstaticvoidmain(String[]args)throwsException{URLweb=newURL("");URLConnectionwebc=web.openConnection();//getaninstanceofURLConnectionBufferedReaderin=newBufferedReader(newInputStreamReader(webc.getInputStream()));//useofURLConnectionStringinputLine;while((inputLine=in.readLine())!=null)System.out.println(inputLine);in.close();}}URLConnection對URL資源的寫入importjava.io.*;import.*;publicclassReverse{publicstaticvoidmain(String[]args)throwsException{if(args.length!=1){System.err.println("Usage:javaReversestring_to_reverse");System.exit(1);}StringstringToReverse=args[0];URLurl=newURL("");URLConnectionconnection=url.openConnection();URLConnection對URL資源的寫入connection.setDoOutput(true);PrintWriterout=newPrintWriter(connection.getOutputStream());out.println("string="+stringToReverse);out.close();BufferedReaderin=newBufferedReader(new
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 個人運輸承包合同范本
- 信托借款合同集錦
- 長期技術(shù)咨詢服務(wù)合同
- 柴油購買協(xié)議書
- 倉庫貨架二手購買合同范本
- 大連翻譯職業(yè)學(xué)院《微積分(Ⅱ)》2023-2024學(xué)年第二學(xué)期期末試卷
- 湘中幼兒師范高等??茖W(xué)?!稊?shù)值優(yōu)化方法》2023-2024學(xué)年第二學(xué)期期末試卷
- 新能源汽車充電網(wǎng)絡(luò)建設(shè)合同
- 夫妻離婚協(xié)議
- 商鋪返租合同返租商鋪協(xié)議
- 建筑工程工作計劃
- 2025年中國國際投資促進(jìn)中心限責(zé)任公司招聘管理單位筆試遴選500模擬題附帶答案詳解
- 瓶裝液化氣送氣工培訓(xùn)
- 外科護(hù)理課程思政課程標(biāo)準(zhǔn)
- 船舶航行安全
- 道德經(jīng)全文完整版本
- 9.2溶解度(第1課時飽和溶液不飽和溶液)+教學(xué)設(shè)計-2024-2025學(xué)年九年級化學(xué)人教版(2024)下冊
- 2024年審計局公務(wù)員招錄事業(yè)單位招聘考試招錄139人完整版附答案【研優(yōu)卷】
- 濰坊市人民醫(yī)院招聘真題
- 銷售人員薪資提成及獎勵制度
- 2017年江蘇南京中考滿分作文《無情歲月有味詩》5
評論
0/150
提交評論