无法在JSP中显示图像

Bha*_*esh 5 java jsp

我无法在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)


Udo*_*eld 5

您无法/WEB-INF/直接访问位于Web上的文件.该文件夹受到Web访问保护.

在其他位置找到您的图像文件./images/temp.jpg是绝对的路径,但你可能需要一个相对的路径.将图像路径指向image/temp.jpg并将图像放在/images/直接位于Web根目录下的文件夹中.例如WebContent/imagessrc/main/webapp/images(取决于您的网络根目录).