1. 程式人生 > >WEB-INF目錄

WEB-INF目錄

一、WEB-INF是Java的WEB應用的安全目錄,只能通過服務端訪問(servlet,controller或action之類的)。

1、servlet跳轉web-inf目錄下的頁面

//重定向(url改變,不能傳遞引數)
response.sendRedirect("/WEB-INF/index.html");
//轉發(url不變,可以傳遞引數)
RequestDispatcher dispatcher=request.getRequestDispatcher("/WEB-INF//index.html");
dispatcher.forward(request, response);

2、controller、action等框架內的跳轉(以後整理)

二、WEB-INF目錄內的頁面引入靜態資源

由於js、css等靜態資源一般都是直接引入,所以一般不放入WEB-INF目錄內,而是放到和WEB-INF同級的目錄下(webapps目錄下)。

以下提供相對路徑引入和絕對路徑引入兩種方法,最好使用絕對路徑引入(簡單明瞭):

1、相對路徑引入:

注意目錄層級的問題,這裡不能根據專案中的真實路徑去判斷往回返回幾層,而是根據專案的訪問路徑進行判斷

比如當前的url是http://localhost:8080/projectName/login,這裡需要引入的資源訪問路徑是http://localhost:8080/projectName/bootstrap-3.3.7/css/bootstrap.css

,所以下面示例的引入並沒有返回上一級(../)。


<link rel="stylesheet" href="./bootstrap-3.3.7/css/bootstrap.css" >
<script src="./jquery-3.2.1.js"></script>

2、絕對路徑引入

此方法一般適用於jsp頁面,html頁面使用c:set標籤好像需要引入什麼庫(具體自行百度)

<c:set value="${pageContext.request.contextPath}" var="path" scope="page"/> 
<script type="text/javascript" src="${path}/js/jquery-1.8.1.min.js"></script> 
<script type="text/javascript" src="${path}/js/jquery.datepick.js"></script> 
<script type="text/javascript" src="${path}/js/jquery.datepick-zh-CN.js"></script> 
<link type="text/css" href="${path}/css/smoothness.datepick.css" rel="stylesheet">