On Wed, 26 Dec 2001, Anand Bashyam Narasimham wrote:

> Date: Wed, 26 Dec 2001 11:56:45 -0800
> From: Anand Bashyam Narasimham <[EMAIL PROTECTED]>
> Reply-To: Tomcat Developers List <[EMAIL PROTECTED]>
> To: 'Tomcat Developers List' <[EMAIL PROTECTED]>
> Subject: RE: Default classes loaded by Tocmat
>
> Craig,
>
> I get the idea but as u said if the Web-app class loader delegates it to the
> Parent Class loader and at some point it will go to the VM's primary class
> loader. If that is how it works then while I start tomcat my entire JDK's
> classes are in the Class path

More precisely, they are *visible* to your web application -- Tomcat
doesn't actually use the CLASSPATH environment variable for this.

> so if I have a JSP that uses java.util.Vector
> and not included in the "<@import" list the JSP should compile. However it
> does not. I'm using tomcat 3.3 If I remember right there was a significant
> change in how classes are loaded from 3.3 to 4.0.

This is a completely separate issue.

You have to explicitly import classes you use in JSP pages, just like you
do when you compile any Java class, unless the compiler already knows
about them.  For example, you don't have to say "import java.lang.String"
because the compiler already knows about it - but you *do* have to say
"import java.util.Vector" if you want one.  The same is true in JSP pages.

The default imports in a JSP page are defined in the JSP spec (JSP 1.3,
Section 2.10.2, page 50):

  java.lang.*
  javax.servlet.*
  javax.servlet.jsp.*
  javax.servlet.http.*

so anything else you want must be explicitly imported.  Tomcat 3.2
mistakenly included some other classes (this was a bug, because the above
list was correct for JSP 1.1 as well).  Tomcat 4 enforces the list defined
above.  I don't know anything about whether 3.3 fixed this bug or not.

>
> Thanks.
>
> Anand

Craig


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to