remm 01/09/24 15:17:42
Modified: catalina/src/share/org/apache/catalina/loader Tag:
tomcat_40_branch WebappClassLoader.java
Log:
- The validate check was too strict, at least with packages from the sevlet API,
as it refused loading the JSPTL JAR (which uses package javax.servlet.jsptl).
Bug reported by Justyna Horwat.
Revision Changes Path
No revision
No revision
1.15.2.2 +18 -5
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/loader/WebappClassLoader.java
Index: WebappClassLoader.java
===================================================================
RCS file:
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/loader/WebappClassLoader.java,v
retrieving revision 1.15.2.1
retrieving revision 1.15.2.2
diff -u -r1.15.2.1 -r1.15.2.2
--- WebappClassLoader.java 2001/09/20 17:47:23 1.15.2.1
+++ WebappClassLoader.java 2001/09/24 22:17:42 1.15.2.2
@@ -1,7 +1,7 @@
/*
- * $Header:
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/loader/WebappClassLoader.java,v
1.15.2.1 2001/09/20 17:47:23 remm Exp $
- * $Revision: 1.15.2.1 $
- * $Date: 2001/09/20 17:47:23 $
+ * $Header:
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/loader/WebappClassLoader.java,v
1.15.2.2 2001/09/24 22:17:42 remm Exp $
+ * $Revision: 1.15.2.2 $
+ * $Date: 2001/09/24 22:17:42 $
*
* ====================================================================
*
@@ -123,7 +123,7 @@
*
* @author Remy Maucherat
* @author Craig R. McClanahan
- * @version $Revision: 1.15.2.1 $ $Date: 2001/09/20 17:47:23 $
+ * @version $Revision: 1.15.2.2 $ $Date: 2001/09/24 22:17:42 $
*/
public class WebappClassLoader
extends URLClassLoader
@@ -1756,7 +1756,20 @@
return false;
if (name.startsWith("java."))
return false;
- if (name.startsWith("javax.servlet."))
+
+ // Looking up the package
+ String packageName = null;
+ int pos = name.lastIndexOf('.');
+ if (pos != -1)
+ packageName = name.substring(0, pos);
+
+ if (packageName.equals("javax.servlet"))
+ return false;
+ if (packageName.equals("javax.servlet.http"))
+ return false;
+ if (packageName.equals("javax.servlet.jsp"))
+ return false;
+ if (packageName.equals("javax.servlet.jsp.tagext"))
return false;
return true;