Package org.apache.jasper.servlet
Class JasperLoader
java.lang.Object
java.lang.ClassLoader
java.security.SecureClassLoader
java.net.URLClassLoader
org.apache.jasper.servlet.JasperLoader
- All Implemented Interfaces:
- Closeable,- AutoCloseable
Class loader for loading servlet class files (corresponding to JSP files)
 and tag handler class files (corresponding to tag files).
- Author:
- Anil K. Vijendran, Harish Prabandham
- 
Constructor SummaryConstructorsConstructorDescriptionJasperLoader(URL[] urls, ClassLoader parent, String packageName, PermissionCollection permissionCollection) 
- 
Method SummaryModifier and TypeMethodDescriptionfinal PermissionCollectiongetPermissions(CodeSource codeSource) Get the Permissions for a CodeSource.getResourceAsStream(String name) Delegate to parentClass<?>Load the class with the specified name.Class<?>Load the class with the specified name, searching using the following algorithm until it finds and returns the class.Methods inherited from class java.net.URLClassLoaderaddURL, close, definePackage, findClass, findResource, findResources, getURLs, newInstance, newInstanceMethods inherited from class java.security.SecureClassLoaderdefineClass, defineClassMethods inherited from class java.lang.ClassLoaderclearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findLibrary, findLoadedClass, findResource, findSystemClass, getClassLoadingLock, getDefinedPackage, getDefinedPackages, getName, getPackage, getPackages, getParent, getPlatformClassLoader, getResource, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, getUnnamedModule, isRegisteredAsParallelCapable, registerAsParallelCapable, resolveClass, resources, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
- 
Constructor Details- 
JasperLoaderpublic JasperLoader(URL[] urls, ClassLoader parent, String packageName, PermissionCollection permissionCollection) 
 
- 
- 
Method Details- 
loadClassLoad the class with the specified name. This method searches for classes in the same manner asloadClass(String, boolean)withfalseas the second argument.- Overrides:
- loadClassin class- ClassLoader
- Parameters:
- name- Name of the class to be loaded
- Throws:
- ClassNotFoundException- if the class was not found
 
- 
loadClassLoad the class with the specified name, searching using the following algorithm until it finds and returns the class. If the class cannot be found, returnsClassNotFoundException.- Call findLoadedClass(String)to check if the class has already been loaded. If it has, the sameClassobject is returned.
- If the delegateproperty is set totrue, call theloadClass()method of the parent class loader, if any.
- Call findClass()to find this class in our locally defined repositories.
- Call the loadClass()method of our parent class loader, if any.
 resolveflag istrue, this method will then callresolveClass(Class)on the resulting Class object.- Overrides:
- loadClassin class- ClassLoader
- Parameters:
- name- Name of the class to be loaded
- resolve- If- truethen resolve the class
- Throws:
- ClassNotFoundException- if the class was not found
 
- Call 
- 
getResourceAsStreamDelegate to parent- Overrides:
- getResourceAsStreamin class- URLClassLoader
- See Also:
 
- 
getPermissionsGet the Permissions for a CodeSource. Since this ClassLoader is only used for a JSP page in a web application context, we just return our preset PermissionCollection for the web app context.- Overrides:
- getPermissionsin class- URLClassLoader
- Parameters:
- codeSource- Code source where the code was loaded from
- Returns:
- PermissionCollection for CodeSource
 
 
-