[英]Java Web Application. Problems in locating images
我正在制作一個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
您可以在https://github.com/Santi-7/hello中找到該Web應用程序代碼
.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
下的任何內容都不能被請求訪問 -這是為了安全起見,否則有人可以簡單地下載/WEB-INF/web.xml
。
因此,為了添加瀏覽器可訪問的資源,您需要將其放入/src/main/webapp
這將成為應用程序的根。
因此,如果將Head.png
放在/src/main/webapp/images
那么在JSP中,您將使用:
<c:url value='/images/Head.png'/>
簡而言之,您需要閱讀.war
的目錄結構如何工作以及與代碼的關系。
您的應用程序是Spring Boot應用程序 。 我認為您也可以嘗試使用Spring Boot提供的功能來提供靜態內容。 無論如何,您現在正在執行此操作,因為您正在將Webjars用於CSS和JS庫! 與您使用的技術保持一致。
圖像的路徑必須相對於.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
文件的句子是
<img src="images/Head.png" />
編輯[1]:
我犯了一個錯誤。 圖像的路徑是相對於/ webapp類路徑的!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.