我正在尝试在我的 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-编辑
这是文件夹结构。
根目录是电影文件夹
movie -> build
-> poster
-> src
-> WebContent
-> META-INF
-> WEB-INF
-> all the different jsp files
最佳答案
您必须了解本地文件系统路径和 servlet 容器转换 URL 的方式之间的区别。
您的 JSP 将作为 HTML 页面传输到客户端浏览器。浏览器会找到<img>
标记,并将使用给定 URL向服务器发送另一个请求。
然后,servlet 容器将查找映射到该 url 的 servlet,或者映射到 war 根目录下的文件,而不是位于 /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">`
关于java - JSP 页面不显示图片,即使它指向正确的目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26233720/