2012-02-18 99 views
0

我想为我的新项目使用gwt + php,html,并希望知道如何编译/部署gwt在非jvm服务器上创建的html + jscript/ajax文件,例如Apache服务器。GWT客户端应用托管/部署

1)我想为我的客户端接口使用gwt,现在当我这样做时,我想对服务器进行异步调用并让PHP从数据库提供数据。 2)因为我想知道gwt项目是如何在eclipse中编译的,那么war目录中的所有文件都放在apache服务器上?有没有任何指导呢?

我在网上发现的所有东西都是exaample和教程,即使你不想在服务器端使用java技术,也可以为gwt使用支持jvm的web服务器。

感谢

回答

0

战争的文件夹,因为你已经想通了,是所有的东西一个Java servlet容器将需要做的工作。这包括来自GWT的静态编译文件,添加到文件夹的任何图像或html,以及servlet容器将运行的代码。

如果您正在使用PHP服务器,您可能只需要编译的JS/HTML /图像 - 它们都位于具有GWT模块名称的文件夹中。编译应用程序,并将该目录复制到由apache提供服务的文档文件夹中。要运行该模块,请在您的html页面中加载.nocache.js文件(可能是静态的,也可能是由php文件写出的)。

如果您正在从Eclipse的项目(由Google Plugin for Eclipse创建)开始工作,那么您可以复制war文件夹的内容,减去WEB-INF(它包含Java特定的东西),然后使用它。然后你将有一个工作的HTML文件和编译的JavaScript。

要调用您自己的服务器,请使用RequestBuilder类 - 这包装了浏览器的基本AJAX功能,并提供了一种简单而一致的方式来创建和配置请求,并在有回调完了。

要处理数据,它将取决于您的PHP代码发送回客户端的数据类型 - GWT包含用于读取xml和json的选项,并且由于RequestBuilder会为您提供回送的原始字符串,你也可以做你自己的解析。

最后,请记住,在复制已编译的模块之后,可以使用PHP运行Apache服务器,但使用Java调试GWT代码。如果Apache在端口80上运行,那么只需启动开发模式(您可能希望停止启动服务器的GWT开发模式,在GWT运行配置中取消选中“运行内置服务器”复选框),然后加载页面参数gwt.codesvr = localhost:8080。这可能看起来像这样在你的url吧:

http://localhost/index.php?gwt.codesvr=localhost:8080