JSP是能夠內嵌在網頁中,由服務器端來執行與解釋的程序,是一種動態網頁技術標準。html
在傳統的HTML文件(*.htm或*.html)中加入Java程序片斷和JSP標記,就構成了JSP網頁(*.jsp)。程序員
1、JSP和客戶端的交互是經過HTTP協議實現的,通常狀況下,JSP的執行過程大體由以下幾步構成:express
(1)客戶端發出Request(請求)。瀏覽器
(2)JSP Container 將JSP轉譯成 Servlet 的源代碼。服務器
(3)將產生的 Servlet 的源代碼通過編譯後,加載到內存執行。
session
(4)把結果 Response (響應)至客戶端。
jsp
2、JSP頁面的組成元素學習
JSP(Java Server Pages),使用「<%」和 "%>"做爲程序的區段範圍的標記符號。this
JSP指令元素和腳本元素 | 說明 |
編譯器指令:<%@ 編譯器指令%> | 描述頁面的基本信息 |
聲明:<%! 聲明 %> | 插入到Servlet 類中,但置於所存在的方法以外 |
表達式:<%= 表達式 %> | 包含變量或常量,當頁面被請求時,會被計算,用來賦值和插入輸出 |
程序代碼:<% 程序代碼 %> | 包含一個代碼片斷,當頁面被請求時會被執行,插入到Servlet的service方法中 |
註釋:<%-- 註釋 --%> | 容許內嵌文檔註釋 |
1.編譯器指令編碼
1)page指令
主要功能是設定整個JSP網頁的屬性和相關功能。
基本語法以下:
<%@ page attribute1=」value1」 attribute2="value2" ...%>
屬性 | 說明 |
language="scriptingLanguage" | 指定JSP Container 要用什麼語言來編譯JSP網頁,默認值爲Java |
extends="className" | 指定此JSP網頁產生的Servlet是繼承哪一個父類 |
import="importList" | 指定此JSP網頁可使用哪些Java API |
session="true|false" | 指定此JSP網頁是否可使用session對象,默認值爲true |
buffer="none|size in kb" | 指定輸出流是否有緩衝區,默認值爲8KB的緩衝區 |
autoFlash="true|false" | 指定輸出流的緩衝區是否要自動清除,默認值爲true |
isThreadSafe="true|false" | 用於告訴JSP Container 此JSP網頁是否能處理超過一個以上的請求,默認值爲true |
info="text" | 表示此JSP網頁的相關信息 |
errorPage="error_url" | 表示若是發生異常錯誤,網頁會被從新指向的URL |
isErrorPage="true|false" | 表示此JSP網頁是否爲處理異常錯誤的網頁 |
contentType="ctinfo" | 表示MIME類型和JSP網頁的編碼方式 |
pageEncoding="ctinfo" | 表示JSP網頁的編碼方式 |
2)include指令
主要功能是在JSP編譯時插入一個包含文本或代碼的文件。包含的文件能夠是JSP網頁、HTML網頁、文本文件或一段Java程序。
基本語法以下:
<%@ include file = "relativeURLspec" %>
relativeURLspec表示此file的路徑。
3)taglib指令
主要功能是用戶自定義新的標籤。
基本語法以下:
<%@ taglib uri = "tagLibraryURI" prefix="tagPrefix" %>
其中uri ="tagLibraryURI" 用於說明tagLibrary的存放位置,而prefix="tagPrefix"表示自定義標籤的標識符,主要用來區分多個自定義標籤。
2.聲明
聲明合法的變量和方法。以<%! 爲起始,以%> 爲結尾,語法以下:
<%! delaration; [delaration;] + ... %>
例如: <%! int a,b,c; %>
注意!!!
(1)每個聲明僅在一個頁面中有效,若是須要每一個頁面都用到一些聲明,最好寫成一個單獨的JSP網頁,而後用<%@include %>等元素包含進來。
(2)用<%! %>聲明的爲全局變量。
3.表達式
基本語法以下:
<%= expression %>
這個表達式元素可以包含任何Java語法,有時候也做爲其餘JSP元素的屬性值。表達式在執行後會被自動轉化爲字符串,而後被直接包括在輸出頁面以內顯示出來。
4.程序代碼
一般主要的程序就是寫在這裏啦!
基本語法以下:
<% code fragment %>
包括多個語句、方法、變量、表達式。
5.註釋
客戶端顯示的註釋: <!--comment [<%=expression %>] -->
開發程序員專用的註釋: <%-- comment --> 或 </** this is a comment **/>
開發程序員專用的註釋在客戶端瀏覽器上看不出來,而且在JSP編譯時會被忽略。一般程序員能夠用它來調試(Debug)程序。
學習ing,持續更新中……