我在互联网上看到一些文章,这是不可能的。从GWT应用程序传送位于其他服务器上的自己的SQL数据库。 Jetty不允许它。
我找到了一种如何表演的方法,但它并不是很舒适。我在GWT中有客户端和服务器部分。服务器必须与localhost上的MySQL数据库通信。所以我编写了一个ant脚本来构建一个可以在Apache Tomcat服务器上启动的战争。它在那里工作得很好,但我无法有效地调试代码。
您是否有一些建议如何执行此任务?我只想在GWT中编写客户端,并找到一些waz如何在GWT外部编写自己的服务器。我找到了用于GWT的Apache Thrift,但是这个编辑过的thrift库似乎无法正常工作。
非常感谢你的回答:)
答案 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代码。