1. 程式人生 > >jsp放在web-inf下訪問靜態資源

jsp放在web-inf下訪問靜態資源

這裡寫圖片描述
web-inf目錄是不對外開放的,外部沒辦法直接訪問到。所有隻能通過對映來訪問,比如對映為一個action或者servlet通過伺服器端跳轉來訪問到具體的頁面。這樣可以限制訪問,提高安全性。

1、把頁面資原始檔只能放在webroot或WebContent下面,如 CSS,JS,image等.放在WEB-INF下直接引用不了,可以通過統一的攔截器攔截靜態資源,當有請求過來時,forward至靜態源。。
2、只能用轉發方式來訪問WEB-INF目錄下的JSP,不用採用重定向的方式請求該目錄裡面的任何資源
3、WEB-INF目錄下檔案訪問資原始檔時,可以忽略WEB-INF這一層目

錄.如index.jsp 要用css目錄裡的一個css檔案. <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);