Как запустить апплет в веб-приложении - PullRequest
0 голосов
/ 03 февраля 2012

У меня точно такая же проблема, как в Запустить апплет в веб-приложении .Это бросает ClassNotFoundException для моего апплета.Я попробовал решение оттуда, но все еще не повезло.

Вот мой код для встраивания апплета в HTML:

<body>
 <applet codebase="/DaaS/applet" archive="/DaaS/applet/firstApplet.jar" code="FirstApplet.class" width="300" height ="300"> </applet>

У меня есть папка DaaS/appletкоторый содержит firstApplet.jar, а мой index.html находится в Daas/Webcontent.

1 Ответ

1 голос
/ 03 февраля 2012

URL-адрес в атрибуте codebasearchive) относится к текущему URL-адресу запроса (как показано в адресной строке браузера), а не к файловой системе диска на стороне сервера. Представьте, что у вас есть страница index.html в некоторой подпапке, например:

http://localhost:8080/somecontext/index.html

URL-адрес, указанный в атрибуте codebasearchive), начинается с косой черты /, что делает его относительным корнем домена вместо текущей папки. Таким образом, веб-браузер будет искать архив и JAR по следующему URL

http://localhost:8080/DaaS/applet/firstApplet.jar

Это может быть неверно само по себе. Необходимо убедиться, что URL-адрес codebasearchive) указывает на правильный URL-адрес относительно текущего URL-адреса запроса. Основываясь на информации, предоставленной до настоящего времени, папка /DaaS в основном находится в том же родительском элементе, что и index.html, поэтому это должно сделать:

<applet codebase="DaaS/applet" archive="firstApplet.jar" ... />

(обратите внимание, что я упростил атрибут archive, он все равно будет разрешен относительно codebase)

Таким образом, браузер будет загружать JAR из:

http://localhost:8080/somecontext/DaaS/applet/firstApplet.jar

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