GWT - 如何管理从服务器获取的HTML

时间:2012-08-01 12:57:59

标签: gwt

我正在使用GWT创建一个Web用户界面,它必须“覆盖”现有Web平台的UI(我无法控制原始UI,但我可以在同一台服务器上工作)。所以,我提出请求,我从旧的UI获取HTML,而不是我需要解析HTML并选择我需要在我的UI中呈现的信息。最后一步(从HTML解析和提取信息)的最佳方法是什么?

2 个答案:

答案 0 :(得分:1)

不要在GWT客户端上解析HTML。

您需要设置代理Servlet。代理servlet代表GWT客户端访问旧(旧)HTML应用程序。 Proxy也充当GWT客户端的主要servlet。

处理流程

  1. 应用程序上下文为浏览器提供GWT应用程序。

  2. 应用程序上下文准备服务侦听器/遗留。

  3. 在浏览器上运行的GWT应用程序准备小部件。

  4. GWT应用程序向/ legacy / Patient / 476854发送数据请求。

  5. 代理/服务servlet响应请求/遗产/患者/ 476854

  6. 代理/服务servlet决定从何处获取数据。

  7. 代理/服务servlet决定大多数数据来自传统的患者信息应用程序// hello:8888 // SantaClaus?patient = 476854。

  8. 代理/服务servlet会将http请求触发到// hello:8888 // SantaClaus?patient = 476854。

  9. 代理/服务servlet从// @ hello:8888 // SantaClaus?patient = 476854收到响应。 Parsesand和按摩反应。用更多的东西装饰响应。将整个响应编码为JSON(或将信息封装为RPC POJO)并将其作为响应发送给GWT客户端。

  10. 触发GWT客户端请求 - 回调,其行为与发出REST或RPC请求并返回响应的任何GWT客户端相同。解释数据并将其显示在它准备好的小部件上。

  11. 什么是代理servlet?

    我描述的代理servlet不是通常的http代理。相反,它是提供REST或RPC服务的普通servlet。我将其称为代理,因为它是允许http客户端访问未启用http的旧版/中间件应用程序的代理。

    servlet接受http请求并将其转换为遗留应用程序的调用。通常,它可能涉及编写终端仿真程序,因为许多遗留应用程序是在旧的VMS,IBM VM甚至Sperry / Unisys中编写的,其中应用程序只接受终端输入。有终端仿真库。

    幸运的是,您的服务不需要执行终端emu,只需将一个http请求转换为另一个。

    我建议使用JAX-RS(RestEasy或Jersey)作为REST侦听器servlet,它侦听与您声明的服务接口相对应的任何http请求。监听器将自发地触发接口的实现。接口impl将包含触发/调用/拨入遗留应用程序并将其数据转换为响应的例程。

    对于带有GWT的JAX-RS,请阅读http://h2g2java.blessedgeek.com/2011/12/gwt-with-jax-rs-aka-rpcrest-part-1.html

答案 1 :(得分:0)

您可以使用GWT进入DOM级别。

https://developers.google.com/web-toolkit/doc/latest/DevGuideUiDom

不确定我是否真的理解你的问题。