在Java編程中,可以用URLConnection(HttpURLConnection)獲取web資源 
                  
String originalurl = " URL url = new URL(originalurl);
URLConnection urlCon = url.openConnection();
(或HttpURLConnection urlCon = (HttpURLConnection)url.openConnection();)

在使用上面語(yǔ)句進(jìn)行http鏈接,如果沒(méi)有超時(shí)設(shè)置,當(dāng)在網(wǎng)絡(luò)異常時(shí)經(jīng)常會(huì)出現(xiàn)程序僵死的情況。
這種情況在用瀏覽器請(qǐng)求web頁(yè)面時(shí)也可能出現(xiàn),即某一頁(yè)面一直處于下載狀態(tài),無(wú)法獲得數(shù)據(jù)也無(wú)報(bào)錯(cuò)。
通過(guò)使用下面的語(yǔ)句進(jìn)行超時(shí)設(shè)置即可解決這一問(wèn)題。

System.setProperty("sun.net.client.defaultConnectTimeout", "60000");
System.setProperty("sun.net.client.defaultReadTimeout", "60000");

//設(shè)置連接主機(jī)的超時(shí)時(shí)間和從主機(jī)讀取數(shù)據(jù)的超時(shí)時(shí)間均為1分鐘(60000毫秒)。
JDk 1.4及以前的版本可以用上面方法,在以后版本中有更簡(jiǎn)單的方法,如下:

urlCon.setConnectTimeout(60000);
urlCon.setReadTimeout(60000);

文章出處:http://www.diybl.com/course/3_program/java/javajs/20071018/77938.html