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