从Java调用Web服务/网站

时间:2009-12-01 11:00:25

标签: java web-services gwt

为现有的GWT项目编写一些额外的类。我需要:

  • 申请网址
  • 读入返回的网页,以便执行操作。

返回的页面是非常简单的HTML,因此解析它应该不是很困难,我只需要先获取数据。

我如何用Java做到这一点?我最擅长哪些套餐?

4 个答案:

答案 0 :(得分:7)

使用本机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解析器。平均解析器可以直接取{in} InputStream作为参数。 JTidy是更好的HTML解析器之一。

为方便起见,这里是直接从网址获取InputStream的简写:

InputStream result = new URL("http://www.stackoverflow.com").openStream();

答案 1 :(得分:1)

对于HTML页面,您应该使用HttpClient

对于Web服务,您需要一个类似CXF的框架。

答案 2 :(得分:0)

HttpClient虽然非常好,但被认为是过时的。 HttpComponents是另一种选择。

答案 3 :(得分:0)

如果您想在客户端上执行此类操作,请查看HTTP types of GWT。但请注意,您必须遵守same-origin policy

相关问题