JSP指令碼元素
為了更好的理解JSP,我從網上收集了有關JSP指令碼元素的相關資料如下:
指令碼元素:將Java程式碼插入到與jsp頁面對應的servlet(n.小服務程式)中
JSP指令碼元素的3種形式:1.表示式,2.Scriptlet(n.小指令碼),3.宣告。
------------------------------------------------------------------------------------------
1.JSP表示式標準語法:
<%=JAVA表示式 %> 如: <%=a+b%> <%-- 輸出a+b的值 --%>
JSP表示式xml語法:
<jsp:expression>JAVA表示式</jsp:expression> 如: <jsp:expression>a+b</jsp:expression>
2.JSP表示式後面不加分號;
3.操作後的結果將轉換為字串,插入到當前servlet(n.小指令碼)的輸入流中
4.JSP表示式將生成Servlet(n.小指令碼)的print語句,HTML轉換為print語句時,使用雙引號將文字引起來。
JSP表示式轉換為沒有雙引號的print語句。
5.這些語句都會放入_jspService方法中,無論doGet還是doPost都呼叫該_jspService方法。
------------------------------------------------------------------------------------------
Scriptlet(指令碼段): 將Java程式碼插入到servlet(n.小指令碼)的_jspService方法中。
1,Scriptlet標準語法:
<%java程式碼 %>
Scriptlet的xml語法格式:
<jsp:scriptlet> scriptlet </jsp:scriptlet>
2,scriptlet語句後面要加分號。
3,Scriptlet可以訪問到表示式能夠訪問的所有自動定義變數。
4,Scriptlet程式碼會按出現的次序插入到_jspService方法中。
5,在Scriptlet中宣告的變數都轉譯為_jspService方法中的本地變數。所以變數是執行緒安全的。
------------------------------------------------------------------------------------------
宣告(declaration):將方法或欄位定義插入到servlet類的主定義體中(_jspService方法除外)。
1,宣告的語法:
<%!可在此處進行變數、類、方法的宣告%>
宣告的xml語法格式:
<jsp:declaration>可在此處進行變數、類、方法的宣告</jsp:declaration>
2,宣告只在當前JSP頁面中有效。
3,宣告不產生輸出。
4,不要使用JSP宣告覆蓋Servlet的(service方法)。
5,可以使用JSP宣告覆蓋jspInit或jspDestroy方法來初始化和銷燬JSP頁面,而不要直接使用init和destroy方法。
注意:這裡是jspInit和jspDestroy而不是_jspInit和_jspDestroy方法。
JSP容器會在呼叫_jspInit和_jspDestroy方法後呼叫自定義的jspInit和jspDestroy方法。
------------------------------------------------------------------------------------------
表示式,Scriptlet,宣告的比較
語法:
Scriptlet 和 宣告都是java語句,而JSP表示式只是表示式。一個完整的語句需要分號表示結束,而表示式不需要。
Java程式碼插入位置:
表示式: _jspService方法的輸出流的print方法中;
Scriptlet : _jspService方法體中對應的位置。
宣告: servlet類的主定義體中(_jspService方法除外);
變數訪問範圍:
表示式: 可以訪問serlvet類中的類的域和_jspService方法中的區域性變數。
Scriptlet: 同表示式。
宣告: 不能訪問宣告外的區域性變數,比如_jspService方法中的區域性變數(隱含物件)。
執行緒安全性:
表示式和Scriptlet是執行緒安全的。
宣告是執行緒不安全的。
------------------------------------------------------------------------------------------
指令碼元素:將Java程式碼插入到與jsp頁面對應的servlet(n.小服務程式)中
JSP指令碼元素的3種形式:1.表示式,2.Scriptlet(n.小指令碼),3.宣告。
------------------------------------------------------------------------------------------
1.JSP表示式標準語法:
<%=JAVA表示式 %> 如: <%=a+b%> <%-- 輸出a+b的值 --%>
JSP表示式xml語法:
<jsp:expression>JAVA表示式</jsp:expression> 如: <jsp:expression>a+b</jsp:expression>
2.JSP表示式後面不加分號;
3.操作後的結果將轉換為字串,插入到當前servlet(n.小指令碼)的輸入流中
4.JSP表示式將生成Servlet(n.小指令碼)的print語句,HTML轉換為print語句時,使用雙引號將文字引起來。
JSP表示式轉換為沒有雙引號的print語句。
5.這些語句都會放入_jspService方法中,無論doGet還是doPost都呼叫該_jspService方法。
------------------------------------------------------------------------------------------
Scriptlet(指令碼段): 將Java程式碼插入到servlet(n.小指令碼)的_jspService方法中。
1,Scriptlet標準語法:
<%java程式碼 %>
Scriptlet的xml語法格式:
<jsp:scriptlet> scriptlet </jsp:scriptlet>
2,scriptlet語句後面要加分號。
3,Scriptlet可以訪問到表示式能夠訪問的所有自動定義變數。
4,Scriptlet程式碼會按出現的次序插入到_jspService方法中。
5,在Scriptlet中宣告的變數都轉譯為_jspService方法中的本地變數。所以變數是執行緒安全的。
------------------------------------------------------------------------------------------
宣告(declaration):將方法或欄位定義插入到servlet類的主定義體中(_jspService方法除外)。
1,宣告的語法:
<%!可在此處進行變數、類、方法的宣告%>
宣告的xml語法格式:
<jsp:declaration>可在此處進行變數、類、方法的宣告</jsp:declaration>
2,宣告只在當前JSP頁面中有效。
3,宣告不產生輸出。
4,不要使用JSP宣告覆蓋Servlet的(service方法)。
5,可以使用JSP宣告覆蓋jspInit或jspDestroy方法來初始化和銷燬JSP頁面,而不要直接使用init和destroy方法。
注意:這裡是jspInit和jspDestroy而不是_jspInit和_jspDestroy方法。
JSP容器會在呼叫_jspInit和_jspDestroy方法後呼叫自定義的jspInit和jspDestroy方法。
------------------------------------------------------------------------------------------
表示式,Scriptlet,宣告的比較
語法:
Scriptlet 和 宣告都是java語句,而JSP表示式只是表示式。一個完整的語句需要分號表示結束,而表示式不需要。
Java程式碼插入位置:
表示式: _jspService方法的輸出流的print方法中;
Scriptlet : _jspService方法體中對應的位置。
宣告: servlet類的主定義體中(_jspService方法除外);
變數訪問範圍:
表示式: 可以訪問serlvet類中的類的域和_jspService方法中的區域性變數。
Scriptlet: 同表示式。
宣告: 不能訪問宣告外的區域性變數,比如_jspService方法中的區域性變數(隱含物件)。
執行緒安全性:
表示式和Scriptlet是執行緒安全的。
宣告是執行緒不安全的。
------------------------------------------------------------------------------------------
相關文章
- jsp forward 指令JSForward
- JSP指令學習JS
- new/類/null/+/PrimitiveValue/valueOf/toString/環境/HTML 指令碼元素屬性NullMITHTML指令碼
- BSP和JSP裡的UI元素ID生成邏輯JSUI
- SVG <path> 元素A指令繪製弧線SVG
- 庫物件指令碼抽取指令碼物件指令碼
- JSP九大內建物件解析、JSP指令(page、include)、靜態聯編概述JS物件
- jsp 中文亂碼急救JS
- include jsp 中文亂碼JS
- 巧用shell指令碼生成快捷指令碼指令碼
- 生成insert指令碼的指令碼指令碼
- jsp中include指令和include動作的區別JS
- JSP自定義標籤開發+TLD檔案元素詳解JS
- 密碼指令碼密碼指令碼
- [指令碼例項]——統計系統資訊指令碼指令碼
- 前端js指令碼與防止js指令碼前端JS指令碼
- JSP第一篇【JSP介紹、工作原理、生命週期、語法、指令、行為】JS
- jsp亂碼解決大全JS
- jsp的編碼問題JS
- 20160331javaweb 之JSP page 指令JavaWebJS
- 請假banq老師:關於JSP中include指令的疑惑JS
- iOS逆向 Shell指令碼+指令碼重簽名iOS指令碼
- 常用指令碼學習手冊——Bat指令碼指令碼BAT
- Shell指令碼匯入外部指令碼內容指令碼
- 指令碼新選擇——用C做指令碼指令碼
- SAP BSP和JSP頁面裡UI元素的ID生成邏輯JSUI
- perl指令碼指令碼
- Bash指令碼指令碼
- java 指令碼Java指令碼
- JMeter指令碼JMeter指令碼
- MySQL指令碼MySql指令碼
- 常用指令碼指令碼
- ora 指令碼指令碼
- 指令碼1指令碼
- sftp指令碼FTP指令碼
- lnmp指令碼LNMP指令碼
- 指令碼綜合指令碼
- Runstats 指令碼指令碼