Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > Проблема с WEB-INF при запуске jsp:plugin


Автор: JSmetanin 28.10.2011, 09:39
Добрый день, коллеги!
Никто не боролся с глупой проблемой в JSP при запуске <jsp:plugun type="applet"...? По умолчанию класс аплета создается NetBeans в каталоге WEB-INF/classes, но при запуске, например:
<jsp:plugin type="applet"
                    code="com.jsp.applet.ShapesApplet"
                    codebase="WEB-INF/classes"
                    width="400"
                    height="400">
выдается ошибка ClassNotFound: com.jsp.applet.ShapesApplet. 
Правильно, почитал - этот каталог для сервера, клиенту он не виден, поэтому аплет не находится. Но маразм в том, что сам например Tomcat в свойе инструкции написал, что служебные файлы и классы надо помещать именно в WEB-INF, что NetBeans и делает. В Инете советуют перетащить класс аплета в любой другой каталог и переделать codebase на другой адрес. Проверял, так работает, но это не удобно. Каждый раз переделывать при установке новой версии вручную, и не напутать. И созданный war-файл уже так просто не использовать. Сам Tomcat в инструкции рекомендует открыть разрешения в файле \conf\catalina.policy, там действительно написан пример разрешения вида:

// You can assign additional permissions to particular web applications by
// adding additional "grant" entries here, based on the code base for that
// application, /WEB-INF/classes/, or /WEB-INF/lib/ jar files.
//
// Different permissions can be granted to JSP pages, classes loaded from
// the /WEB-INF/classes/ directory, all jar files in the /WEB-INF/lib/
// directory, or even to individual jar files in the /WEB-INF/lib/ directory.

// The permissions granted to the context WEB-INF/classes directory
// grant codeBase "file:${catalina.base}/webapps/examples/WEB-INF/classes/-" {
// };

Здорово! Попробовал тупо написать типа:

grant codeBase "file:${catalina.base}/webapps/myapp/WEB-INF/classes/-" {
};

не помогает. Значит, внутри надо что-то типа permission писать, эти забыли пример привести, как, скорее всего. 
Что только не пробовал!
И 
permission java.security.AllPermission;
и
permission java.io.FilePermission "${catalina.base}${file.separator}....", "read, write";
изобретал разных видов - результат такой же, опять не получилось.
Никто не нашел решения, как это объехать?
 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)