JSP元素和標籤

1.JSP 的運行原理
 當服務器上的一個JSP 頁面被第一次請求執行時,服務器上的JSP引擎首先將JSP 頁面文件轉譯成一個java 文件,再將這個java 文件
編譯生成字節碼文件,而後經過執行字節碼文件響應客戶的請求,而當這個JSP 頁面再次被請求執行時,JSP 引擎將直接執行這個字節碼文件來響應客戶。
 字節碼文件的主要工做是:
 (1) 把 JSP 頁面中普通的HTML 標記符號(頁面的靜態部分)交給客戶的瀏覽器負責顯示。
 (2) 執行「<%」和「%>」之間的java 程序片(JSP 頁面中的動態部分),並把執行結果交給客戶的瀏覽器顯示。
 (3) 當多個客戶請求一個 JSP 頁面時,JSP 引擎爲每一個客戶啓動一個線程而不是啓動一個進程,
2.一個JSP 頁面可由5種元素組合而成:
 (1)普通的 HTML 標記符。
 (2)JSP 標籤:如,指令標籤、動做標籤。
 (3)變量和方法的聲明。
 在「<%!」和「%>」標記符號之間聲明變量和方法
 在「<%!」和「%>」之間聲明的變量在整個JSP 頁面內都有效。「<%!」和「%>」之間聲明的變量在整個JSP 頁面內都有效,因
 爲JSP 引擎將JSP 頁面轉譯成Java 文件時,將這些變量做爲類的成員變量。
 在「<%!」和「%>」之間聲明方法,該方法在整個JSP 頁面有效
 (4)Java 程序片。
 在「<%」和「%>」之間插入Java 程序片。JSP 引擎將JSP 頁面轉譯成Java 文件時,將各個程序片的這些變量做爲類中某個方法的
 變量,即局部變量。
 (5)Java 表達式。
 在「<%=」和「%>」之間插入一個表達式(注意:不可插入語句,「<%=」是一個完整的符號,「<%」和「=」之間不要有空格)
3.JSP 中的註釋
 (1) HTML 註釋:在標記符號「<!--」和「-->」之間加入註釋內容
 (2) JSP 註釋:在標記符號「<%--」和「--%>」之間加入註釋內容
4.JSP 指令標籤
 1.page 指令用來定義整個JSP 頁面的一些屬性和這些屬性的值。
 page 指令的格式:
  <%@ page 屬性1= 「屬性1的值」 屬性2=「屬性2的值」 ……%>
  屬性值老是用單引號或引號雙號括起來
  <%@ page contentType="text/html;charset=GB2312" %>
  1.language 屬性
   定義 JSP 頁面使用的腳本語言,該屬性的值目前只能取"java"
   <%@ page language="java" %>
   language 屬性的默認值是"java",即便你在JSP 頁面中沒有使用page 指令指定該屬性的值的話
  2.import 屬性
   該屬性的做用是爲 JSP 頁面引入Java 核心包中的類,這樣就能夠在JSP 頁面的程序片部分、變量及函數聲明部分、表達式部分使用包
  中的類。能夠爲該屬性指定多個值,該屬性的值能夠是Java 某包中的全部類或一個具體的類
  3.contentType 屬性
   定義 JSP 頁面響應的MIME(Multipurpose Internet Mail Extention)類型和JSP 頁面字符的編碼
   <%@ page contentType="text/html;charset=GB2312" %>
  4.session 屬性
   用於設置是否須要使用內置的 session 對象。
   session 的屬性值能夠是true 或false,session 屬性默認的屬性值是true。
  5.buffer 屬性
   內置輸出流對象 out 負責將服務器的某些信息或運行結果發送到客戶端顯示,buffer 屬性用來指定out 設置的緩衝區的大小或不使用緩衝區。
   buffer 屬性能夠取值 「none」,設置out 不使用緩衝區。Buffer 屬性的默認值是8kb
   <%@ page buffer= 「24kb」 %>
  6.auotFlush 屬性
   指定 out 的緩衝區被填滿時,緩衝區是否自動刷新
   auotFlush 能夠取值true 或false。auotFlush 屬性的默認值是true。當auotFlush 屬性取值false 時,若是out 的緩衝區填滿時,就會出現
  緩存溢出異常。當buffer 的值是 「none」時,auotFlush 的值就不能設置成false。
  7.isThreadSafe 屬性
   用來設置 JSP 頁面是否可多線程訪問。
   isThreadSafe 的屬性值取true 或false。當isThreadSafe 屬性值設置爲true 時,JSP 頁面能同時響應多個客戶的請求;當isThreadSafe 屬
  性值設置成false 時,JSP 頁面同一時刻只能處理響應一個客戶的請求,其餘客戶需排隊等待。isThreadSafe 屬性的默認值是true。
  8.info 屬性
   該屬性爲 JSP 頁面準備一個字符串,屬性值是某個字符串
   <%@ page info= 「we are students」 %>
   能夠在 JSP 頁面中使用方法:getServletInfo();獲取 info 屬性的屬性值。
 注意:page 指令只能給import 屬性指定多個值;其它屬性只能指定一個值。
 2.include 指令標籤
 格式:
  <%@ include file= 「文件的名字」 %>
 做用:
  是在 JSP 頁面出現該指令的位置處,靜態插入一個文件。被插入的文件必須是可訪問和可以使用的,即該文件必須和
 當前JSP 頁面在同一Web 服務目錄中。所謂靜態插入,就是當前JSP頁面和插入的部分合併成一個新的JSP 頁面,而後JSP 引擎再將這個
 新的JSP 頁面轉譯成Java 類文件。所以,插入文件後,必須保證新合併成的JSP 頁面符合JSP 語法規則,即可以成爲一個JSP 頁面文件。html

