【问题标题】:GWT Web Application project, with Hibernate?GWT Web 应用程序项目,带有 Hibernate?
【发布时间】:2011-08-22 13:24:36
【问题描述】:

我在 Eclipse 中创建了一个 Google Web 应用程序项目,现在遇到了问题,因为我需要从服务器端的角度使用 Hibernate 和 MySQL。我刚刚被告知 Google Web 应用程序项目无法运行与 MySQL 的 Hibernate 连接,因为它们是已部署的项目。

对我来说,以某种方式迁移这个项目的最佳方式是什么,让它在 Glassfish 上运行,并且只将 GWT 用于客户端技术,然后可以使用 Hibernate 和 MySQL,而不是实际部署?

谢谢,

大卫

【问题讨论】:

  • Google App Engine 项目不能使用 Hibernate 和 MySQL。
  • 是的,但我只是想知道如何迁移我的项目。
  • 只是想指出您的措辞不正确:“GWT 项目无法运行与 MySQL 的 Hibernate 连接,因为它们是已部署的项目”。这是因为它是一个 GAE 项目,所以它不起作用。不是因为它是一个 GWT 项目。
  • 啊,看起来是“Google Web 应用程序”而不是 GAE,它们实际上是一样的吗?
  • 是的。 Google Web 应用程序旨在部署在 Google App Engine 上。

标签: java hibernate gwt


【解决方案1】:

不能直接从客户端访问数据库。

GWT 将您的客户端 java 代码翻译成在浏览器中运行的 Javascript;无法直接访问 JDBC。

您必须使用服务器端来处理您的数据库持久性。您的客户端可以通过GWT-RPCJSONXML 或任何其他协议进行通信 - 但数据库连接部分将始终驻留在服务器上。

请注意,服务器部分不需要使用 Java - 它可以use PHP 或任何其他技术,只要它理解从您的应用生成的 javascript。

【讨论】:

  • 嗨,我稍微编辑了我的代码,我没有从我的 GWT 代码中调用任何 JDBC,我是从 ASync 中的服务器调用它,但我想使用本地服务器( Tomcat?)而不是部署的,所以我可以使用我自己的持久性处理而不是谷歌的。
  • 好像你在谈论appengine应用程序,但在你的问题中没有一个词表明这一点
  • 我认为您正面临跨脚本问题,因为您希望服务器在与客户端应用程序不同的host:port 上运行。是这样吗?如果 GWT 服务器在您的网络中,您可以通过一个简单的代理来解决这个问题,但我担心 appengine 服务器没有简单的方法可以做到这一点:(
  • 对不起,我的意思是 Same Origin Policy 不是跨脚本
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-16
  • 2012-11-12
  • 2012-09-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多