2011-03-31 80 views
0

我有关于调用存储在我的项目图片疑惑:如何访问JEE6项目中的图像资源?

1 - 如果我有存储在MyApp的/图片/ Image.gif的

我怎么能告诉分量H的图像:graphicImage的找到那个图像? 我试过,但没有奏效

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

2 - 我想知道如何调用存储在WEB-INF /图像 我读的地方,我需要的是因为一个servlet无法将图像直接访问。

这是真的吗?我怎样才能做到这一点?

更新

这是我projectStructure的打印屏幕,所以你可以看到在哪里,我需要访问这些文件。

enter image description here

回答

2

这里是你事业的总结发布:

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

您有几种选择:

  1. 移动图像目录,它是WebContent目录下,而不是在WEB-INF目录下。例如,* WebContent/images *
  2. 拦截对servlet或过滤器中图像的请求,从servlet或过滤器中读取文件,然后返回文件。这有第三方实施。我喜欢Spring ResourceServlet类;如果没有别的,它会演示这种技术(它是开源的,所以你可以阅读代码,如果你喜欢)。

+0

第一个选项为我工作。非常感谢 – sfrj 2011-03-31 12:24:54

+0

将目录“images”和“templates”移动到目录“WebContent” – Sven 2011-03-31 12:31:13