5.JSP 動做標籤
 動做標籤是一種特殊的標籤,它影響JSP 運行時的功能。
 1.include 動做標籤
 格式:
  <jsp:include page= 「文件的名字」/>或<jsp:include page= 「文件的名字」></jsp:include>
  該動做標籤告訴 JSP 頁面動態包含一個文件,即JSP 頁面運行時纔將文件加入。與靜態插入文件的include 指令標籤不一樣,當JSP 引
 擎把JSP 頁面轉譯成Java 文件時,不把JSP 頁面中動做指令include所包含的文件與原JSP 頁面合併一個新的JSP 頁面,而是告訴Java
 解釋器,這個文件在JSP 運行時(Java 文件的字節碼文件被加載執行)才包含進來。若是包含的文件是普通的文本文件,就將文件的內容發
 送到客戶端,由客戶端負責顯示;若是包含的文件是jsp 文件,JSP引擎就執行這個文件,而後將執行的結果發送到客戶端,並由客戶端負責顯示這些結果。
 2.param 動做標籤
  param 標籤以「名字—值」對的形式爲其它標籤提供附加信息,這個標籤與jsp:include、jsp:forward、jsp:plugin 標籤一塊兒使用。
 param 動做標籤:
  <jsp:param name= 「名字」 value= 「指定給param 的值」>
  當該標籤與 jsp:include 標籤一塊兒使用時,能夠將param 標籤中的值傳遞到include 指令要加載的文件中去,所以include 動做標籤若是
 結合param 標籤,能夠在加載文件的過程當中向該文件提供信息
  <jsp:include page="tom.jsp">
   <jsp:param name="computer" value="300" />
  </jsp:include>
 3.forward 動做標籤
 forwar 指令:
  <jsp:forward page="要轉向的頁面" ></jsp:forward>或<jsp:forward page="要轉向的頁面" />
 做用是:從該指令處中止當前頁面的繼續執行,而轉向其它的一個JSP 頁面
 該指令也能夠結合param 指令,向要轉到的頁面傳送信息。
 <jsp:forward page="come.jsp" >
  <jsp:param name="number" value="12345" />
 </jsp:forward>
 4.plugin 動做標籤
  在頁面中使用普通的HTML 標記<apple ….></apple>可讓客戶下載運行一個java applet 小應用程序,但並非全部的客戶的瀏覽器
 都支持java apple 小程序。使用plugin 動做標籤能夠保證客戶能執行你的小應用程序。
 該動做標籤指示 JSP 頁面加載java plugin,該插件由客戶負責下載,並使用該插件來運行Java applet。
 Plugin 動做標籤:
 <jsp:plugin type="applet" code="小應用程序的字節碼文件" jreversion="java 虛擬機版本號" width=" 小程序寬度值" height="小程序高度值" >
  <jsp:fallback>
   提示信息:用來提示用戶的瀏覽器是否支持插件下載
  </jsp:fallback>
 </jsp:plugin>
 5.useBean 動做標籤
 該標籤用來建立並使用一個java beans,是很是重要的一個動做標籤
java

相關文章
相關標籤/搜索