gpt4 book ai didi

java - 使用 Google Web Toolkit 创建与 MySQL 交互的应用程序

转载 作者:行者123 更新时间:2023-11-29 06:18:27 26 4
gpt4 key购买 nike

我使用 Google Web Toolkit (GWT) 用 Ja​​va 创建了一个 Web 应用程序。在客户端,GWT 生成一个输入框并(使用 GWT 搜索 API)进行 Web 搜索。我想将网络搜索中的一些信息推送到 MySQL 数据库中,以便可以使用机器学习应用程序 (Weka) 进行分析。我正在运行一个与服务器端代码交互的 RPC。在该服务器端代码中,我尝试建立与 MySQL 数据库的连接。

我目前正在本地运行该项目,因此,据我所知,谷歌应用程序引擎正在托管它。当我运行应用程序时,我收到以下消息,这一事实支持了这一点:

Initializing AppEngine server
Logging to JettyLogger(null) via com.google.apphosting.utils.jetty.JettyLogger
The server is running at http://localhost:8888/

但是,虽然我可以使用应用程序的搜索部分,但在尝试连接 MySql 数据库时它会引发异常。

com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server.  
Caused by: java.security.AccessControlException: access denied (java.net.SocketPermission mysql.database.location resolve)

我已经测试了常规(非基于 Web)Java 程序的数据库连接,从 Web 应用程序外部连接到它没有问题。我相信我收到此错误是因为谷歌应用程序引擎不允许连接到外部数据库。

简而言之,我的问题是:
1. 虽然我使用的是 Google App Engine,但是否可以使用服务器端代码连接到 MySQL? (我假设不是,但这将是理想的)。
2. 是否可以切换到其他服务器(如Tomcat)?如果是这样,有人可以向我指出有关如何执行此操作的引用资料吗?我发现了一个关于如何使用 tomcat 的旧 stackoverflow 问题(http://stackoverflow.com/questions/2208181/gwt-app-deploying-on-tomcat-or-any-other-servlet-container),但它不再指向包含有关使用其他服务器的信息的地方。

感谢您的帮助,如果您希望我提供更多信息,请随时提出后续问题。

最佳答案

  1. GAE 禁止对其他服务器的任何访问。您可以使用 URLFetch 服务,但它可能不是您想要的,并且您不能将其用于 MySQL 连接。顺便说一句,您可以创建自己的基于 http 的协议(protocol),用于与其他模块交互,但这可能太复杂。

  2. GWT 编译为 javascript,并且仅在客户端工作,因此无论您在服务器端使用什么内容,它都可以用于任何编程语言和任何网络服务器(请记住您可以使用 JSON 进行通信,而不是默认协议(protocol))。它只是使用 java servlet 构建 RPC 的默认实现,您可以在任何 java web 容器(包括 tomcat)中使用它。 GWT 比 GAE 早几年开发,是完全独立的项目,服务器端不需要使用 GAE。

关于java - 使用 Google Web Toolkit 创建与 MySQL 交互的应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5138644/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com