如何访问JEE6项目中的图像资源?

时间:2011-03-31 11:28:36

标签: java image jsf resources java-ee

我不得不怀疑调用存储在我项目中的图像:

1 - 如果我的图像存储在MyApp / images / image.gif

如何告诉组件h:graphicImage找到该图像? 我尝试了这个,但它不起作用

<h:graphicImage value="MyApp/images/image.gif"/> 

2-我有兴趣知道如何调用存储在WEB-INF / images下的图像 我在某处读到了我需要一个servlet因为无法直接访问。

这是真的吗?我怎么能这样做?

更新

这是我的projectStructure的打印屏幕,因此您可以看到我需要访问的文件的位置。

enter image description here

1 个答案:

答案 0 :(得分:2)

以下是发布原因的摘要:

  • 浏览器通过发送资源的HTTP请求来加载每个图像。
  • 无法通过HTTP请求直接检索WEB-INF目录下的资源。

您有几种选择:

  1. 移动images目录,使其位于WebContent目录下,但不在WEB-INf目录下。例如,* WebContent / images *
  2. 拦截servlet或过滤器中的图像请求,从servlet或过滤器中读取文件,然后返回文件。有第三方实现。我喜欢Spring ResourceServlet类;如果不出意外,它将展示这种技术(它是开源的,所以如果你愿意,你可以只读代码。)