爲現有的GWT項目編寫一些額外的類。我需要:從Java調用Web服務/網站
- 請求的URL
- 閱讀網頁中返回,以執行操作。
返回的頁面是非常簡單的HTML,因此解析它不應該很困難,我只需要首先獲取數據。
如何在Java中執行此操作?我最看好哪些軟件包?
爲現有的GWT項目編寫一些額外的類。我需要:從Java調用Web服務/網站
返回的頁面是非常簡單的HTML,因此解析它不應該很困難,我只需要首先獲取數據。
如何在Java中執行此操作?我最看好哪些軟件包?
使用本機Java API,您可以使用java.net.URLConnection從URL讀取。這裏有一個簡單的例子:
URL url = new URL("http://www.stackoverflow.com");
URLConnection urlConnection = url.openConnection();
InputStream result = urlConnection.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(result));
String line = null;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
reader.close();
你可以喂InputStream
你的口味的任何DOM/SAX解析器。平均分析程序可以直接使用(作爲參數)InputStream
。 JTidy是更好的HTML解析器之一。
爲了方便起見,這裏是一個速記直接從URL得到InputStream
:
InputStream result = new URL("http://www.stackoverflow.com").openStream();
對於HTML頁面,您應該使用HttpClient。
對於Web服務,您需要一個框架,如CXF。
HttpClient雖然非常好,但被認爲是過時的。 HttpComponents是一種替代方案。
如果你想要做這樣的事情在客戶端上,看看在HTTP types of GWT。但請注意,您需要接受same-origin policy。
你是否需要在客戶端或服務器端發生這種情況? – Bozho 2009-12-01 11:04:50