你如何从GWT访问SQL数据库?

时间:2012-06-22 10:18:41

标签: java sql gwt client-server jetty

我在互联网上看到一些文章,这是不可能的。从GWT应用程序传送位于其他服务器上的自己的SQL数据库。 Jetty不允许它。

我找到了一种如何表演的方法,但它并不是很舒适。我在GWT中有客户端和服务器部分。服务器必须与localhost上的MySQL数据库通信。所以我编写了一个ant脚本来构建一个可以在Apache Tomcat服务器上启动的战争。它在那里工作得很好,但我无法有效地调试代码。

您是否有一些建议如何执行此任务?我只想在GWT中编写客户端,并找到一些waz如何在GWT外部编写自己的服务器。我找到了用于GWT的Apache Thrift,但是这个编辑过的thrift库似乎无法正常工作。

非常感谢你的回答:)

3 个答案:

答案 0 :(得分:2)

可以从GWT应用程序与数据库通信。客户端必须通过GWT-RPC调用服务器的方法,GWT-RPC可以与任何数据库通信。

也许Jetty不支持它(没有亲自测试过)但您也可以使用Apache开发Web应用程序。在那里,您可以使用与任何Web应用程序相同的方式访问数据库:

您需要mysql-connector-java-5.1.20-bin.jar文件(可从以下网址下载:http://dev.mysql.com/downloads/connector/j/),然后重新启动添加到$CATALINA_HOME/common/lib目录的服务器。

或者已添加到Web应用程序的WEB-INF/lib文件夹中。

您可以在线找到有关如何使用Tomcat而不是Jetty开发应用程序的教程。例如:https://wiki.auckland.ac.nz/display/BeSTGRID/Deploying+GWT+to+Tomcat+in+Eclipse

答案 1 :(得分:0)

Reshi,停下来思考应用程序的真正运作方式。没有人提供带有javascript的网页来读/写数据库,这将是疯狂和不安全的。在这种情况下,服务器始终处于所有通信的中间位置。您需要创建在服务器内运行的服务,其中一个服务将是数据库层。

Javascript无法创建网络连接和读/写二进制数据,因此尝试让gwt编译器编译任何jdbc drvier等等都是疯了。

答案 2 :(得分:0)

Jetty不会阻止我们连接数据库。您所要做的就是遵循MVP模型的方式。虽然MVP可以更好地应对所有障碍,但是在最小的时候,你必须尝试在客户端软件包上没有SQL代码。