org.tp23.jasper.servlet
Class JasperLoader
java.lang.Object
|
+--java.lang.ClassLoader
|
+--org.tp23.jasper.runtime.JspLoader
|
+--org.tp23.jasper.servlet.JasperLoader
- Direct Known Subclasses:
- JasperLoader12
- public class JasperLoader
- extends JspLoader
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.
This code is quite fragile and needs careful
treatment/handling/revisiting. I know this doesn't work very well
right now for:
(a) inner classes
(b) does not work at all for tag handlers that have inner
classes; but that is likely to change with the new JSP PR2
spec.
- Author:
- Anil K. Vijendran, Harish Prabandham, Paul Hinds
Method Summary |
protected java.lang.Class |
defClass(java.lang.String className,
byte[] classData)
Just a short hand for defineClass now... |
protected byte[] |
doLoadClassDataFromFile(java.lang.String fileName)
Load JSP class data from file, method may be called from
within a doPriviledged if a SecurityManager is installed. |
protected java.lang.Class |
findClass(java.lang.String className)
|
java.net.URL |
getResource(java.lang.String name)
|
java.io.InputStream |
getResourceAsStream(java.lang.String name)
|
protected java.lang.Class |
loadClass(java.lang.String name,
boolean resolve)
|
protected byte[] |
loadClassDataFromFile(java.lang.String fileName)
Load JSP class data from file, method may be called from
within a doPriviledged if a SecurityManager is installed. |
void |
setProtectionDomain(java.lang.Object pd)
|
java.lang.String |
toString()
|
Methods inherited from class java.lang.ClassLoader |
defineClass, defineClass, defineClass, definePackage, findLibrary, findLoadedClass, findResource, findResources, findSystemClass, getPackage, getPackages, getParent, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, resolveClass, setSigners |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
JasperLoader
public JasperLoader()
setProtectionDomain
public void setProtectionDomain(java.lang.Object pd)
loadClass
protected java.lang.Class loadClass(java.lang.String name,
boolean resolve)
throws java.lang.ClassNotFoundException
- Overrides:
loadClass
in class java.lang.ClassLoader
getResourceAsStream
public java.io.InputStream getResourceAsStream(java.lang.String name)
- Overrides:
getResourceAsStream
in class java.lang.ClassLoader
getResource
public java.net.URL getResource(java.lang.String name)
- Overrides:
getResource
in class java.lang.ClassLoader
findClass
protected java.lang.Class findClass(java.lang.String className)
throws java.lang.ClassNotFoundException
- Overrides:
findClass
in class java.lang.ClassLoader
defClass
protected java.lang.Class defClass(java.lang.String className,
byte[] classData)
- Just a short hand for defineClass now... I suspect we might need to
make this public at some point of time.
loadClassDataFromFile
protected byte[] loadClassDataFromFile(java.lang.String fileName)
- Load JSP class data from file, method may be called from
within a doPriviledged if a SecurityManager is installed.
doLoadClassDataFromFile
protected byte[] doLoadClassDataFromFile(java.lang.String fileName)
- Load JSP class data from file, method may be called from
within a doPriviledged if a SecurityManager is installed.
toString
public java.lang.String toString()
- Overrides:
toString
in class java.lang.Object