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

Nested Class Summary
protected  class JasperLoader.PrivilegedLoadClass
           
 
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
clearAssertionStatus, defineClass, defineClass, defineClass, definePackage, findLibrary, findLoadedClass, findSystemClass, getPackage, getPackages, getParent, getResource, getResourceAsStream, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, resolveClass, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

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. 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 loaded
resolve - 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
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.