The documentation (http://tomcat.apache.org/tomcat-5.5- doc/config/context.html) encourages users to define their context's outside of the server.xml file to enable hot-deployments. The documentation also says "If you specify a context path of an empty string (""), you are defining the default web application for this Host, which will process all requests not assigned to other Contexts" Unfortunately, unless the context is defined inside the server.xml file, Tomcat doesn't recognize the empty string path value. The workaround suggested on the user mailing list was: To specify the default app, you must first delete the existing webapps/ROOT directory, then install your app in webapps/ROOT (or webapps/ROOT.war) or put your <Context> element in conf/[engine]/[host]/ROOT.xml. This bug is to request the documentation be updated to include the instructions for specifying the default context when it's defined physically outside of the server.xml file. The dev mailing list indicated this is also how Tomcat 6 works.
Fixed in SVN. The updated docs will be included in 5.5.21 onwards. The Tomcat website will be updated when 5.5.21 is released.