配置GWT Dev Mode Jetty Server以执行php脚本

时间:2013-02-13 01:20:17

标签: php gwt jetty gwt-dev-mode

我一直在尝试几个我在网上找到的示例,其中有一个PHP脚本,由使用GWT(通过Eclipse)使用HTTP请求开发的Web应用程序调用。我想,一旦我开始工作,我可以将这些技术应用到我自己的应用程序中。但是,我正在努力让它发挥作用。我成功的最接近的是在https://developers.google.com/web-toolkit/doc/2.1/tutorial/gettingstarted找到的StockWatcher应用程序(我也从这里的JSON-PHP实现开始的示例https://developers.google.com/web-toolkit/doc/2.1/tutorial/JSONphp

StockWatcher示例让您将PHP脚本放在“war”目录中。当我从基本示例开始时,使用以下片段定义url字符串 (注意:q的值在下面的代码片段后添加 XXX = localhost, YYY = 127.0.0.1:8888)

private static final String JSON_URL = GWT.getModuleBaseURL() + "stockPrices?q=";
String url = JSON_URL;

将网址设为

"http://_YYY_/stockwatcher/stockPrices?q=";

我得到404错误代码,即使我将PHP脚本移动到... / war / stockwatcher目录。

如果我对网址进行硬编码:

url = YYY / stockPrices.php?q =“> http:// YYY /stockPrices.php?q=;

找到PHP脚本,但脚本文件只是回显客户端例程。这随后会导致异常,因为客户端例程需要JSON。

现在,如果我将网址更改为

url = http://_XXX_/StockWatcher/stockPrices.php?q=;

刷新项目,将“war”目录的内容复制到C:\ wamp \ www \ StockWatcher,然后输入XXX / stockwatcher / stockwatcher.html“> http:// XXX /stockwatcher/stockwatcher.html在我的浏览器中(我正在使用Chrome),然后一切都像魅力(我在我的电脑上运行Wampserver)。

虽然我可能在生产系统中使用Wampserver,但我还是想在Eclipse中进行调试。 Eclipse和GWT插件附带的内置服务器Jetty不能与PHP一起使用吗?

非常感谢, 比尔

1 个答案:

答案 0 :(得分:2)

如果您不打算在servlet容器中部署应用程序,那么您绝对没有理由尝试在DevMode的servlet容器中运行PHP脚本。

要做的是:

  1. 将您的WAMP服务器指向war文件夹,或者将DevMode和编译器-war指向您的WAMP服务器所服务的某个文件夹
  2. 启动没有嵌入式Jetty的DevMode:传递-noserver并将http:// URL用作WAMP服务器作为-startupUrl(来自Eclipse,使用运行方式→Web应用程序(在外部服务器上运行)
  3. 请参阅https://developers.google.com/web-toolkit/doc/latest/DevGuideCompilingAndDebugging#How_do_I_use_my_own_server_in_development_mode_instead_of_GWT%27s