org.apache.jasper.servlet
Class JasperLoader
java.lang.Object
|
+--java.lang.ClassLoader
|
+--java.security.SecureClassLoader
|
+--java.net.URLClassLoader
|
+--org.apache.jasper.servlet.JasperLoader
- public class JasperLoader
- extends java.net.URLClassLoader
This is a class loader that loads JSP files as though they were
Java classes. It calls the compiler to compile the JSP file into a
servlet and then loads the generated class.
- Author:
- Anil K. Vijendran, Harish Prabandham
Constructor Summary |
JasperLoader(java.net.URL[] urls,
java.lang.String className,
java.lang.ClassLoader parent,
java.security.PermissionCollection permissionCollection,
java.security.CodeSource codeSource)
|
Method Summary |
protected java.security.PermissionCollection |
getPermissions(java.security.CodeSource codeSource)
Get the Permissions for a CodeSource. |
java.lang.Class |
loadClass(java.lang.String name)
Load the class with the specified name. |
java.lang.Class |
loadClass(java.lang.String name,
boolean resolve)
Load the class with the specified name, searching using the following
algorithm until it finds and returns the class. |
protected byte[] |
loadClassDataFromFile(java.lang.String fileName)
Load JSP class data from file. |
Methods inherited from class java.net.URLClassLoader |
addURL, definePackage, findClass, findResource, findResources, getURLs, newInstance, newInstance |
Methods inherited from class java.security.SecureClassLoader |
defineClass |
Methods inherited from class java.lang.ClassLoader |
defineClass, defineClass, defineClass, definePackage, findLibrary, findLoadedClass, findSystemClass, getPackage, getPackages, getParent, getResource, getResourceAsStream, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, resolveClass, setSigners |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
JasperLoader
public JasperLoader(java.net.URL[] urls,
java.lang.String className,
java.lang.ClassLoader parent,
java.security.PermissionCollection permissionCollection,
java.security.CodeSource codeSource)
loadClass
public java.lang.Class loadClass(java.lang.String name)
throws java.lang.ClassNotFoundException
- Load the class with the specified name. This method searches for
classes in the same manner as
loadClass(String, boolean)
with false
as the second argument.
- Overrides:
loadClass
in class java.lang.ClassLoader
- Parameters:
name
- Name of the class to be loaded- Throws:
java.lang.ClassNotFoundException
- if the class was not found
loadClass
public java.lang.Class loadClass(java.lang.String name,
boolean resolve)
throws java.lang.ClassNotFoundException
- Load the class with the specified name, searching using the following
algorithm until it finds and returns the class. If the class cannot
be found, returns
ClassNotFoundException
.
- Call
findLoadedClass(String)
to check if the
class has already been loaded. If it has, the same
Class
object is returned.
- If the
delegate
property is set to true
,
call the loadClass()
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.
If the class was found using the above steps, and the
resolve
flag is true
, this method will then
call resolveClass(Class)
on the resulting Class object.
- Overrides:
loadClass
in class java.lang.ClassLoader
- Parameters:
name
- Name of the class to be loadedresolve
- If true
then resolve the class- Throws:
java.lang.ClassNotFoundException
- if the class was not found
getPermissions
protected final java.security.PermissionCollection getPermissions(java.security.CodeSource codeSource)
- Get 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:
getPermissions
in class java.net.URLClassLoader
- Parameters:
CodeSource
- where the code was loaded from- Returns:
- PermissionCollection for CodeSource
loadClassDataFromFile
protected byte[] loadClassDataFromFile(java.lang.String fileName)
- Load JSP class data from file.
Copyright © 2000 Apache Software Foundation. All Rights Reserved.