我正在制作一个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
答案 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类路径的!