I am new to developing on JSF (and new to web development in general) and I am trying to put an image on a page.
I’m developing my JSF app in Eclipse and running it on Glassfish 3.1.2. I have registered Glassfish as a server in Eclipse, and running the app via Eclipse.
I use the following markup on my xhtml page:
<h:graphicImage library="images" name="logo.png"/>
I copied the image in META-INF/resources/images/logo.png .
The image does not appear on the page and when I view the page source I see the element
<img src="RES_NOT_FOUND" />
indicating that the image is not found.
When I export my app to a war file and deploy it onto Glassfish via the autodeploy folder, I get the same results – the page displays, but the image does not appear.
Can anyone advise why the image resource is not found?
This location will only work if the project represents a standalone module JAR which ultimately ends up in
/WEB-INF/libof the WAR.This does not seem to the case in your particular case. Nothing in your question indicates that you’re indeed developing a module JAR file. Apparently you’ve placed it straight in the WAR this way. This is not right.
You need to put the
/resourcesfolder straight in the public web content, not in theMETA-INFfolder.See also:
Unrelated to the concrete problem, using
imagesas library name does not look entirely right. Just useSee also: