Java Server Pages,服務器端負責頁面展現的技術,能夠嵌套java語言,以取代使用Servlet生成頁面的方式,底層被轉化爲Servlet。java
依靠自身就能惟一肯定資源的路徑,內容上以協議開頭,如在HTTP請求中以http開頭。瀏覽器
必須依賴其餘路徑才能惟一肯定資源的路徑,內容上不以協議開頭。安全
訪問路徑+資源名稱,資源名稱是最後一個「/」後面的內容,其他是訪問路徑。服務器
放在WEB-INF目錄下的資源只能經過程序轉發訪問,沒法經過瀏覽器直接訪問,比較安全。重定向執行時是將地址發給瀏覽器,由瀏覽器發出請求,所以程序內部的重定向也沒法直接訪問WEB-INF目錄下的資源。
在WEB-INF目錄下的資源內部只能採用相對於服務器的路徑,不能採用相對於當前資源訪問路徑的路徑,即只能採用以下路徑形式:session
${pageContext.request.contextPath}/xxx
全部的重定向只能採用相對於服務器的路徑形式,由於重定向能夠訪問其餘項目中的資源,路徑的起點是服務器。根據地址欄地址的變化,HTML頁面、JSP頁面中的全部請求均可以看作重定向,全部的路徑均必須採用相對於服務器的形式。app
全部的轉發只能採用相對於項目的路徑形式,由於轉發只能訪問同一項目內的資源。jsp
用於設定在整個JSP頁面內都有效的信息,指令標識的語法格式:編碼
<%@ tagName attr="value"...%>
JSP中有三種指令標識:url
主要用到的屬性有:spa
<%@ include file="path"%>
靜態包含,用於將一個JSP頁面包含在當前頁面中。所謂靜態包含指的是,被包含的JSP頁面原樣呈如今包含頁面中,與包含頁面生成同一Servlet。
<%@ taglib prefix="c"uri=""%>
用於引入標籤庫到當前頁面,使用指定的前綴引用標籤庫中的標籤。
JSP中有3個動做標識:
動態包含,用於將一個JSP頁面包含在當前頁面中。所謂動態包含指的是,被包含頁面經編譯後呈如今當前頁面中,包含頁面與被包含頁面各自生成一個Servlet。
<jsp:forward page="url"/>
用於頁面跳轉。
<jsp:param name="paramName"value="paramValue>
與<jsp:forward>標識結合使用,用於在頁面跳轉時傳遞請求參數。
在JSP頁面能夠插入java代碼,插入的3種形式: