Spec-Zone .ru
спецификации, руководства, описания, API
|
Отметьте: Это руководство по развертыванию Java описывает функции, выпущенные до Java SE 6 обновлений 10 выпусков. См. Java Богатый документ Разработки и Развертывания Интернет-приложений для последней информации.
java.lang.ClassNotFoundException
Брошенный ClassLoader
на com.ms.security
ПакетВыполняя апплет в браузере, используя Sun Среда выполнения Java™ (JRE™), a java.lang.ClassNotFoundException
бросается ClassLoader
на com.ms.security
пакет. Тот же самый апплет работает без любой ошибки под Microsoft Virtual Machine (VM).
Microsoft VM обеспечивает собственное com.ms.security
пакет для апплетов и приложений, чтобы получить доступ к политике безопасности во времени выполнения. Поскольку этот пакет не доступен на солнце JRE, a java.lang.ClassNotFoundException
бросается, когда апплет работает в браузере.
Переместите источник апплета от com.ms.security
пакет к java.security
пакет при использовании подобных классов.
Например, следующее использование апплета com.ms.security.PolicyEngine
утверждать сетевое разрешение ввода-вывода прежде, чем соединиться с URL:
public class AssertPermissionApplet extends java.applet.Applet
{
public void init()
{
try
{
// Assert permission on network I/O
com.ms.security.PolicyEngine.assertPermission
(com.ms.security.PermissionID.NETIO);
java.net.URL url = new java.net.URL("http://randomhost/randomfile");
.....
} catch (java.net.MalformedURLException mue) {
}
catch (java.io.IOException ioe) {
}
} // init
}
В технологии Java, java.security.AccessController
обеспечивает подобную функциональность для утверждения разрешения. Следующий исходный код выводит на экран функциональность после миграции:
public class AssertPermissionApplet extends java.applet.Applet
{
public void init()
{
try
{
// Assert permission on network I/O
java.security.AccessController.checkPermission(new java.net.SocketPermission("randomhost:80", "connect,accept"));
java.net.URL url = new java.net.URL("http://randomhost/randomfile");
.....
} catch (java.net.MalformedURLException mue) {
}
catch (java.io.IOException ioe) {
}
} // init
}
См. Java™ SE технологическая документация API для большего количества деталей о безопасности.
См.