Hi

thanks,..

>well, nothing. it just sounds very ugly, having the same jar files
>running twice in one tomcat, once in server/lib and once in common/lib.
>is this how its _normally_ done ?

Alternatively, have you try putting it inside the
/lib directory of your webapp?  It will then only be accessible to that
webapp tho.

yes, I tried that, and it works. woopie. to extend the WebdavServlet, I've copied servlet-common.jar servlet-default.jar servlet-webdav.jar and catalina.jar (oops) from the server/lib into my /WEB-INF/lib

ugly, but it compiles and runs. it appears
WebdavServlet was not intended to be extended
by the authors, because quite some usefull things
are 'private' :-|

now .. let's see if i can add the missing PROPPATCH support :-)

I found this old thread about extending WebdavServlet,
in which Andreas Probst notes his webapp cant load classes
from the $CATALINA_HOME/servlet/lib/ dir.

this url

http://jakarta.apache.org/tomcat/tomcat-4.0-doc/class-loader- howto.html
makes it clear why.


but now: how should I  extend WebdavServlet inside my webapp ?
If i put my own classes in the org.apache.bla package, it can't load
the classes from my webapp, ofcourse.

should I copy all jar files from  $CATALINA_HOME/servlet/lib/*jar
to my webapps /WEB-INF/lib ?

that should work, but it sounds ugly.




On Tue, 16 Jul 2002, Andreas Probst wrote:


Date: Tue, 16 Jul 2002 13:59:49 +0200
From: Andreas Probst <[EMAIL PROTECTED]>
Reply-To: Tomcat Users List <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]
Subject: RE: newbie - finding class files


On Mon, 15 Jul 2002, Andreas Probst wrote:


Hi all,


does Tomcat really look into tomcatdir/server/lib? For me it seems
Tomcat doesn't.



This directory is only visible to the classloader for Tomcat itself, not for webapps. There is a special rule that makes servlet classes in package "org.apache.catalina" available to webapps anyway, however, which is why the standard WebdavServlet (as well as the other Tomcat features that are available via servlets) can be loaded.

Craig

Thank you Craig.


Could you please tell more about the rule or give a pointer. The
class-loader-info of the Tomcat-Docu says nothing about the rule, but
says, that "These classes and resources are TOTALLY invisible to web
applications".



Actually, the rule is very simple, and it is there in the docs. Look at the picture of the class loader hierarchy in the Tomcat docs:


http://jakarta.apache.org/tomcat/tomcat-4.0-doc/class-loader- howto.html

The classes that are visible to a web application are those in the
class
loader for that webapp, and any of it's parent class loaders.  In
other
words, an application can see the "WebappX" class loader for itself,
plus the "Shared", "Common", "System", and "Bootstrap" class loaders.
 It
can*not* see the "Catalina" class loader.





thanks,
*-pike
=========
Help stop world hunger -- visit         
        <http://www.thehungersite.org>
Is The Hunger Site real?        
        <http://www.umich.edu/~virus-busters/hunger.html>



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



Reply via email to