jsp放在web-inf下訪問靜態資源
阿新 • • 發佈:2019-01-09
web-inf目錄是不對外開放的,外部沒辦法直接訪問到。所有隻能通過對映來訪問,比如對映為一個action或者servlet通過伺服器端跳轉來訪問到具體的頁面。這樣可以限制訪問,提高安全性。
1、把頁面資原始檔只能放在webroot或WebContent下面,如 CSS,JS,image等.放在WEB-INF下直接引用不了,可以通過統一的攔截器攔截靜態資源,當有請求過來時,forward至靜態源。。
2、只能用轉發方式來訪問WEB-INF目錄下的JSP,不用採用重定向的方式請求該目錄裡面的任何資源。
3、WEB-INF目錄下檔案訪問資原始檔時,可以忽略WEB-INF這一層目
<link rel="StyleSheet" href="../css/index.css" type="text/css" />
這樣就行了。 4、WEB-INF目錄下的檔案之間如何訪問呢.可以通過action和servlet轉發跳轉,例如
<jsp:forward page ="/WEB-INF/jsp/test/test.jsp" />或者
request.getRequestDispatcher("/WEB-INF/a.jsp").forward(request,response);