您使用什么来进行客户端与GWT的服务器通信?

时间:2009-07-20 23:43:15

标签: java ajax gwt client-server rpc

GWT RPC是专有的,但看起来很稳固,支持谷歌的模式,我看过的每本书和教程都提到过。它真的是GWT客户端/服务器通信的选择吗?您是否使用它,如果不是为什么以及您选择了什么?我假设我有通用的服务器应用程序代码,可以容纳RPC,EJB,Web服务/ SOAP,REST等。

奖金问题:我需要注意GWT RPC的任何安全问题吗?

2 个答案:

答案 0 :(得分:10)

我们主要使用三种沟通方式:

  1. GWT-RPC - 这是我们的主要和首选机制,以及我们尽可能使用的机制。这是做事的“GWT方式”,并且运作良好。
  2. 使用RequestBuilder的XMLHttpRequest - 这通常用于与非GWT后端的交互,我们主要使用它来引入运行时期间需要的静态Web内容(类似于服务器端包括)。当我们需要与CMS集成时,它尤其有用。我们将RequestBuilder代码包装在一个自定义的“Panel”中(它将内容URI作为其构造函数参数,并使用URI的内容填充自己。)
  3. 使用FormPanel提交表单 - 这还需要与非GWT后端(自定义servlet)进行交互,这是我们目前用于跨站点通信的方式。我们实际上并没有真正传达“跨站点”,但我们有时需要在非SSL页面上通过SSL发送数据,这是迄今为止我们能够做到这一点的唯一方法(有些黑客攻击) )。

答案 1 :(得分:-1)

问题是你在网络浏览器上,所以任何非http协议都不能保证工作(可能无法通过代理)。

您可以做的是将GWT-RPC内容隔离在一个可替换的类中,并尽快将其剥离。

就个人而言,我只是依赖于使用我需要在集合中编码的信息来传输一组对象 - 这样就只有很少的RPC代码,因为你所有的RPC代码都是“Collection commands = getCollection()” ,但还有其他一百万种可能性。

或者只是按照预期使用GWT-RPC,我认为它不会发生在任何地方。

相关问题