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

时间:2015-09-26 14:07:08

标签: java html image web

我正在制作一个java web应用程序,我希望它能够显示图像。但是,它找不到我的形象。

我在"gulpStartupTasks": [ "babel", "sass", "watch" ],

中创建了一个文件夹

另外,在/src/main/resources/images文件中,我尝试过以下句子。

.jsp

我有什么不好的事吗?

由于

编辑:

mi <img src="/src/main/resources/images/Head.png"> </img> <img src="< c:url value='/src/main/resources/images/Head.png'/>"> </img> 文件的路径为.jsp

您可以在https://github.com/Santi-7/hello

中找到网络应用代码

4 个答案:

答案 0 :(得分:1)

.war文件的结构如下:

/
    /WEB-INF
        /lib
        /classes
    /META-INF

现在,您的应用程序具有以下结构(我假设,给定文件夹结构,您使用的是Maven)

/
    /src
        /main
            /java
            /resources
            /webapp

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

问题的关键在于, /WEB-INF/META-INF下的任何内容都可以被请求访问 - 这是为了安全,否则有人可能只需下载{{1}例如。

因此,为了添加浏览器可访问的资源,您需要将其放入/WEB-INF/web.xml - 这将成为应用程序的根目录。

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

/src/main/webapp/images

简而言之,您需要了解<c:url value='/images/Head.png'/> 的目录结构如何工作以及它与您的代码的关系。

答案 1 :(得分:1)

您的应用是Spring Boot app。我认为你也可以尝试使用Spring Boot提供的工具来提供静态内容。无论如何,你现在正在做,因为你正在使用 webjars 来获取css和js libs!与您正在使用的技术保持一致。

答案 2 :(得分:0)

图像的路径必须相对于.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文件夹到next()文件夹的路径图像。

答案 3 :(得分:0)

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

我所做的改变:

  

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

现在,我的图片位于<img src="images/Head.png" />

  

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

现在,{{1}}文件的句子是

{{1}}

编辑[1]:

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