Java-апплет ClassNotFoundException с кодовой базой

Я начинаю работать над апплетом, который заменит существующий. Никогда прежде не разрабатывая апплет, я подумал, что смогу воспользоваться популярным примером HelloWorld. Я могу запустить его несколькими различными способами: в appletviewer, а также в браузере, если я помещу JAR-файл, содержащий класс HelloWorld, в тот же каталог, что и HTML (т. http://localhost:8080/myApp). Я также заставил это работать, когда я помещаю JAR в каталог под названием HelloWorld чуть ниже myApp каталог и указал codebase параметр в <applet> пометить как HelloWorld, Но когда я пытаюсь указать WEB-INF каталоги, такие как classes или же libЯ получаю ClassNotFoundException, Что я делаю неправильно?

1 ответ

Решение

Но когда я пытаюсь указать WEB-INF каталоги, такие как classes или же lib Я получаю ClassNotFoundException, Что я делаю неправильно?

Эти каталоги предназначены только для классов /jar-файлов, которые используются в JSP и сервлетах (то есть для того, что нужно серверу). Ресурсы внутри них доступны посетителям сайта. В этом смысле "посетитель" означает пользовательский агент (например, браузер) или плагин на стороне клиента (например, Flash или JRE).

Вы можете подтвердить это сами, вставив полный URL-адрес Jar-файла в адресную строку веб-браузера и нажав "enter", чтобы просмотреть его. Сервер вернет сообщение с эффектом "запрещено".

Смотрите также информацию WEB-INF. страница, которая расширяется:

WEB-INF - это имя папки, найденной в веб-приложениях Java. Он используется для хранения информации о развертывании, такой как web.xml, необходимые файлы библиотеки и скомпилированные файлы классов. Обычно он недоступен из Интернета. Любые файлы, которые вы хотите поставить на войну, но не хотите публиковать, тогда web-inf - это место, где вы можете хранить эти файлы.

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