为现有的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