當(dāng)前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
JSP程序设计实训(五)——JSP基本语法(一)
生活随笔
收集整理的這篇文章主要介紹了
JSP程序设计实训(五)——JSP基本语法(一)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
上一篇:JSP程序設(shè)計實(shí)訓(xùn)(四)——CSS基本知識
下一篇:JSP程序設(shè)計實(shí)訓(xùn)(五)——JSP基本語法(二)
JSP基本語法
- JSP基本語法的學(xué)習(xí)包括JSP頁面的基本結(jié)構(gòu)、JSP的腳本元素、JSP的指令和JSP的常用動作。
1. JSP頁面的基本結(jié)構(gòu)
- 一個JSP頁面是通過在HTML標(biāo)簽的基礎(chǔ)上嵌入JSP動作和指令、CSS、Java變量和方法(Java代碼段)、其他腳本元素(如JavaScript)等組成的。實(shí)際上,JSP基本元素為了和HTML的標(biāo)簽進(jìn)行區(qū)別,JSP標(biāo)記都以"<%"或"<jsp"開頭,以"%>"或">"結(jié)尾。舉個例子:
- 在上面代碼示例中,第一行是JSP的 page 指令,他描述JSP文件轉(zhuǎn)換成JSP服務(wù)器所能執(zhí)行的 java 代碼時使用的控制信息,如“contentType”用于指定內(nèi)容類型,“pageEncoding”用于指定頁面的編碼方式。JSP中的聲明以"<%!"或"<%"開頭,以"%>"結(jié)尾。"<%= sum %>"是表達(dá)式,在JSP中表達(dá)式以"<%="開頭,以"%>"結(jié)尾。
2. JSP的腳本元素
- 在JSP頁面中,經(jīng)常使用JSP的變量、方法、表達(dá)式、腳本、注釋來實(shí)現(xiàn)一些功能,下面分別介紹這些基本元素的使用。
(1)變量和方法的聲明
- 在JSP頁面中可以聲明一個或多個符合java規(guī)范的合法變量和方法,聲明的變量和方法將在JSP頁面使用,并將在JSP頁面初始化時被初始化。JSP中聲明的語法格式如:<%!語句1;語句2;...[語句n]%>
- 需要注意的是,聲明以"<%!"或"<%"開頭,以"%>"結(jié)尾;一個聲明僅在一個頁面中生效;可以直接使用在<%@ page%>中被包含起來的已經(jīng)聲明的變量和方法,不需要對其重新聲明;如果想在每個頁面都使用某些聲明,最好把他們寫成一個獨(dú)立的文件,然后用"<%@ include%>"指令或"<jsp:include>"動作包含起來。
(2)表達(dá)式
- JSP允許在"<%="和"%>"之間插入一個表達(dá)式,表達(dá)式由變量、常量、運(yùn)算符組成。表達(dá)式可以將數(shù)據(jù)轉(zhuǎn)換成一個字符串并直接在網(wǎng)頁上輸出。表達(dá)式的語法格式為:<%=表達(dá)式%>
- JSP的表達(dá)式?jīng)]有分號。表達(dá)式常用在向頁面輸出內(nèi)容、生成動態(tài)鏈接地址、動態(tài)指定 form 表單處理頁面。注意,在"<%"與"="之間不能有空格。
(3)腳本
- JSP腳本是一段Java代碼,在請求期間執(zhí)行,可以使用JSP頁面誰定義的變量、方法、表達(dá)式或者JavaBean。腳本定義的變量和方法在當(dāng)前整個頁面內(nèi)有效,但不會被其他線程共享,用戶對該變量的作用不會影響其他用戶,當(dāng)變量所在頁面關(guān)閉時該變量就會被銷毀。
(4)注釋
- 程序中注釋的作用是提高程序的可讀性、可維護(hù)性和可擴(kuò)展性。在JSP中注釋有3種類型:隱藏注釋、Java注釋和HTML注釋。
4.1:隱藏注釋- 隱藏注釋是JSP的標(biāo)準(zhǔn)注釋,寫在JSP程序中,用于描述和說明JSP程序代碼,在發(fā)布JSP網(wǎng)頁時完全被忽略,也不會輸送到客戶瀏覽器上,即JSP頁面運(yùn)行后頁面上看不到注釋內(nèi)容,且查看源文件(在客戶端上)也看不到注釋內(nèi)容。其語法格式為:<%-- 注釋語句 --%>。
- 舉個例子:
4.2:Java注釋
- Java注釋與隱藏注釋相似,在發(fā)布網(wǎng)頁時不會在頁面上顯示,在瀏覽器的源文件中也看不到注釋內(nèi)容。其語法格式為:<%/* 注釋內(nèi)容 */%>或<%// 注釋內(nèi)容 %>
4.3:HTML注釋
- 在發(fā)布網(wǎng)頁時可以在瀏覽器源文件窗口中看到HTML注釋,即注釋的內(nèi)容會被訴訟到客戶端瀏覽器中,但是不會在頁面上顯示。該類注釋中也可以使用JSP表達(dá)式。其語法格式為:<!-- 注釋語句[<%= 表達(dá)式 %>] -->。注意,在源文件上看到的是表達(dá)式結(jié)果,而不是表達(dá)式本身。
- 舉個例子:
- 在源文件中顯示為:
3. JSP的指令
- 指令用來描述JSP文件轉(zhuǎn)換成JSP服務(wù)器所能執(zhí)行的Java代碼時使用的控制信息,用于指定整個JSP頁面的相關(guān)信息,并設(shè)置JSP頁面的相關(guān)屬性。常用的JSP指令有 page 指令、 include 指令和 taglib 指令。
(1)page 指令
- page 指令用來定義JSP文件中的全局屬性,它描述了與頁面相關(guān)的一些信息,其作用域?yàn)樗诘腏SP頁面和其包含的文件。頁面指令一般位于JSP頁面的頂端,但是可以放在JSP頁面的任何位置。在同一個JSP頁面中可以有多個 page 指令,在使用多個 page 指令時,其屬性處理 import 外只能使用一次。page 指令的語法格式如下:
1.1:language 屬性
- language 屬性用于指定JSP頁面中使用的腳本語言,其默認(rèn)值為Java。根據(jù)JSP 2.0規(guī)范,目前只可以使用Java語言,如果使用其他語言則會產(chǎn)生異常。
1.2:extends 屬性
- extends 屬性用于指定JSP編譯器父類的完整限定名,此JSP頁面產(chǎn)生的 Servlet 將由該父類擴(kuò)展而來。例如:<%@page extends = "javax.servlet.http.HttpServlet"%>。一般不建議使用該屬性。JSP容器可以提供專用的高性能父類,如果指定父類,可能會限制JSP容器本身具有的能力。
1.3:import 屬性
- import 屬性用于導(dǎo)入JSP頁面使用的Java API類庫。import 屬性是所有 page 屬性中唯一可以多吃設(shè)置的屬性,用來指定JSP頁面中所用到的類。如果需要在一個 JSP 頁面中同時導(dǎo)入多個Java包,可以逐一說明,也可以使用逗號分隔。
1.4:session 屬性
- session 屬性用于指定是否可以使用 session 對象,若允許頁面參與HTTP會話,就設(shè)置為true,否則設(shè)為false,其默認(rèn)為 true。
1.5:buffer 屬性
- buffer 屬性用于設(shè)定頁面的緩沖區(qū)大小(字節(jié)數(shù)),屬性值為 none 時表示禁用緩沖區(qū),其默認(rèn)值為8KB。
1.6:autoFlush 屬性
- autoFlush 屬性用于指定JSP頁面緩沖區(qū)是否自動刷新輸出,默認(rèn)值為true。如果該屬性值為true,則頁面緩沖區(qū)滿時自動刷新輸出;否則,當(dāng)頁面緩存區(qū)滿時拋出一個異常。
1.7:isThreadSafe 屬性
- isThreadSafe 屬性用于指定JSP頁面是否能夠處理一個以上的請求,如果為 true,則該頁面可能同時收到JSP引擎發(fā)出的多個請求;反之,JSP引擎會對收到的請求進(jìn)行排隊,當(dāng)前頁面在同一時刻只能處理一個請求。其默認(rèn)值為 true。建議將該屬性設(shè)置為 true,確保頁面使用的所有對象都是線程安全的。
1.8:info 屬性
- info 屬性用于指定JSP頁面的相關(guān)信息文本,無默認(rèn)值。
1.9:errorPage 屬性
- errorPage 屬性用于指定錯誤頁面。當(dāng)頁面出現(xiàn)一個未被捕獲的異常時,錯誤信息將被 throw 語句拋出,而被設(shè)置為錯誤信息網(wǎng)頁的JSP頁面將利用 exception 隱含對象獲取錯誤信息。relativeURL 默認(rèn)設(shè)置為空,即沒有錯誤處理頁面。
1.10:contentType 屬性
- contentType 屬性用于指定內(nèi)容 MIME 類型和JSP頁面的編碼方式。對于普通JSP頁面,默認(rèn)的contentType 屬性值為“text/html;charset=ISO-8859-1”
1.11:pageEncoding 屬性
- pageEncoding 屬性用于指定JSP頁面的編碼方式,默認(rèn)值為ISO-8859-1。
1.12:isErrorPage 屬性
- isErrorPage 屬性指定JSP頁面是否為處理異常錯誤的頁面,其默認(rèn)值為 false。如果將 isErrorPage 屬性設(shè)置為 true,則固有的 exception 對象腳本元素可用。
(2)include 指令
- include 指令用于在當(dāng)前JSP頁面中加載需要插入的文件代碼,即為頁面插入一個靜態(tài)文件,如JSP頁面、HTML頁面、文本文件或一段Java程序,這些加載的代碼和原有的JSP代碼合并成一個新的JSP文件。include 指令的語法格式如下:<%@include file="文件名"%>。其中,文件名指被包含的文件,include 指令只有一個 file 屬性,該屬性用于指定插入的包含文件的相對路徑,無默認(rèn)值。
- 在JSP中用 include 指令包含一個靜態(tài)文件,同時解析這個文件中的JSP語句。使用JSP的 include 指令有助于實(shí)現(xiàn)JSP頁面的模塊化。
(3)taglib 指令
- taglib 屬性用來自動頁面中使用的標(biāo)簽庫以及自定義標(biāo)簽的前綴,taglib 指令語法格式為:<@%taglib uri="tagLibraryURI" prefix="tagPrefix"%>。
3.1:uri 屬性
- uri(統(tǒng)一資源標(biāo)識符)屬性用于指定標(biāo)記庫的存放位置,并告訴JSP引擎在編譯JSP程序時如何處理指定標(biāo)簽庫中的標(biāo)簽,無默認(rèn)值。uri 屬性可以是 TLD(標(biāo)記庫描述符)文件或web.xml 文件中定義的標(biāo)記庫的符號,也可以是TLD 文件或 JAR 文件的相對路徑。
3.2:prefix 屬性
- prefix 屬性用于指定標(biāo)記庫中所有動作元素名中使用的前綴,無默認(rèn)值。
參考書籍:馬軍霞、張志鋒、皇安偉等編著的《JSP程序設(shè)計實(shí)訓(xùn)與案列教程》第二版
總結(jié)
以上是生活随笔為你收集整理的JSP程序设计实训(五)——JSP基本语法(一)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前端学习(2612):getter计算
- 下一篇: SpringBoot笔记