JSP页面即使指向正确的目录也不显示图片?

时间:2014-10-07 10:17:12

标签: java image jsp

我试图在jsp页面中显示图像。我确保特定img的路径是正确的。我尝试过以下所有不同的方法。一切都已指向文件夹,但在页面上,它只显示一个小x而不显示图片。

<img src="<%=request.getContextPath()%>/poster/Capture.JPG" alt="capture_test">

<img src="poster/Capture.JPG" alt="capture_test">

<img src="WebContent/poster/Capture.JPG" alt="capture_test">
I've moved the folder one level deeper and it still does not work. 

知道我做错了什么吗?或者是否有某个步骤来展示它?

ps - 编辑

这是文件夹结构。

root是电影文件夹

movie -> build
      -> poster
      -> src
      -> WebContent
          -> META-INF
          -> WEB-INF
          -> all the different jsp files

2 个答案:

答案 0 :(得分:1)

您必须了解本地文件系统路径与servlet容器转换URL的方式之间的区别。

您的JSP将作为HTML页面传输到客户端浏览器。浏览器将找到<img>标记,并将使用给定的网址向服务器发送另一个请求

然后,servlet容器将查找映射到url的servlet,或者战争根下的文件,而不是/WEB-INF处或之下的

因此,在您的使用案例中,文件夹poster 必须位于/WebContent下,并且正确的img src将为:

<img src="<%=request.getContextPath()%>/poster/Capture.JPG" alt="capture_test">

<img src="<c:url value="/poster/Capture.JPG"/>" alt="capture_test">

<c:url value="/poster/Capture.JPG" var="url"/>
<img src="${url}" alt="capture_test">`

答案 1 :(得分:1)

  1. 在Chrome中打开该页面
  2. 按F12打开开发人员工具
  3. 检查控制台选项卡
  4. Chrome会向您显示预期的完整和最终网址 图像