Unlike tomcat 4.x, tomcat 5.x creates context configuration files for you
in its conf/[Engine name]/[Host name] directory. This is part of the change
in tomcat's configuration mechanism from version 4.x to make overall configuration
more robust, flexible, and enterprise-friendly. Note, however, that this
has changed the recommended deployment practices for web applications.
These context configuration files are created by tomcat, but not removed
by tomcat, because the user may have changed them or other files in the conf
directory. The suggested practice for tomcat 5
is to place context configuration files in the META-INF/context.xml directory
of your webapp, and use Tomcat's Manager webapp to deploy/undeploy your applications.
More details can be found here:
MARC Archive
Because the Classloader (and the Class objects it loaded) cannot be
recycled. They are stored in the permanent heap generation by the JVM,
and when you redepoy a new class loader is created, which loads another
copy of all these classes. This can cause OufOfMemoryErrors eventually.