Как я могу загрузить Java-апплет с динамического URL-адреса на стороне сервера? - PullRequest
0 голосов
/ 14 января 2010

Я хочу загрузить апплет из серверного скрипта, например. программа Perl CGI и т. д. Можно ли это сделать? как?

<applet code=A21 width=256 height=256 archive="http://url/cgi-bin/test.cgi?R=applet">

Заранее спасибо за помощь.

Ответы [ 3 ]

1 голос
/ 14 января 2010

Я давно этого не делал (поэтому модель безопасности могла измениться на меня), но хитрость заключалась в том, чтобы настроить сервер для обработки некоторого перевода.Скажем, у вас есть URL:

 http://example.com/applets/MyCode/1.0

Вы настроили преобразование URL таким образом, чтобы обрабатывать http://example.com/applets с помощью своего CGI-скрипта, который затем получает / MyCode / 1.0 как PATH_INFO.Вы возвращаете все, что вам нужно.

Почему вы хотите это сделать?

1 голос
/ 13 ноября 2010

Я смог достичь этого. Механизм, который я использовал, заключался в том, что файл сценария cgi был упакован в сценарий оболочки. Эта обертка вызывает скрипт cgi и затем вставляет исходный URL со специальным запросом на страницу, которую он использует в качестве апплета. Затем скрипт снова запустится и обнаружит этот специальный запрос. Он сломался бы без вывода, но с возвращаемым значением, которое шеллскрипт перехватит и выведет jar / classfile.

Fetch.sh

run_the_cgi_script.cgi

дело $? в

0) #normal script operation without special requests
   #do nothing more
;; 

1) #a special request that maps to Test3.class
echo "Content-type: application/java-archive"
echo ""
cat ./$myDIR/Test3.class;;

2) #a special request that maps to someclass.class
echo "Content-type: application/java-archive"
echo ""
cat ./$myDIR/someclass.class;;

3) #a special request that maps to somejar.jar
echo "Content-type: application/java-archive"
echo ""
cat ./$myDIR/somejar.jar;;

ESAC

0 голосов
/ 14 января 2010

С Документ :

В целях безопасности апплет Загрузчик классов может читать только из та же кодовая база, из которой апплет был начат. Это означает, что архивы в archiveList должен быть в том же каталог как, или в подкаталоге, кодовая база

поэтому я подозреваю, что это будет проблематично.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...