Lew wrote:
>> I routinely write web apps where servlets forward to JSPs, and relative references always work fine.
> I think it may have something to do with the fact that my css [sic] and
> images directory was under WEB-INF.
Now that you tell us this rather important bit of news things are much more
explicable.
> Tomcat doesn't allow urls [sic] that request resources inside this directory so my guess is that the
> relavie references were failing because of this but it's just a
No wonder your "<%= getContextPath() %>" scriptlet didn't help.
> guess. I changed my code so that index.jsp is the default page and I
> noticed that this file was not able to load references to css when it
> was inside WEB-INF so I move both css/ and images/ out of WEB-INF and
> into web and it worked.
The reason you could get your page from WEB-INF/ is that access is through a
servlet forward. The reason that you couldn't get your CSS from WEB-INF/ was
that access was through a URL.
> My guess is that if I go back to using my servlet as the default resource it will work now if I forward the
> request to index.jsp or some other .jsp file. I'm not sure I want to
> go back tho'.
There are a lot of good reasons to use a servlet to mediate view and logic
dispatch. Check out "Model-View-Controller" (MVC) and "Front Controller pattern".

Signature
Lew
Skijor - 06 Jun 2007 02:40 GMT
> There are a lot of good reasons to use a servlet to mediate view and logic
> dispatch. Check out "Model-View-Controller" (MVC) and "Front Controller pattern".
Yes. The reason I moved from the flow-controller model to a
static .jsp page is that I am still fundamentally confused over the
meaning of '/' as a url-mapping in web.xml. For some reason relative
offsets from the context path don't resolve external dependencies for
me even when those dependencies are outside of WEB-INF (e.g., /
images, /css). Is there some special meaning to '/' (i.e., has a
hidden or absolute context path)?