Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/91.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Web应用程序。图像定位问题_Java_Html_Image_Web - Fatal编程技术网

Java Web应用程序。图像定位问题

Java Web应用程序。图像定位问题,java,html,image,web,Java,Html,Image,Web,我正在制作一个java web应用程序,我想让它显示一个图像。但是,它找不到我的图像 我在/src/main/resources/images 另外,在.jsp文件中,我尝试了以下句子 <img src="/src/main/resources/images/Head.png"> </img> <img src="< c:url value='/src/main/resources/images/Head.png'/>"> </img&

我正在制作一个java web应用程序,我想让它显示一个图像。但是,它找不到我的图像

我在
/src/main/resources/images

另外,在
.jsp
文件中,我尝试了以下句子

 <img src="/src/main/resources/images/Head.png"> </img>

 <img src="< c:url value='/src/main/resources/images/Head.png'/>"> </img>

"> 
我在做什么坏事

谢谢

编辑:

mi
.jsp
文件的路径是
/src/main/webapp/WEB-INF/jsp/welcome.jsp


您可以在中找到web应用程序代码
.war
文件的结构如下:

/
    /WEB-INF
        /lib
        /classes
    /META-INF
现在,您的应用程序具有以下结构(假设给定文件夹结构,您使用的是Maven)

现在,Maven war插件将在编译期间将类路径中的所有内容复制到
/WEB-INF/classes
——默认情况下,这是
/src/main/java
/src/main/resources

问题的关键在于,请求不能访问
/WEB-INF
/META-INF
下的任何内容-这是为了安全,否则有人可以简单地下载
/WEB-INF/WEB.xml

因此,为了添加可由浏览器访问的资源,您需要将其放入
/src/main/webapp
-这将成为应用程序的根目录

因此,如果您将
Head.png
放入
/src/main/webapp/images
中,那么在JSP中您将使用:

<c:url value='/images/Head.png'/>


简而言之,您需要了解
.war
的目录结构是如何工作的,以及它与代码的关系。

图像的路径必须与.jsp文件的路径相对

因为图像的路径是:
/src/main/resources/images/Head.png
,而jsp文件的路径是:
/src/main/webapp/WEB-INF/jsp/welcome.jsp
,所以您需要在图像标记中写入:

<img src="../../../resources/images/Head.png" />


。/../../
用于从
jsp
文件夹转到
main
文件夹,
resources/images/Head.png
是从
main
文件夹到图像的路径。

谢谢大家,我可以解决我的问题

我所做的改变:

因此,为了添加可由浏览器访问的资源,您需要将其放置在/src/main/webapp中—这将成为应用程序的根目录

现在,我的图像位于
/src/main/webapp/images


图像的路径必须相对于.jsp文件的路径

现在,我的
.jsp
文件的句子是

编辑[1]:


“我犯了一个错误。图像的路径是相对于/webapp类路径的!

您的应用程序是一个。我认为您也可以尝试使用Spring Boot提供的工具来提供静态内容。无论如何,您现在这样做是因为您正在使用webjars进行css和js libs!!!与您使用的技术保持一致。在qestion中添加
.jsp
文件的路径您可以提供web应用程序的代码或指向web应用程序代码所在的公共存储库的链接吗?路径是/src/main/webapp/web-INF/jsp/welcome.jspOf当然,web应用程序的代码是有效的!但是我必须使用@SantiGil,除非您以的身份部署应用程序,否则我不会这样做de>ROOT-否则您的应用程序将位于
context
,因此完整的URL将是
/context/images/Head.png
,您的应用程序将不再工作。这就是存在的原因-自动添加到上下文中。谢谢,正如您所说,我必须使用.jsp文件路径的相对路径。我不建议这样做。我它不仅脆弱,而且可能不起作用。在您的问题中,您编写的图像路径是:
/src/main/resources/images
。我不知道您是否在这里或在您的问题中犯了错误,但您需要修复它。我一开始就有这条路径,但正如蜘蛛鲍里斯所建议的,我已将此路径更改为/src/main/webapp/images添加了一个新的帖子来讨论这个问题。
<img src="../../../resources/images/Head.png" />