I have an application under Tomcat. and my problem is that it does handle relative paths very well, but not the paths wrt the root-context. say I am in root-context/files/f1.jsp If i refer to /images/img1.gif here It cannot handle this request. Although img1.gif exists inside root-context/images/img1.gif Regards, c.
A reference to /images/img.gif is relative to the ROOT directory, not some web application context. Thats not a Tomcat problem. I think that using "../images/img.gif" might be what you want - the .. says back up one directory from where the jsp lives. Bill [ December 25, 2002: Message edited by: William Brogden ]
posted 16 years ago
Hi William, I am aware of the ../ stuff. I just wanted to know why /images/someImage.gif does not work!! why does it refer to $WEB-APPLN_SERVER/webapps/ROOT/ directory. I see no reason..
The first thing to realize is that although they LOOK the same, a URL is NOT actually a directory path. In many cases, they do map, but not all (as for example the Apache Alias directive). In fact, some webservers secure themselves by NOT assuming that the filesystem tree will map node-for-node and thus requiring explicit URI/directory mappings. Among the things that can cause confusion is if you map a web app to a complex context using a mechanism such as the Tomcat <context> directive and/or a context definition in an EAR's application.xml file. For example (from an EAR's application.xml):
Let's say that the directory structure looks like this: