Встраивание подписанного апплета - PullRequest
0 голосов
/ 11 августа 2011

У меня есть Java-апплет, который установит TCP-соединение с локальным сервером и получит некоторые данные.Я сам подписал апплеты, и когда я запускаю апплет в NetBeans, он работает нормально, но когда я пытаюсь встроить апплет в веб-страницу, я получаю эту ошибку:

java.lang.SecurityException: trusted loader attempted to load sandboxed resource from file:/C:/Users/...
    at com.sun.deploy.security.CPCallbackHandler$ParentCallback.check(Unknown Source)
    at com.sun.deploy.security.CPCallbackHandler$ParentCallback.access$1500(Unknown Source)
    at com.sun.deploy.security.CPCallbackHandler$ChildElement.checkResource(Unknown Source)
...

HTML

<APPLET codebase="classes" archive="lib1.jar, lib2.jar" code="test/Test.class" width=350 height=200></APPLET>

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

1 Ответ

1 голос
/ 12 августа 2011

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

доверенный загрузчик попытался загрузить изолированную среду из файла: / C: / Users /...

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

archive = "lib1.jar, lib2.jar

так

A) возможно, один (или оба) банки НЕ ПОДПИСАНЫ, но содержат «код с ограниченной защитой», поэтому он все еще контролируется апплетами sandbox Я думаю, вы должны подписать все банки, которые могут содержать IO-вызов

OR

B) Ваше местоположение фляги как file: / C: / Users /... довольно необычно для апплета из-за протокола file . Как правило, все jar-файлы должны быть загружены прямо с собственного хоста апплета , но не из локальной файловой системы ... Поэтому я предлагаю вам развернуть его и повторить попытку. ... Посмотрим, что изменится

OR

C) Просто внимательно следите за синтаксисом вызовов всех объектов апплета, особенно в JS или HTML

P.S. В любом случае, чтобы сказать больше, было бы лучше, по крайней мере, увидеть весь стекTrace с его "причиной по"

Удачи

...