版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第2章JSP語法學(xué)習(xí)目的與要求本章主要介紹JSP腳本元素、JSP指令標記和JSP動作標記。通過本章的學(xué)習(xí),理解JSP頁面的組成部分,掌握JSP語法,能夠使用JSP開發(fā)Web頁面?!禞avaWeb開發(fā)從入門到實戰(zhàn)(微課視頻版)(IntelliJIDEA版)》陳恒
主編,清華大學(xué)出版社,2024
目錄《JavaWeb開發(fā)從入門到實戰(zhàn)(微課視頻版)(IntelliJIDEA版)》陳恒
主編,清華大學(xué)出版社,2024
2.1JSP頁面的基本構(gòu)成2.2JSP腳本元素2.3JSP指令標記2.4JSP動作標記2.1.1一個JSP頁面在HTML靜態(tài)頁面文件中加入和Java相關(guān)的動態(tài)元素,就構(gòu)成了一個JSP頁面。一個JSP頁面通常由4種基本元素組成:1.普通的HTML標記。2.JSP注釋。3.Java腳本元素,包括聲明、Java程序片和Java表達式。4.JSP標記,如指令標記、動作標記和自定義標記等。【例2-1】根據(jù)example2_1.jsp代碼中的注釋,識別JSP頁面的基本元素?!禞avaWeb開發(fā)從入門到實戰(zhàn)(微課視頻版)(IntelliJIDEA版)》陳恒
主編,清華大學(xué)出版社,2024
2.1.2JSP頁面注釋JSP頁面中常見的注釋有以下兩種:1.HTML注釋格式:<!--HTML注釋-->在標記符“<!--”和“-->”之間加入注釋內(nèi)容,就構(gòu)成了HTML注釋。JSP引擎對于HTML注釋也要進行處理,即不將它看作是注釋,如果其中有JSP代碼,也將被JSP引擎處理。JSP引擎將處理之后的HTML注釋交給客戶端,通過瀏覽器查看JSP源文件時,能夠看到HTML注釋。2.JSP注釋格式:<%--JSP注釋--%>在標記符“<%--”和“--%>”之間加入注釋內(nèi)容,就構(gòu)成了JSP注釋。JSP引擎將JSP注釋當(dāng)作是真正的注釋,在編譯JSP頁面時忽略這部分代碼。因此,通過瀏覽器查看JSP源文件時,無法看到JSP注釋?!禞avaWeb開發(fā)從入門到實戰(zhàn)(微課視頻版)(IntelliJIDEA版)》陳恒
主編,清華大學(xué)出版社,2024
2.1.3實踐環(huán)節(jié)——識別JSP頁面元素<%@pagelanguage="java"contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPEhtml><!--學(xué)習(xí)JSP頁面的基本構(gòu)成--><%! Stringcontent="JSP頁面基本構(gòu)成:";%><html><head><metacharset="UTF-8"><title>shijian2_1.jsp</title></head><body><%content=content+"HTML標記、JSP注釋、JSP標記以及Java腳本元素";%><%=content%></body></html>《JavaWeb開發(fā)從入門到實戰(zhàn)(微課視頻版)(IntelliJIDEA版)》陳恒
主編,清華大學(xué)出版社,2024
目錄《JavaWeb開發(fā)從入門到實戰(zhàn)(微課視頻版)(IntelliJIDEA版)》陳恒
主編,清華大學(xué)出版社,2024
2.1JSP頁面的基本構(gòu)成2.2JSP腳本元素2.3JSP指令標記2.4JSP動作標記2.2.1Java程序片在標記符“<%”和“%>”之間插入的Java代碼被稱作JSP頁面的Java程序片。Java程序片格式如下:<%Java代碼%>一個JSP頁面可以有任意段Java程序片,這些程序片將被JSP引擎(本書中指Tomcat服務(wù)器)按順序執(zhí)行。在一個程序片中聲明的變量稱為JSP頁面的局部變量,它們在JSP頁面后繼的所有程序片以及表達式內(nèi)都有效。當(dāng)多個客戶請求一個JSP頁面時,JSP引擎為每個客戶啟動一個線程,不同的線程會分別執(zhí)行該JSP頁面中的Java程序片,程序片中的局部變量會在不同的線程中被分配不同的內(nèi)存空間。因此,一個客戶對JSP頁面局部變量操作的結(jié)果,不會影響到其他客戶。Java程序片執(zhí)行原理如圖2.1所示。《JavaWeb開發(fā)從入門到實戰(zhàn)(微課視頻版)(IntelliJIDEA版)》陳恒
主編,清華大學(xué)出版社,2024
2.2.1Java程序片《JavaWeb開發(fā)從入門到實戰(zhàn)(微課視頻版)(IntelliJIDEA版)》陳恒
主編,清華大學(xué)出版社,2024
JSP頁面Java程序片局部變量客戶1線程客戶2線程客戶3線程JSP引擎Java程序片局部變量Java程序片局部變量Java程序片局部變量內(nèi)存圖2.1Java程序片執(zhí)行原理【例2-2】編寫1個JSP頁面example2_2.jsp,頁面中存在一段Java程序片,該程序片內(nèi)聲明了一個整型的局部變量n,初始值為0。2.2.2成員變量與方法的聲明<%!變量或方法定義%>在標記符“<%!”和“%>”之間聲明的變量被稱作JSP頁面的成員變量,它們可以是Java
語言允許的任何數(shù)據(jù)類型,例如:<%!intn=0;Datedate;%>成員變量在整個JSP頁面內(nèi)都有效(與書寫位置無關(guān)),因為JSP引擎將JSP頁面轉(zhuǎn)譯成Java
文件時,將這些變量作為類的成員變量,這些變量的內(nèi)存空間直到服務(wù)器關(guān)閉才釋放。因此,多個用戶共享JSP頁面的成員變量。任何用戶對JSP頁面成員變量操作的結(jié)果,都會影響到其他用戶?!禞avaWeb開發(fā)從入門到實戰(zhàn)(微課視頻版)(IntelliJIDEA版)》陳恒
主編,清華大學(xué)出版社,2024
2.2.2成員變量與方法的聲明在標記符“<%!”和“%>”之間聲明的方法被稱作JSP頁面的成員方法,該方法在整個JSP頁面內(nèi)有效,但是該方法內(nèi)定義的變量僅在該方法內(nèi)有效?!纠?-3】編寫1個JSP頁面example2_3.jsp,頁面中聲明一個成員變量n(初始值為0)和方法add(求兩個整數(shù)的和)。另外,頁面中還有一段Java程序片,在程序片中聲明一個局部變量m,并且對成員變量n和局部變量m分別進行自加?!禞avaWeb開發(fā)從入門到實戰(zhàn)(微課視頻版)(IntelliJIDEA版)》陳恒
主編,清華大學(xué)出版社,2024
2.2.3Java表達式在標記符“<%=”和“%>”之間可以插入一個表達式,這個表達式必須能求值。表達式的值由Web服務(wù)器負責(zé)計算,并將計算結(jié)果用字符串形式發(fā)送到客戶端,作為HTML頁面的內(nèi)容顯示。Java表達式中可以有算術(shù)表達式、邏輯表達式或條件表達式等。但使用Java表達式時,應(yīng)該注意以下兩點:1.不可在“<%=”和“%>”之間插入語句,即:輸入的內(nèi)容末尾不能以分號結(jié)束。2.“<%=”是一個完整的符號,“<%”和“=”之間不能有空格?!禞avaWeb開發(fā)從入門到實戰(zhàn)(微課視頻版)(IntelliJIDEA版)》陳恒
主編,清華大學(xué)出版社,2024
2.2.4實踐環(huán)節(jié)——在JSP頁面輸出英文字母表編寫1個JSP頁面,在JSP頁面中使用Java程序片輸出26個小寫的英文字母表。《JavaWeb開發(fā)從入門到實戰(zhàn)(微課視頻版)(IntelliJIDEA版)》陳恒
主編,清華大學(xué)出版社,2024
2.2.5實踐環(huán)節(jié)——網(wǎng)站訪問量的統(tǒng)計利用成員變量被所有客戶共享這一性質(zhì),實現(xiàn)一個簡單的計數(shù)器,頁面效果如圖2.3所示?!禞avaWeb開發(fā)從入門到實戰(zhàn)(微課視頻版)(IntelliJIDEA版)》陳恒
主編,清華大學(xué)出版社,2024
2.2.6實踐環(huán)節(jié)——打印表格在瀏覽器中輸出大小為15*10表格,頁面效果如圖2.4所示?!禞avaWeb開發(fā)從入門到實戰(zhàn)(微課視頻版)(IntelliJIDEA版)》陳恒
主編,清華大學(xué)出版社,2024
目錄《JavaWeb開發(fā)從入門到實戰(zhàn)(微課視頻版)(IntelliJIDEA版)》陳恒
主編,清華大學(xué)出版社,2024
2.1JSP頁面的基本構(gòu)成2.2JSP腳本元素2.3JSP指令標記2.4JSP動作標記2.3.1page指令page指令標記用來定義整個JSP頁面的一些屬性和這些屬性的值。可以用一個page指令指定多個屬性的值,也可以使用多個page指令分別為每個屬性指定值。page指令的格式如下:<%@page
屬性1="屬性1的值"屬性2="屬性2的值"…%>或者<%@page
屬性1="屬性1的值"%><%@page
屬性2="屬性2的值"%><%@page
屬性3="屬性3的值"%>….<%@page
屬性n="屬性n的值"%>page指令的主要屬性有contentType、import、language和pageEncoding等?!禞avaWeb開發(fā)從入門到實戰(zhàn)(微課視頻版)(IntelliJIDEA版)》陳恒
主編,清華大學(xué)出版社,2024
2.3.1page指令JSP頁面使用page指令標記只能為contentType屬性指定一個值,用來確定響應(yīng)的MIME類型(MIME類型就是設(shè)定某種文件用對應(yīng)的一種應(yīng)用程序來打開的方式類型)。當(dāng)用戶請求一個JSP頁面時,服務(wù)器會告訴瀏覽器使用contentType屬性指定的MIME類型來解釋執(zhí)行所接收到的服務(wù)器為之響應(yīng)信息。例如,瀏覽器使用word應(yīng)用程序打開用戶請求時,可以將contentType屬性值設(shè)置為:<%@page
contentType="application/msword;charset=UTF-8"%>常見的MIME類型有:text/html(HTML解析器,所謂的網(wǎng)頁形式)、text/plain(普通文本)、application/pdf(PDF文檔)、application/msword(word應(yīng)用程序)、image/jpeg(JPEG圖形)、image/png(PNG圖像)、image/gif(GIF圖形)以及application/vnd.ms-powerpoint(powerpoint應(yīng)用程序)?!禞avaWeb開發(fā)從入門到實戰(zhàn)(微課視頻版)(IntelliJIDEA版)》陳恒
主編,清華大學(xué)出版社,2024
2.3.1page指令2.屬性importJSP頁面使用page指令標記可為import屬性指定多個值,import屬性的作用是為JSP頁面引入包中的類,以便在JSP頁面的程序片、變量及方法聲明或表達式中使用包中的類。3.屬性languagelanguage屬性用來指定JSP頁面使用的腳本語言,目前該屬性的值只能取"java"。4.屬性pageEncodingcontentType中的charset是指服務(wù)器發(fā)送給客戶瀏覽器時所見到的網(wǎng)頁內(nèi)容的編碼;pageEncoding是指JSP文件自身存儲時所用的編碼。在JSP規(guī)范中,如果pageEncoding屬性存在,那么JSP頁面的字符編碼方式就由pageEncoding決定,否則就由contentType屬性中的charset決定,如果charset也不存在,JSP頁面的字符編碼方式就采用默認的ISO-8859-1?!禞avaWeb開發(fā)從入門到實戰(zhàn)(微課視頻版)(IntelliJIDEA版)》陳恒
主編,清華大學(xué)出版社,2024
2.3.2include指令include指令標記的作用就是將JSP文件、HTML網(wǎng)頁文件或其他文本文件靜態(tài)嵌入到當(dāng)前的JSP網(wǎng)頁中,該指令的語法格式如下:<%@includefile="文件的URL"%>所謂靜態(tài)嵌入就是“先包含后處理”,在編譯階段完成對文件的嵌入。即:先將當(dāng)前JSP頁面與要嵌入的文件合并成一個新的JSP頁面,然后再由JSP引擎將新頁面轉(zhuǎn)化為Java文件處理并運行?!禞avaWeb開發(fā)從入門到實戰(zhàn)(微課視頻版)(IntelliJIDEA版)》陳恒
主編,清華大學(xué)出版社,2024
2.3.2include指令【例2-4】編寫兩個JSP頁面example2_4.jsp和example2_4_1.jsp,在example2_4.jsp頁面中使用include指令標記靜態(tài)嵌入example2_4_1.jsp頁面,訪問example2_4.jsp頁面,運行效果如圖2.6所示。《JavaWeb開發(fā)從入門到實戰(zhàn)(微課視頻版)(IntelliJIDEA版)》陳恒
主編,清華大學(xué)出版社,2024
example2_4.jspexample2_4_1.jspexample2_4.jspexample2_4_1.jspexample2_4_jsp.java圖2.6靜態(tài)嵌入的原理2.3.3實踐環(huán)節(jié)——制作導(dǎo)航欄編寫3個JSP頁面index.jsp、main.jsp和head.jsp,在index.jsp和main.jsp頁面中分別使用include指令靜態(tài)嵌入head.jsp(導(dǎo)航欄)。導(dǎo)航欄head.jsp的運行效果如圖2.7所示?!禞avaWeb開發(fā)從入門到實戰(zhàn)(微課視頻版)(IntelliJIDEA版)》陳恒
主編,清華大學(xué)出版社,2024
目錄《JavaWeb開發(fā)從入門到實戰(zhàn)(微課視頻版)(IntelliJIDEA版)》陳恒
主編,清華大學(xué)出版社,2024
2.1JSP頁面的基本構(gòu)成2.2JSP腳本元素2.3JSP指令標記2.4JSP動作標記2.4JSP動作標記常用的JSP動作標記有include、forward、param、useBean、GetProperty和setProperty。useBean、GetProperty和setProperty將在本書的第4章介紹?!禞avaWeb開發(fā)從入門到實戰(zhàn)(微課視頻版)(IntelliJIDEA版)》陳恒
主編,清華大學(xué)出版社,2024
2.4.1include動作標記動作標記include的作用是將JSP文件、HTML網(wǎng)頁文件或其他文本文件動態(tài)嵌入到當(dāng)前的JSP網(wǎng)頁中,該指令的語法有以下兩種格式:<jsp:includepage="文件的URL"/>或<jsp:includepage="文件的URL">
子標記<jsp:include/>當(dāng)動作標記include不需要子標記時,使用上述第一種形式?!禞avaWeb開發(fā)從入門到實戰(zhàn)(微課視頻版)(IntelliJIDEA版)》陳恒
主編,清華大學(xué)出版社,2024
2.4.1include動作標記所謂動態(tài)嵌入就是“先處理后包含”,在運行階段完成對文件的嵌入。即:在將JSP頁面轉(zhuǎn)譯成Java文件時,并不合并兩個頁面;而是在Java文件的字解碼文件被加載并執(zhí)行時,才去處理include動作標記中引入的文件。與靜態(tài)嵌入方式相比,動態(tài)嵌入的執(zhí)行速度稍慢,但是靈活性較高?!纠?-5】編寫兩個JSP頁面example2_5.jsp和example2_5_1.jsp,在example2_5.jsp頁面中使用include標記動態(tài)嵌入example2_5_1.jsp頁面。運行example2_5.jsp頁面?!禞avaWeb開發(fā)從入門到實戰(zhàn)(微課視頻版)(IntelliJIDEA版)》陳恒
主編,清華大學(xué)出版社,2024
2.4.2forward動作標記動作標記forward的作用是:從該標記出現(xiàn)處停止當(dāng)前JSP頁面的繼續(xù)執(zhí)行,從而轉(zhuǎn)向執(zhí)行forward動作標記中page屬性值指定的JSP頁面。該標記有兩種格式:<jsp:forwardpage="文件的URL"/>或<jsp:forwardpage="文件的URL">
子標記</jsp:forward>當(dāng)動作標記forward不需要子標記時,使用上述第一種形式?!纠?-6】編寫3個JSP頁面example2_6.jsp、oddNumber.jsp和evenNumbers.jsp。在example2_6.jsp頁面中隨機獲取0~10之間的整數(shù),該數(shù)為偶數(shù)時轉(zhuǎn)向頁面evenNumbers.jsp,否則轉(zhuǎn)向頁面oddNumber.jsp。首先訪問example2_6.jsp頁面?!禞avaWeb開發(fā)從入門到實戰(zhàn)(微課視頻版)(IntelliJIDEA版)》陳恒
主編,清華大學(xué)出版社,2024
2.4.3param動作標記動作標記param不能獨立使用,但可以作為include、forward動作標記的子標記來使用,該標記以“名字-值”對的形式為對應(yīng)頁面?zhèn)鬟f參數(shù)。該標記的格式為:<jsp:父標記page="接收參數(shù)頁面的URL">
<jsp:paramname="參數(shù)名"value="參數(shù)值"/></jsp:父標記>接收參數(shù)的頁面可以使用內(nèi)置對象request調(diào)用getParameter("參數(shù)名")方法獲取動作標記param傳遞過來的參數(shù)值,內(nèi)置對象將在本書第3章介紹。【例2-7】編寫兩個頁面example2_7.jsp和computer.jsp,在頁面example2_7.jsp中使用include動作標記動態(tài)包含文件computer.jsp,并向它傳遞一個矩形的長和寬;computer.jsp收到參數(shù)后,計算矩形的面積,并顯示結(jié)果。運行example2_7.jsp頁面?!禞avaWeb開發(fā)從入門到實戰(zhàn)(微課視頻版)(IntelliJIDEA版)》陳恒
主編,清華大學(xué)出版社,2024
2.4.4實踐環(huán)節(jié)——in
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度住宅小區(qū)環(huán)境衛(wèi)生保潔服務(wù)外包合同2篇
- 二零二五年度勞動合同終止及員工安置補償協(xié)議2篇
- 二零二五年度戶外廣告牌安裝與城市形象宣傳合同3篇
- 二零二五年度個人商鋪買賣合同協(xié)議
- 二零二五年度國際貿(mào)易政策分析與市場進入咨詢合同
- 2025年度個人房屋裝修貸款合同7篇
- 2025年度內(nèi)控制度咨詢與內(nèi)部控制流程再造合同
- 二零二五年度協(xié)議離婚財產(chǎn)清算與分配專業(yè)合同3篇
- 2025年度農(nóng)業(yè)生態(tài)環(huán)境保護與補償合同3篇
- 2025年度摩托車租賃與賽事運營管理合同3篇
- 智能護理:人工智能助力的醫(yī)療創(chuàng)新
- 國家中小學(xué)智慧教育平臺培訓(xùn)專題講座
- 5G+教育5G技術(shù)在智慧校園教育專網(wǎng)系統(tǒng)的應(yīng)用
- 服務(wù)人員隊伍穩(wěn)定措施
- VI設(shè)計輔助圖形設(shè)計
- 淺談小學(xué)勞動教育的開展與探究 論文
- 2023年全國4月高等教育自學(xué)考試管理學(xué)原理00054試題及答案新編
- 河北省大學(xué)生調(diào)研河北社會調(diào)查活動項目申請書
- JJG 921-2021環(huán)境振動分析儀
- 中藥炮制學(xué)-第五、六章
- 兩段焙燒除砷技術(shù)簡介 - 文字版(1)(2)課件
評論
0/150
提交評論