GWT服务器,在客户端构建get()和post()

时间:2012-03-12 01:31:06

标签: javascript ajax gwt client-server

这真的是一种好奇心,看看是否有人做过类似事情,或者根本不可能做到这一点。

我正在开发一个通过外部通知获取通知的项目。现在,我可以通过向我的服务器发送通知并在我的客户端和服务器之间设置彗星来实现此目的。

BUT

我想知道我是否可以将服务器逻辑编写到我的客户端并监听来自外部源的通知。我看到的一个问题是,外部源代码需要回调URL等,如果你能从客户端做到这一点,我不知道(除非有人能以这种方式使用IP地址)。

正如你所看到的那样,如果这样的事情成为可能,那就是更多的想法和讨论,这有点受到P2P模型的启发,你不会通过中央服务器来调解事物。

提前致谢!

1 个答案:

答案 0 :(得分:2)

GWT将(几乎)Java源代码编译成JavaScript,因此编译后的GWT应用程序无法执行浏览器中运行的传统JavaScript无法执行的任何操作。将Java引入图片的主要优势不是自动访问任何/所有JVM类,而是不仅能够维护Java源代码,这些源代码更易于重构和测试,并且与服务器保持一致,以及将静态定义的代码编译成JavaScript,在编译时执行普通JavaScript无法实现的各种优化。

所以不,虽然你可以让客户端(在浏览器中)和服务器(在JVM中运行)共享一些代码,但是只能通过使用GWT编译来在浏览器中运行Tomcat / Jetty / etc将java代码导入JS。

正如您所指出的,即使这是可能的,也很难让不同的客户来回交谈,而不要求浏览器可以随意查看和连接。 BitTorrent和Skype有不同的方式来促进这一点,目前浏览器不允许这样的任何东西 - 它们被设计为与其他服务器建立连接,而不是允许与它们建立连接。

从Web服务器推送通知到浏览器可能是最好的方法,无论是通过包裹彗星等,还是通过现有的GWT库(如Atmosphere)(请参阅https://github.com/Atmosphere/atmosphere/tree/master/samples/gwt-demo进行演示)。