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) [...]


There must be something very strange with your code if a css file is being interpretted as a class or resource on the classpath. How are you calling it? It should be in a standard link tag in the head of your jsp page as in <link type="text/css" src="<%= request.getContextPath() %>/stylesheets/catalogue.css"> or <link type="text/css" src="${pageContext.request.contextPath}/stylesheets/catalogue.css"/>

--David


Mike Molina wrote:

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]



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

Reply via email to