Links to relative URL's from a JSP

2006-07-24 Thread Mike Molina
This thread is related to relative URL within JSP's and how they refer to 
the local directory structure in a web application.


My directory structure in Tomcat goes something like this:

webapps/inprogress/WebContent
(Accessed through Tomcat as such: http://127.0.0.1:8080/inprogres/WebContent

where WebContent contains my JSP and HTML files, WEB-INF, etc.

When creating img links to image files in the WebContent folder, I noticed

1) HTML files can use the correct local pathname, e.g., img 
src=imagname.jpg


however,

2) JSP files, even though accessing image files in the same directory must 
use the previous directory, e.g., img src=../imagename.jpg even though 
the images are contained in the same directory.


My assumption is that JSP files are rooted in the WEB-INF directory and so 
must use the previous directory notation back up a directory to access the 
images contained the WebContent folder where everything else is.


Thus, I have two questions:

1) Why does this occur, and how can I modify my xml configuration files so 
that JSP's reference links exactly as an html file in the same directory 
would?


2) How can I change the root folder of tomcat to the 
webapps/inprogress/WebContent directory, which xml files, and how exactly 
should I modify them?


Thanks,
Mike M.



-
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Links to relative URL's from a JSP

2006-07-24 Thread Mike Molina

I'm beginning to see my problem is a bit more complex than I had mentioned.

Here is the situtation: I have two JSP's, login.jsp and catalogue.jsp.  
Login JSP calls a servlet to do some processing. If it is successful, the 
servlet forwards the request and response objects to /catalogue.jsp.


Whenever I access catalogue.jsp by entering in its absolute URL, 
everything works fine.  I can still have my relative img links to the images 
contained in the same folder, e.g., img src=image.jpg


However, if catalogue.jsp is accessed by the servlet forwarding the 
request and response objects to catalogue.jsp then none of the usual 
relative URL's work.  In fact, the servlet will not even compile correctly:




SEVERE: Error loading WebappClassLoader
 delegate: false
 repositories:
   /WEB-INF/classes/
-- Parent Classloader:
[EMAIL PROTECTED]
mm_lodging1.css
java.lang.ClassNotFoundException: catalogue.css
	at 
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1352)

[...]



This is only remedied if I use relative links to the images beginning with 
.. For example, if the image links are constructed like img 
src=../image.jpg.  Then the forwarding, runtime compilation of the 
servlet, and the image URL's in the document work fine.


To illustrate how this works, say I have 3 images, one of them with a 
correct relative URL location, and the other two using ../ before the 
image filename.  If I access the JSP using an absolute URL, one of the 
images will work, if I use dispatcher forwarding, 2 of them will work.


I am using Eclipse for development.

Sincerely,
Mike M.



From: David Smith [EMAIL PROTECTED]
Reply-To: Tomcat Users List users@tomcat.apache.org
To: Tomcat Users List users@tomcat.apache.org
Subject: Re: Links to relative URL's from a JSP
Date: Mon, 24 Jul 2006 13:50:22 -0400

 2) JSP files, even though accessing image files in the same directory 
must use the previous directory, e.g., img src=../imagename.jpg even 
though the images are contained in the same directory.


What does the URL in your browser look like when you are access the JSP 
pages?  The browser constructs the full path to the image from the URL used 
to request the page (JSP or HTML -- the browser doesn't know the 
difference).


 My assumption is that JSP files are rooted in the WEB-INF directory 
and so must use the previous directory notation back up a directory to 
access the images contained the WebContent folder where everything else is.


Nope.  They are rooted right where they are although internal forwarding 
can make the request URL different from the actual location of the JSP.  In 
the past, I've done stuff like img 
src=${pageContext.request.contextPath}/WebContent/image.jpg to get 
around these issues with an absolute path to the image.  My example assumes 
a servlet spec 2.4 webapp and container.


--David

Mike Molina wrote:

This thread is related to relative URL within JSP's and how they refer to 
the local directory structure in a web application.


My directory structure in Tomcat goes something like this:

webapps/inprogress/WebContent
(Accessed through Tomcat as such: 
http://127.0.0.1:8080/inprogres/WebContent


where WebContent contains my JSP and HTML files, WEB-INF, etc.

When creating img links to image files in the WebContent folder, I noticed

1) HTML files can use the correct local pathname, e.g., img 
src=imagname.jpg


however,

2) JSP files, even though accessing image files in the same directory must 
use the previous directory, e.g., img src=../imagename.jpg even though 
the images are contained in the same directory.


My assumption is that JSP files are rooted in the WEB-INF directory and 
so must use the previous directory notation back up a directory to access 
the images contained the WebContent folder where everything else is.


Thus, I have two questions:

1) Why does this occur, and how can I modify my xml configuration files so 
that JSP's reference links exactly as an html file in the same directory 
would?


2) How can I change the root folder of tomcat to the 
webapps/inprogress/WebContent directory, which xml files, and how exactly 
should I modify them?


Thanks,
Mike M.



-
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




-
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





-
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]