为现有的GWT项目编写一些额外的类。我需要:
返回的页面是非常简单的HTML,因此解析它应该不是很困难,我只需要先获取数据。
我如何用Java做到这一点?我最擅长哪些套餐?
答案 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。