JSP Cheat Sheet - JavaWeb基礎學習速查表
JavaWeb學習速查表
整理JavaWeb學習中遇到的問題以及筆記,按分類編排
JSP基本語法 指令標識 - 指令碼標識 - JSP註釋 - 動作標識
JSP內建物件 JSP內建物件
JSP與JavaBean
Java Servlet
MVC
JSP連線資料庫
指令標識
指令標識用於設定整個JSP頁面範圍內都有效的相關資訊,是被伺服器解析執行的,不會產生任何內容輸出到網頁,對瀏覽器不可見。
<%@ 指令名 屬性1="屬性值1" 屬性2="屬性值2" …… %> <%@ page pageEncoding="utf-8" import="java.util.Date,java.text.SimpleDateFormat" %>
指令名:
page
page 是JSP頁面最常用的指令,用於定義整個JSP頁面的相關屬性,這些屬性在被解析成Servlet時會轉化位想要的Java程式碼,page一共有15個屬性。
- language 屬性 設定JSP頁面語言,目前只有Java
- extends 屬性 設定頁面繼承的Java類,不常用
- import 屬性 設定JSP匯入的類包(Java程式碼在呼叫API時,需要匯入相應的類包)
- pageEncoding 屬性 定義JSP頁面的編碼格式,指定檔案編碼
- contentType 屬性 設定JSP頁面的MIME型別和字元編碼
- session 屬性 設定是否使用http的session繪畫,bool型別
- buffer 屬性 設定JSPout輸出物件的緩衝區,預設8k,單位kb,建議8的倍數
- autoFlush 屬性 時間頁面緩衝自動重新整理,bool型別
- isErrorPage 屬性 設定當前JSP頁面為錯誤頁面,bool型別
- errorPage 屬性 指定錯誤頁面
include
include指令可以在一個JSP頁面中包含另一個JSP頁面,不過該指令時靜態包含,被包含檔案中內容會原樣包含到JSP頁面,無法編譯執行JSP程式碼。
語法:
include指令語法為<%@ include file="paht" %>
taglib
taglib指令表示宣告該頁面中所使用的標籤庫,同時引用標籤庫,並指定標籤字首。在頁面中引用標籤庫後,就可以通過字首來引用標籤庫中的標籤。
語法:
<% taglib prefix="tagPrefox" uri="tagURI" %>
eg:JSTL核心標籤庫
<% taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
指令碼標識
在JSP頁面中,指令碼標識能夠方便靈活的生產頁面中的動態內容,特別是Scriptlet指令碼程式。JSP指令碼標識包括3部分,JSP表示式(Expression),宣告識別符號(Declaration),指令碼程式(Scriptlet)。
JSP表示式
<%= 表示式 %>
引數說明:表示式可以是任何Java語言的完整表示式,該表示式的最終運算結果將被轉換為字串。
注意:<%
與=
之間不可以有空格
eg:
<%String manager="mr";%>
管理員:<%=manager%> //輸出 管理員:mr
JSP表示式不僅可以插入到網頁文字中,用於輸出內容,也可以插入到HTML標記中,設定動態屬性。
宣告標識
宣告標識用於在JSP頁面中定義全域性的變數或方法。通過宣告標識定義的變數和方法可以被整個JSP頁面訪問。
說明:伺服器執行JSP頁面時,會將JSP頁面轉換為Servlet類,在該類中會把使用JSP宣告標識定義的變數和方法轉換為類的成員變數和方法。
語法:
<%! 宣告變數或方法的程式碼 %>
注意:<%
與!
之間不可以有空格,程式碼塊可以換行
程式碼片段
在JSP頁面中嵌入的Java程式碼或是指令碼程式碼。通常用於頁面輸出內容,處理請求和響應,訪問session會話
語法:
<% 宣告變數或方法的程式碼 %>
注意:區別於程式碼片段,沒有!
註釋
JSP頁面由HTML,JSP,JAVA指令碼等組成,所以在其中可以使用多種註釋格式。
HTML註釋
HTML語言的註釋不會被顯示在網頁中,但是會顯示在網頁原始碼中
語法:
//註釋文字
JSP表示式註釋
在JSP頁面中可以嵌入程式碼片段,在程式碼片段中也可以加入註釋。
單行註釋語法:
//註釋文字
多行註釋語法:
/*
*註釋文字
*註釋文字
*每行內容前的*為了美觀對其,可以不用
*/
提示文件註釋
/*
提示資訊
會被Javadoc文件工具生成文件時讀取
*/
隱藏註釋
HTML型別註釋會被解析到HTML原始碼中,為了安全,可以使用JSP的隱藏註釋,只有在JSP原始碼中檢視,不會解析到HTML。
語法:
<%-- 註釋內容 --%>
動態註釋
由於HTML註釋對於JSP嵌入程式碼不起作用,可以使用他們的組合構成動態HTML註釋文字。
eg:<!--<%=new Date()%> -->
動作標識
動作標識一共有三種,分別是include包含檔案標識,forward請求轉發標識,param傳遞引數標識。
包含檔案標識
用於向當前頁面中包含其他的檔案,被包含的檔案可以時動態或者靜態檔案。
語法:
<jsp:include page="url" flush="false|true">
// 子動作標識<jsp:param>
</jsp:include>
引數說明:
- page:用於指定被包含檔案的相對路徑
- flush:可選屬性,用於設定是否重新整理快取區
-
<jsp:param>
:子動作標識,用於向被包含的動態頁面中傳遞引數
注意:
- 區別於include指令通過file屬性指定被包含的檔案,並且file屬性不支援任何表示式,
<jsp:include>
動作標識通過page屬性指定被吧汗的檔案,而且page屬性支援jsp表示式。 - include指令被包含的檔案內容會原封不動的插入到包含頁中,然後再便宜成一個最終java檔案,
<jsp:include>
動作標識包含檔案時,當該標識被執行時,程式會將請求轉發到被包含的頁面,會分別編譯。 - include中的變數名和方法名不允許衝突,
<jsp:include>
分別編譯,不衝突
請求轉發標識
通過<jsp:forward>
動作標識,可以將請求轉發到其他的web資源,例如一個jsp頁面,html頁面,servlet燈,執行請求轉發後,當前頁面將不再被執行,二是去執行該標識指定的目標頁面.
<jsp:forward page="url">
// 子動作標識<jsp:param>
</jsp:forward>
引數說明:
- page:用於指定請求轉發的目標頁面,可以是檔案路徑,也可以是是檔案路徑的jsp表示式,但限制當前應用中的資源
-
<jsp:param>
:子動作標識,用於向被包含的動態頁面中傳遞引數
傳遞引數標識
JSP的動作標識<jsp:param>
可以作為其他標識的子標識,用於其他標識傳遞引數。
<jap:param name = "userId" value="7" />
注意: 通過<jsp:param>
動作標識指定的引數,將以“引數名=值”
的形式加入到請求中,與在檔名後面直接加?引數名=值
是相同的。