【问题标题】:GWT's hosted mode not workingGWT 的托管模式不起作用
【发布时间】:2009-11-13 11:12:07
【问题描述】:

我一直在试图弄清楚为什么我的 GWT 演示应用程序无法在托管模式下运行,所以我返回并再次下载了 Google Web Toolkit,解压缩它并简单地转到示例目录并运行“蚂蚁托管”。托管浏览器启动并仅显示静态 html 内容,但不显示动态生成的 js 小部件等。但是,当我单击“编译/浏览”时,示例在 Firefox 中正确启动。我的设置/环境可能有什么问题?

【问题讨论】:

  • 托管模式控制台/记录器说什么?有什么错误信息吗?
  • 没有显示错误信息...
  • 你使用的是什么操作系统?

标签: java javascript gwt


【解决方案1】:

我按照您提供的链接下载了 gwt。在 samples/Hello、samples/DynaTable 和 samples/Showcase 下提取并运行“ant hosting”,它们都运行成功。我也在运行 Windows XP 和 java 1.6.0_11。

我认为运行“ant hosts”会启动一个嵌入式 Jetty 服务器,该服务器在端口 8888 上进行侦听。托管模式浏览器向该嵌入式服务器发出请求,例如:http://localhost:8888/Showcase.html

此外,当您单击“编译/浏览”时,它会打开您的默认浏览器(在我的例子中是 firefox)并尝试向托管模式浏览器使用的同一嵌入式码头服务器发出请求。

所以,如果它在您的浏览器中运行,那么浏览器正在连接到嵌入式码头服务器。很奇怪,托管模式无法正常工作,但您可以在浏览器中查看。

我相信这里的区别在于托管模式运行纯 java(某种 javascript 模拟器,我不确定我是否理解 100%),而浏览器运行 javascript。

因此,我建议对运行“ant hosts”时启动的 jvm 进行故障排除。当您在托管模式浏览器中加载它时,可能 jvm 内存不足或其他什么?也许您可以将一些 jvm 参数传递给 ant 脚本来解决问题?

对不起,我不能更具体,这很奇怪!

【讨论】:

    【解决方案2】:

    @Chris:我怀疑这个问题可能与您之前的@​​987654321@ 有关,如果它在您使用的同一台计算机上。解决方案可能是清除您的 IE 缓存,因为它倾向于缓存“脚本”标签内容,并且当您在导入其他内容时早些时候它搞砸了,它可能仍然存在于 IE 中。在link 找到了可能的答案。

    【讨论】:

      【解决方案3】:

      我创建了一个新的工作区,重新导入了所有内容并改用 GWT 1.6.x(因为我在这个项目中需要的 Ext GWT 2.X 需要 GWT 1.6.x)。这成功了……现在一切正常。

      【讨论】:

        【解决方案4】:

        我能想到的主要区别是,在编译/浏览器中,您像打开常规文件一样打开 html 主机页面,而在托管模式下(即使在客户端示例中),它必须由 http 服务器提供通过本地主机:8080。检查服务器是否正在启动。

        【讨论】:

        • 在托管模式下运行时,它会启动一个嵌入式码头服务器。不需要在 localhost:8080 上运行外部 http 服务器。但是,您可以将 gwt 应用程序部署到 war,然后将 war 部署到外部运行的服务器(tomcat 或 jetty 或其他)。
        猜你喜欢
        • 2011-11-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-26
        • 1970-01-01
        • 2011-12-30
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多