2012-02-03 20 views
0

我目前正在使用Java和PrimeFaces在Google App Engine中开发一个Web应用程序。我必须访问远程MySQL服务器,我的客户网站的数据库。本网站包含我的应用程序需要的所有数据。如何管理Apache Web服务器和Google App Engine之间的HTTP通信?

我搜索了网页,发现没有直接的方法可以通过Google应用引擎访问任何数据库。 因此,我决定在Web服务器上创建一个PHP脚本,它将代表MySQL服务器接受SQL查询作为HTTP请求,并将返回的数据作为HTTP响应发送。 (当然加密!) 如何通过HTTP从PHP Web服务器向Google App Engine发送大型结果集?

我在这里面临的问题是,尽管我可以设法通过PHP获取HTTP请求。我如何将它们发送回去,只是冲洗不会这样做,以及如何将它们重定向回Google App Engine的我的应用程序。

谢谢!

+1

为什么“只是冲水不行”?向我们提供有关您的问题的更多细节,以及具体是什么“不会做”。 – 2012-02-03 10:41:16

回答

1

您可以使用UrlFetch api将来自appengine的请求发送到您的MySQL服务器。你会得到一个回应,并可以直接在appengine中解析它。

您可以在appengine应用程序中设置您的MySQL服务器可以通过请求触发的servlet。你的MySQL服务器可以发送一个请求(你的php GET函数)给yourapp.appspot.com/servletpath,它将启动你的appengine servlet。 Appengine可以从那里返回响应。

+0

哦!感谢您的回复..是的,我可以做我所做的PHP脚本,也可以在Google App Engine中回写。再次谢谢指出我和UrlFetch Api – LalakaJ 2012-02-03 23:53:20

0

如果数据集太大而无法一次传输,那么只需通过为查询添加一个范围限制来将它分割为多个请求。还可以使用任务队列将此作业分成多个任务。在appengine上通常的做法是将所有需要太长/太大的事情分解成几个任务。分而治之。

+0

你能解释一下这一点吗!你如何将你的响应分成几个PHP响应。有没有任何方法或功能来做到这一点?我认为这是另一个需要发布的问题,值得吗? – LalakaJ 2012-02-03 23:56:12

+0

如何为查询添加范围限制?你的意思是SQL LIMIT函数吗? – LalakaJ 2012-02-04 00:34:45

+0

是的我的意思是你应该使用LIMIT,并且不要求太多的数据。 – Ski 2012-02-04 09:10:01

相关问题