IT培訓網 - IT職場人學IT技術上IT培訓網
Java編程之網絡統一資源定位符URL
時間:2016-09-06 15:59:29??來源:Java培訓網??作者:IT培訓網??已有:名學員訪問該課程
如果我給你說統一資源定位符,你肯定不知道是什么,如果說url那就比較了解了,因為大家都喜歡記著簡寫,對于全稱卻很少有了解,今天達內IT培訓網小編就來給大家詳細一下什么是統一資源定位符(url)吧。
什么是統一資源定位符?
統一資源定位符(Uniform Resource Locator,URL)是對可以從互聯網上得到的資源的位置和訪問方法的一種簡潔的表示,是互聯網上標準資源的地址。互聯網上的每個文件都有一個唯一的URL,它包含的信息指出文件的位置以及瀏覽器應該怎么處理它。
對Java編程之網絡統一資源定位符URL的認識
統一資源定位符URL(Uniform Resource Locator)是www客戶機訪問Internet時用來標識資源的名字和地址。超文本鏈路由統一資源定位符URL維持。URL的格式是:
<METHOD>://<HOSTNAME:PORT>/<PATH>/<FILE>
其中:Method是傳輸協議:HOSTNAME是文檔和服務器所在的Internet主機名(域名系統中DNS中的點地址);PORT是服務端口號(可省略);PATH是路徑名,FILE是文件名。例如:
http://www.straightshotcamera.com/(http是協議名,www.straightshotcamera.com是主機名)
http://www.straightshotcamera.com/view/6079.html (www.straightshotcamera.com是主機名,view/6079.html是文件路徑和文件名)
URL類
Java.net包有URL類,一個URL對象可以表示一個網絡資源。程序利用URL對象能實現Internet尋址、網絡資源的定位連接、在客戶機與服務器之間直接訪問等。URL類的構造方法是
URL(String s)
其中,s指出網絡中的一個資源。
利用URL對象訪問網上資源的方法是:先創建URL對象,如以下代碼所示:
URL myURL;
try {
myURL = new URL(“http://www.straightshotcamera.com:80/”);
}catch(MalformedURLException e){
System.out.println(“有錯的URL:”+url+e);
}
因創建URL對象可能會產生MalformedURLException異常。所以,創建URL對象的代碼應出現在try…catch語句塊中,以便能捕捉網址錯誤異常。
URLConnection類
要接收和發關信息還要用URLConnection類,程序獲得一個URLConnection對象,相當于完成對指定URL的一個HTTP連接。以下是示意獲得URLConnection對象的代碼。
URL mu = new URL(“http://www.sun.com/”);//先要創建一個URL對象
URLConnection muC = mu.openConnection();//獲得URLConnection對象
上述代碼說明,先要創建一個URL對象,然后利用URL對象的openConnection()方法,從系統獲得一個URLConnection對象。程序有了URLConnection對象后,就可使用URLConnection類提供的以下方法獲得流對象和實現網絡連接:
getOutputStream():獲得向遠程主機發送信息的OutputStream流對象;
getInputStream():獲得從遠程主機獲取信息的InputStream流對象。有了網絡連接的輸入和輸出流,程序就可實現遠程通信;
connect():設置網絡連接。
信息的發送和接收
發送和接收信息要獲得流對象,并由流對象創建輸入或輸出數據流對象。然后,就可以用流的方法訪問網上資源。
參見【例 13-2】程序中的方法readByURL(),該方法說明已知網址讀取網頁內容的過程。方法利用網址參數創建一個URL對象url,接著利用對象url的openConnect()方法,獲得URLConnection對象tc,用對象tc的connect()方法建立網絡連接,接著獲得網絡連接的InputStreamReader類對象in,將對象in,轉化成為BufferedRead對象dis,改為緩沖式輸入。最后,用對象dis的readLine()方法完成讀取網絡文本數據。
如同本地數據流一樣,網上資源使用結束后,數據流也應及時關閉。例如,代碼
dis.close();
關閉先前代碼建立的流dis。
【例 13-2】以數據流方法讀取網頁內容的應用程序。程序運行時,網址從文本框中讀取。
import java.net.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.javax.swing.*;
public class Example10_2{
public static void main(String args[]){
new downNetFile();
}
}
class DownNetFile extends JFrame implements ActionListener{
JTextFileld infield = new JTextField(30);
JTextarea showArea = new JTextArea();
JButton b = new JButton(“download”);JPanel p = new JPanel();
DownNetFile(){
super(“read network text file application”);
Container con = this.getContentPane();
p.add(infield);p.add(b);
JScrollPane jsp = new JScrollPane(showArea);
b.addActionListener(this);
con.add(p,”North”);con.add(jsp,”Center”);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(500,400);setVisible(true);
}
public void actionPerformed(ActionEvent e){
readByURL(infield.getText());
}
public void readByURL(String urlName){
try{
URL url = new URL(urlName);//由網址創建URL對象
URLConnection tc = url.openConnectin();//獲得URLConnection對象
tc.connect();//設置網絡連接
InptStreamReader in = new InputStreamReader(tc.getInputStream());
BufferedReader dis = new BufferedReader(in);//采用緩沖式輸入
String inline;
while((inline = dis.readLine())!=null){
showArea.append(inline +”\n”);
}
dis.close();//網上資源使用結束后,數據流及時關閉
}catch(MalformedURLException e){
e.printStackTrace();
}
catch(IOException e){e.printStacktrace();}
/*訪問網上資源可能產生MalformedURLException和IOException異常*/
}
}
好了,關于網絡統一資源定位符方面的知識點就介紹到這里了,希望大家學會后善加利用,做到舉一反三,如此你的Java功底也就練成了。