1

我有一个与 Java 小程序相关的问题,非常感谢您的帮助。故事是这样的:我尝试创建一个小程序,它会尝试连接到 digg.com,并通过使用它的 API,显示 100 个最受欢迎的故事(还包括一些对结果进行排序和过滤的选项)。
无论如何,小程序在浏览器中打开并显示 GUI 就好了,但是当我按下加载新闻的按钮时,它不会加载它们,但是当我在 Eclipse 中运行小程序时,新闻已加载。
我想,这可能与从 eclipse 创建可运行 jar 有关,因为我有一些引用的库(用于处理来自 digg.com 的 JSON 的 Google GSON)。这是我用于创建可运行 jar 的设置(我还尝试了“将所需的库打包到生成的 JAR 中):
http://img816.imageshack.us/img816/417/exportjar.png

这是加载新闻时小程序的图片(从 eclipse 运行):http: //img841.imageshack.us/img841/9121/applet.png

我将不胜感激有关如何加载新闻以在 Web 浏览器中工作的任何想法。

4

2 回答 2

1

我认为托拉是对的。小程序应该只能连接到它们自己的服务器。您可以尝试欺骗浏览器,将请求发送回您的服务器,要求它检索数据并将其返回给小程序。

于 2010-08-22T18:40:29.977 回答
0

当您尝试打开与 digg 的连接时会发生什么?有安全例外吗?得知浏览器内的 JVM 正在实施同源策略,我不会感到惊讶。如果是这种情况,当您尝试连接到 digg.com 时,应该会引发某种异常(我认为是 SecurityException)。

快速搜索“same origin policy java”发现以下文章似乎都证实这可能是您的问题。 http://www.zdnet.com/blog/security/defeating-the-same-origin-policy-part-1/946

于 2010-08-22T17:50:14.050 回答