tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Steve Procter <>
Subject Re: Delivering JSPs without source
Date Wed, 01 Dec 2004 05:11:27 GMT
 > There is no reason why your app wouldn't be able to find classes from 
a jar in common/lib -- there's something else going on here.

I agree.

The following comment in the WebappClassLoader javadoc might be relevant.

"IMPLEMENTATION NOTE - Due to limitations in Jasper compilation 
technology, any repository which contains classes from the servlet API 
will be ignored by the class loader."

I'm not sure whether the repository it refers to is a single jar file or 
the entire set of directories and jar files that this class loader handles.

All of the class files are in common/lib so I don't believe the 
WebappClassLoader is involved in loading these classes.  But the comment 
matches my experience.  In earlier versions of the product the product 
classes were all installed under webapps and the system loaded the 
precompiled jsps fine.  After we moved all of the classes to common/lib 
the jsps stopped loading.

 > It would seem that if a web page request comes in for a .jsp page,
Tomcat would have no file to compare the date against in your scheme of
putting the compiled .jsp page in a .jar file only.

I agree with this, also.  That matches what I step through the jsp 
loader in my debugger.  When it tries to load the jsp file the first 
thing it does is look for an already loaded JspServletWrapper object. 
If it doesn't find one, it checks to see if the file exists and if not 
gives up.

So, unless something else is loading the compiled jsp sevlets into the 
list of known jsps, I don't think the system will load the compiled 
servlet unless it can find the jsp file, or at least a file with the 
correct name and an older modify time than the compiled version.

How do most companies deploy their web applications?  Do they include 
the source code for the jsps?  Almost all of the companies I have worked 
for have been very protective of their source code and won't allow it to 
be released.

Thanks for the help,


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message