Craig,

I know Tomcat has always been a standards compliant implementation. But will
it be possible say for developers to have extensions where instead of
writing the import statements in a whole lot of JSPs we make sure the Class
loader loads this as a extension to the list you've mentioned using some
config file read at startup. 

I do agree that this make it a non-portable JSP, going against the spirit of
Java and J2EE but today everything written on J2EE though Java is almost 60%
not portable onto a different implementation :) 

Can this be done?

Anand

-----Original Message-----
From: Craig R. McClanahan [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, December 26, 2001 12:26 PM
To: Tomcat Developers List
Subject: RE: Default classes loaded by Tocmat




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]>

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

Reply via email to