Апплет работает при запуске из Eclipse, не очень хорошо в браузере

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

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

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

2 ответа

Решение

Что происходит, когда вы пытаетесь открыть соединение с Digg? Есть ли исключение безопасности? Я не удивлюсь, узнав, что JVM внутри браузера реализует ту же политику происхождения. Если это так, то при попытке подключиться к digg.com должно возникать какое-то исключение (я думаю, SecurityException).

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

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

Другие вопросы по тегам