This week's giveaway is in the Spring forum.
We're giving away four copies of REST with Spring (video course) and have Eugen Paraschiv on-line!
See this thread for details.
The moose likes Tomcat and the fly likes Paths in Tomcat standalone mode Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of REST with Spring (video course) this week in the Spring forum!
JavaRanch » Java Forums » Products » Tomcat
Bookmark "Paths in Tomcat standalone mode" Watch "Paths in Tomcat standalone mode" New topic

Paths in Tomcat standalone mode

Brusk Baran
Ranch Hand

Joined: Nov 15, 2001
Posts: 132
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
William Brogden
Author and all-around good cowpoke

Joined: Mar 22, 2000
Posts: 13027
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.
[ December 25, 2002: Message edited by: William Brogden ]
Brusk Baran
Ranch Hand

Joined: Nov 15, 2001
Posts: 132
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..
Rene Larsen
Ranch Hand

Joined: Oct 12, 2001
Posts: 1179

The first / refere to the root of the Web-Server - e.g. '' - in your case '$WEB-APPLN_SERVER/webapps/ROOT/'

Regards, Rene Larsen
Dropbox Invite
Tim Holloway
Saloon Keeper

Joined: Jun 25, 2001
Posts: 17260

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:

The canonical URL for the image1 file would be something like
For a JSP at, the relative-to-root path for the image1 file would be "/images/image1.png" because the TOMCAT_ROOT/webapp/ directory would be implicit and the wowser/ would be part of the context root. Usually, of course, you'd just have "/" as the context root, so the image1 URL would be
"../images/image1.png" would also work - in this case you're explicitly mapping relative to the referrer's context location rather than walking down from the context root.

An IDE is no substitute for an Intelligent Developer.
jQuery in Action, 3rd edition
subject: Paths in Tomcat standalone mode
It's not a secret anymore!