我试图在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
答案 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)