// (0) Check our previously loaded class cache
clazz = findLoadedClass(name); if (clazz != null) { if (resolve) {
resolveClass(clazz);
} return clazz;
}
// (.5) Permission to access this class when using a SecurityManager if (securityManager != null) { int dot = name.lastIndexOf('.'); if (dot >= 0) { try { // Do not call the security manager since by default, we grant that package. if (!"org.apache.jasper.runtime".equalsIgnoreCase(name.substring(0,dot))){
securityManager.checkPackageAccess(name.substring(0,dot));
}
} catch (SecurityException se) {
String error = "Security Violation, attempt to use " + "Restricted Class: " + name;
se.printStackTrace(); thrownew ClassNotFoundException(error);
}
}
}
if( !name.startsWith(packageName + '.') ) { // Class is not in org.apache.jsp, therefore, have our // parent load it
clazz = getParent().loadClass(name); if( resolve ) {
resolveClass(clazz);
} return clazz;
}
return findClass(name);
}
/** *Delegatetoparent * *@seejava.lang.ClassLoader#getResourceAsStream(String)
*/
@Override public InputStream getResourceAsStream(String name) {
InputStream is = getParent().getResourceAsStream(name); if (is == null) {
URL url = findResource(name); if (url != null) { try {
is = url.openStream();
} catch (IOException e) { // Ignore
}
}
} return is;
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.