我正在用GWT创建一个Web用户界面,它必须“覆盖”现有Web平台的UI(我无法控制原始UI,但我可以同一台服务器)。所以,我提出了这个请求,我从旧UI获得了HTML,而不是我需要解析HTML并选择我需要在我的UI中呈现的信息。做最后一步的最好方法是什么(从HTML解析和提取信息)?GWT - 如何管理从服务器获取的HTML
回答
不要在GWT客户端上解析HTML。
您需要设置代理servlet。代理servlet代表GWT客户端访问传统(旧)HTML应用程序。代理也充当GWT客户端的主要servlet。
PROCES流动
应用程序上下文服务于GWT应用到浏览器。
应用程序上下文准备服务侦听器/遗留。
GWT应用程序运行在浏览器的可用部件上。
GWT应用程序向/ legacy/Patient/476854发送数据请求。
代理/服务的servlet响应请求/传统/人/ 476854
代理/服务的servlet决定从哪里得到的数据。
代理/服务的servlet决定大部分数据来自传统的病人信息的应用程序//你好:8888个//圣诞老人病人= 476854。
代理/服务的servlet打完一个HTTP请求//你好:8888个//圣诞老人患者= 476854。
代理/服务servlet接收从//你好响应:8888 //圣诞老人患者= 476854?。分析并按摩回应。用更多东西来修饰回应。将整个响应编码为JSON(或将信息封装为RPC POJO)并将其作为响应发送给GWT客户端。
GWT客户端请求触发回调,并表现为有派了REST或RPC请求,并得到了一个回应任何GWT客户端。解释数据并将其显示在它准备的小部件上。
什么是代理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. 接管服务器的管理时获取基本信息
- 2. 如何从服务器获取iFrame中的HTML响应?
- 3. 从代理服务器获取响应
- 4. 如何获取数据从服务器的服务器地址
- 5. 如何从服务器获取文件
- 6. 如何从服务器获取域?
- 7. 你将如何处理从服务器获取新数据?
- 8. 如何从地理位置服务器获取图层列表
- 9. 如何获取从服务器获取数据的url/xmlhttprequest?
- 10. GWT:从服务器端获取语言环境信息?
- 11. GWT - 获取会话管理权
- 12. 从服务器获取
- 13. 从服务器获取
- 14. 获得服务管理器注册的服务
- 15. 从Mac终端管理SQL服务器
- 16. 如何在运行时获取weblogic管理的服务器监听端口?
- 17. 获取网页的HTML网络代理服务器
- 18. 如何获取英文IIS7管理器?
- 19. 管理员无法管理sql服务器报告服务
- 20. ZF3服务管理器
- 21. 服务器管理问题
- 22. 服务器内存管理
- 23. 管理服务器设计
- 24. 如何获取运行html页面的域/服务器IP?
- 25. 如何从相应的铃声管理器获取铃声URI
- 26. 从用户管理器获取ClaimsPrincipal
- 27. 如何从(GlassFish)服务器检索JMS管理对象
- 28. 如何从特快服务器的远程服务器获取JSON?
- 29. 如何获取Spring事务管理器实例?
- 30. 如果ESXi服务器由vCenter服务器管理,是否有任何方法通过SDK从ESXi服务器获取vCenter的IP地址?
关于如何实现这个代理servlet的任何建议?其实我在Apache服务器上工作:旧的应用程序基于Wordpress。创建一个用PHP编写的服务而不是Java servlet是合理的,或者更方便创建Java servlet? – tonidi 2012-08-02 08:31:02