JSP執行過程html
在轉譯後的Servlet的源代碼中(.java),存在_jspService的方法,該方法將JSP中的java代碼原封不動地翻譯出來,而其中的html則經過out.write("<html標籤>\r\n")這樣的方法翻譯出來;java
JSP聲明<%! java代碼%>;JSP註釋<%--註釋內容--%>;web
JSP指令:jsp
基本的語法格式<%@ 指令 屬性名= ‘值’ %>spa
JSP有3大指令:翻譯
經常使用屬性:code
import屬性,引入多個包和類,之間用逗號隔開;注:Jsp頁面默認自動導入的包有java.lang.*,javax.servlet.*,javax.servlet.jsp.*,javax.servlet.http.*;xml
errorPage屬性,指明當出錯後所跳轉的頁面,其中「/」表示 WEB程序的根目錄;也能夠在web.xml中設置好其出錯後的處理方式,不過其優先級低於errorPage指令;htm
如若使用web.xml設置出錯處理方式,是經過<error-page>標籤實現的,該標籤有3個子元素:<error-code>:(指定錯誤狀態碼)、<exception-type>:(指定異常類的徹底限定名)、<location>(指定處理的跳轉頁面);對象
isErrorPage屬性,默認狀況下的false狀態,能夠在錯誤頁面中設置爲true,其做用_jspService方法中會多提供聲明一個exception對象,可經過該對象獲取錯誤信息,如:
<body> 異常信息以下:<%=exception.getMessage()%>
</body>
<%@include file="/xxx/xxx" %>
其中第一個「/」表示當前web應用;
與jsp:include指令加以區分,這個指令爲動態指令,其運行流程是將所include的文件運行後將結果返回;
<%@taglib uri="/xxx" prefix="xxx"%>
uri屬性:定位標籤庫描述符的位置。惟一標識和前綴相關的標籤庫描述符,能夠使用絕對或相對
prefix屬性:標籤的前綴,區分多個自定義標籤。不能夠使用保留前綴和空前綴,遵循XML命名空間的命名約定。