【问题标题】:Debugging a GWT app which needs access to an external resource (Same Origin Policy)调试需要访问外部资源的 GWT 应用程序(同源策略)
【发布时间】:2011-08-24 09:10:19
【问题描述】:

我们有一个 GWT 应用程序,它通过异步 javascript 从一个单独的 servlet 中提取一些资源。在生产中,这不会造成任何问题,因为生产者 servlet 和消费者 GWT 应用程序将驻留在同一台服务器上,但是对于开发,我找不到实现这一点的方法,因为我们正与同源策略正面交锋。

作为一个临时解决方案,我在 Tomcat 上运行 servlet,我编译 GWT 应用程序并将其部署到同一个 Tomcat 实例 - 这当然有效,它允许我附加 Eclipse 进行调试。但是,每次修改都需要 40 秒左右的构建时间。

我们希望能够通过带有 OOPHM 的 GWT 托管模式进行调试 - 任何人都可以看到我们这样做的方法吗?

谢谢大家!

【问题讨论】:

  • 对于其他可能需要此功能的人,请 Google have it documented。我认为这些文档已经过时(对于 GWT1.5),但过程基本相同。

标签: gwt same-origin-policy gwt-hosted-mode


【解决方案1】:

您可以使用 gwt 开发模式的 -noserver 选项,它允许您使用任何 servlet 容器运行您的服务器代码。

【讨论】:

    【解决方案2】:

    也许您可以将生产者 servlet 部署到 Jetty。

    http://www.enavigo.com/2008/08/29/deploying-a-web-application-to-jetty/

    我认为 Jetty 主页大部分位于 Eclipse 目录中的某个位置。一个简单的文件搜索可能会有所帮助。

    祝你好运!

    【讨论】:

    • 这听起来可能会奏效。当我开始调试 GWT 应用程序时启动 Jetty 时,它是否每次都使用相同的实例 - 我的意思是它是否在“发布”之前自行清理(删除 servlet)?感谢您的回复 - 我明天上班时会看看这个。
    • 我找不到 Jetty 存储文件的位置,所以我开始研究 Jetty,打算在 Eclipse 之外运行它。但是我遇到了来自 Google 的 this link,这解释了我在寻找什么!
    【解决方案3】:

    如果您只需要一个 servlet,为什么不在 web.xml 中定义它并像往常一样启动开发模式?

    【讨论】:

      猜你喜欢
      • 2012-08-22
      • 2012-12-30
      • 2012-09-25
      • 2019-04-30
      • 2011-08-08
      • 2017-08-03
      • 1970-01-01
      • 2016-05-22
      • 2012-03-13
      相关资源
      最近更新 更多