我无法在JSP中显示图像(并且无法通过SRC访问外部Javascript/jQuery等其他内容).以下JSP页面只包含一个<img>无法显示SRC所定位图像的标记.
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<form action="Temp.htm" method="post">
<img src="/images/temp.jpg" alt="Not available">
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
图像在/WEB-INF/jsp/images.我还试图改变图像位置,并确保给予SRC的路径的所有时间都是正确的,但事实并非如此.没有框架的应用程序也可以这样做.它完美地在那里工作.我在这里错过了什么?
JB *_*zet 10
首先,/WEB-INF无法从外部访问.
其次,如果您使用/images/temp.jpg,浏览器将从Web服务器的根目录加载图像,而不是从Web应用程序的根目录(在上下文路径下部署)加载图像.
使用JSTL <c:url>标记从Web应用程序的根目录生成绝对路径:
<img src="<c:url value='/images/temp.jpg'/>" alt=.../>
Run Code Online (Sandbox Code Playgroud)
您无法/WEB-INF/直接访问位于Web上的文件.该文件夹受到Web访问保护.
在其他位置找到您的图像文件./images/temp.jpg是绝对的路径,但你可能需要一个相对的路径.将图像路径指向image/temp.jpg并将图像放在/images/直接位于Web根目录下的文件夹中.例如WebContent/images或src/main/webapp/images(取决于您的网络根目录).