GWT clien app托管/部署

时间:2012-02-18 22:32:36

标签: apache gwt hosting

我想在我的新项目中使用gwt + php,html,并想知道如何将gwt创建的html + jscript / ajax文件编译/部署到非jvm服务器上,如apache服务器。

1)我想使用gwt作为我的客户端接口,现在当我这样做时,我想对服务器进行异步调用,并让php从数据库提供数据。 2)为此我想知道如何在eclipse中编译gwt项目然后将war目录中的所有文件放在apache服务器上等等?有什么指导吗?

我在网上找到的所有内容都是关于使用jvm支持的web服务器进行gwt的示例和教程,即使你不想在服务器端使用java技术。

谢谢

1 个答案:

答案 0 :(得分:0)

正如您所知,war文件夹是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。这可能在您的网址栏中看起来像这样:

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