#java #browser #applet
#java #браузер #апплет
Вопрос:
Я разработал клиент-серверное приложение, позволяющее загружать PDF-файлы с сервера. Я попытался преобразовать свое приложение в апплет. Все работает, когда я запускаю апплет с помощью программы просмотра апплетов Eclipse.
Однако, когда я пытаюсь запустить свое приложение с помощью браузера (любого браузера), браузер отправляет на сервер следующий http-запрос и ожидает ответа :
GET /crossdomain.xml HTTP/1.1
User-Agent: Mozilla/4.0 (Windows 7 6.1) Java/1.6.0_24
Host: 127.0.0.1
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Connection: keep-alive
Cookie: __utmz=96992031.1301339630.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __utma=96992031.1102947305.1301339630.1301339630.1301339630.1
Что я должен делать?
Приветствуется любая помощь
Комментарии:
1. Как вы запускаете свой апплет из своего браузера? Какой HTML-код вы используете?
Ответ №1:
Неподписанным апплетам обычно разрешен доступ только к тому же серверу, с которого они были загружены. Ваш апплет пытался получить доступ к другому серверу. В более ранних версиях Java это было просто запрещено, но с более новыми версиями виртуальная машина запрашивает целевой сервер, должно ли это быть разрешено (просматривая его crossdomain.xml
файл).
Прочитайте спецификацию файла междоменной политики, чтобы узнать, как должен выглядеть такой файл, или настройте свой апплет так, чтобы он загружался с того же сервера, к которому он хочет получить доступ позже.