2010-08-22 1 views
1

У меня проблема с Java-апплетами, и я был бы признателен за вашу помощь. Вот история: Я пробовал создать апплет, который попытался бы подключиться к digg.com и с помощью его API, показать 100 самых популярных историй (также есть некоторые опции для сортировки и фильтрации результатов).
Как бы то ни было, апплет открывается и показывает графический интерфейс только в браузере, но когда я нажимаю кнопку, загружающую новость, она не будет загружать их, НО новости загружаются, когда я запускаю апплет в Eclipse.
Я подумал, что, возможно, проблема связана с созданием runnable jar из eclipse, так как у меня есть некоторые библиотеки, на которые имеются ссылки (Google GSON для обработки JSON от digg.com). Вот настройки, которые я использовал для создания работоспособной баночки (я также пытался «пакет необходимых библиотек в генерируемую JAR):
http://img816.imageshack.us/img816/417/exportjar.pngАпплет работает при запуске от Eclipse, не так хорошо в браузере

Вот картинка апплета (бежал из затмения), когда была загружены новости: http://img841.imageshack.us/img841/9121/applet.png

Я был бы признателен за любые идеи о том, как получить загрузки новостей работать в веб-браузере.

ответ

0

что происходит при попытке открыть соединение с DIGG? есть исключение безопасности? Я бы не» не удивляйтесь, узнав, что JVM внутри браузера реализует same origin policy. Если это так, должно возникнуть какое-то исключение (SecurityException, которое я думаю), возникающее при попытке подключиться к digg.com.

Быстрый поиск «той же самой политики разработки java» нашел следующую статью, которая, как кажется, подтверждает, что это может быть вашей проблемой. http://www.zdnet.com/blog/security/defeating-the-same-origin-policy-part-1/946

+0

Так что, в принципе, это приложение невозможно с помощью апплета из-за той же политики происхождения :(? – ehehhh

1

Я думаю, что тора права. Апплеты должны иметь возможность подключаться только к их собственному серверу. Вы можете попробовать и обмануть браузер, отправив запрос на сервер, попросив его получить данные и вернуть их в апплет.

 Смежные вопросы

  • Нет связанных вопросов^_^