JAVA教程第八講Java網(wǎng)絡(luò)編程8.2

字號:

8.2 基于URL的高層次Java網(wǎng)絡(luò)編程
    8.2.1一致資源定位器URL
    URL(Uniform Resource Locator)是一致資源定位器的簡稱,它表示Internet上某一資源的地址。通過URL我們可以訪問Internet上的各種網(wǎng)絡(luò)資源,比如最常見的WWW,F(xiàn)TP站點。瀏覽器通過解析給定的URL可以在網(wǎng)絡(luò)上查找相應(yīng)的文件或其他資源。
    URL是最為直觀的一種網(wǎng)絡(luò)定位方法。使用URL符合人們的語言習(xí)慣,容易記憶,所以應(yīng)用十分廣泛。而且在目前使用最為廣泛的TCP/IP中對于URL中主機名的解析也是協(xié)議的一個標準,即所謂的域名解析服務(wù)。使用URL進行網(wǎng)絡(luò)編程,不需要對協(xié)議本身有太多的了解,功能也比較弱,相對而言是比較簡單的,所以在這里我們先介紹在Java中如何使用URL進行網(wǎng)絡(luò)編程來引導(dǎo)讀者入門。
    8.2.2 URL的組成
    protocol://resourceName
    協(xié)議名(protocol)指明獲取資源所使用的傳輸協(xié)議,如http、ftp、gopher、file等,資源名(resourceName)則應(yīng)該是資源的完整地址,包括主機名、端口號、文件名或文件內(nèi)部的一個引用。例如:
    http://www.sun.com/ 協(xié)議名://主機名
    http://home.netscape.com/home/welcome.html 協(xié)議名://機器名+文件名
    http://www.gamelan.com:80/Gamelan/network.html#BOTTOM 協(xié)議名://機器名+端口號+文件名+內(nèi)部引用
    端口號是和Socket編程相關(guān)的一個概念,初學(xué)者不必在此深究,在后面會有詳細講解。內(nèi)部引用是HTML中的標記,有興趣的讀者可以參考有關(guān)HTML的書籍。
    8.2.3 創(chuàng)建一個URL
    為了表示URL, java.net中實現(xiàn)了類URL。我們可以通過下面的構(gòu)造方法來初始化一個URL對象:
    (1) public URL (String spec);
    通過一個表示URL地址的字符串可以構(gòu)造一個URL對象。
    URL urlBase=new URL("http://www. 263.net/")
    (2) public URL(URL context, String spec);
    通過基URL和相對URL構(gòu)造一個URL對象。
    URL net263=new URL ("http://www.263.net/");
    URL index263=new URL(net263, "index.html")
    (3) public URL(String protocol, String host, String file);
    new URL("http", "www.gamelan.com", "/pages/Gamelan.net. html");
    (4) public URL(String protocol, String host, int port, String file);
    URL gamelan=new URL("http", "www.gamelan.com", 80, "Pages/Gamelan.network.html");
    注意:類URL的構(gòu)造方法都聲明拋棄非運行時例外(MalformedURLException),因此生成URL對象時,我們必須要對這一例外進行處理,通常是用try-catch語句進行捕獲。格式如下:
    try{
    URL myURL= new URL(…)
    }catch (MalformedURLException e){
    …
    //exception handler code here
    …
    }