Can a Tomcat docBase span multiple folders?

tomcat, tomcat6

Solution

I use it this way:

    <Context docBase="jquery"                path="/js/jquery" />
    <Context docBase="foobar/www/javascript" path="/js" />
    <Context docBase="foobar/www/css"        path="/css" />
    <Context docBase="foobar"                path="/" />

Important for the concrete context is the path-attribute. A request is processed from top to bottom.

So a request for `/css/default.css` is only processed from the 3rd context.

A different order may catches a different context.

This is wrong:

    <Context docBase="foobar"                path="/" />
    <Context docBase="jquery"                path="/js/jquery" />
    <Context docBase="foobar/www/javascript" path="/js" />
    <Context docBase="foobar/www/css"        path="/css" />

Because `/css/default.css` will be catched by the first context, not the fourth.

Edit 2013-08-10: (Not by the answer-author) It is important to note that while the above technique will work, much of it is actually incorrect. Please see comments for details.

Problem

I apologize if this is a poor question, but I'm using Windows and looking to see if there's a way to run a webapp via Tomcat where the `docBase` is multiple folders. A little more background is that we have our Eclipse project set up in a way that the web content is broken into separate folders. One folder represents what our SDK provides, one is a folder which has SDK patches, and a third is the project-specific components -- either of the last two folders could have subfolders/files that "erase" items from the first two. I'd like to try and have my context file point back into my dev environment so that I don't need to build/deploy in order to see the changes I'm making. Is this possible? A couple other notes: - We thought about using symlinks via `mklink`, but didn't want to create complexity if simplicity was out there. - This is just for running locally so simple hacks would be allowed. When we create the WAR which gets deployed to the real environment the ANT script creates a single web root.

Original source

Related problems