JavaWeb專案圖片或者檔案的路徑正確明明是卻訪問不到是什麼原因?
阿新 • • 發佈:2021-02-08
JavaWeb專案圖片或者檔案的路徑正確明明是卻訪問不到是什麼原因?
1.先排查是真的路徑正確還是以為的路徑正確
首先搞懂相對路徑的正確寫法
這裡插入一個視訊連線
相對路徑的寫法連線:link.
相對路徑是相對與你目前正在寫的檔案來說的,打個比方這個現在正在用的login.jsp檔案是我,我想要用的WEB-INF—>image—>1.jpg
那麼現在我們可以看到login.jsp與web-inf資料夾是同級的,就相當於我和WEB-INF是同輩人
然後我們可以看到WEB-INF下面有個image資料夾,這個資料夾下面才是1.jpg
也就相當於我要找WEB-INF的孫子
那麼連線應該先找跟我同輩的爺爺WEB-INF,再找它的兒子image,再找他的孫子1.jpg
所以整個路徑就是WEB-INF/image/1.jpg
2.WEB-INF內的內容瀏覽器是訪問不到的
web-inf是放重要檔案資訊的地方,放在web-inf裡面的東西瀏覽器是訪問不到的
這時候你要呼叫web-inf裡面的圖片,那肯定調用不了呀baby
解決思路
1.把網頁寫在web-inf裡面
1.把原本的jsp檔案放到web-inf裡面
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <c:redirect url="loginForm.action"/>//跳轉到所需的servlet
JSTL 的<c:redirect>標籤可以幫助你重定向到指定的servlet中,你就可以通過這個servlet跳轉到你需要的頁面裡面了,而且因為login.jsp和它所需要的檔案都在伺服器內,所以你直接呼叫也不會出現失效的情況了。
2.把你要用到的檔案放在WEB-INF外面
當然這個不推薦啦,不是很安全,如果你只是做練習的話還是可以試試的