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 - это место, где вы можете хранить эти файлы.