版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
第單元基礎(chǔ)語法演示文稿當(dāng)前1頁,總共34頁。優(yōu)選第單元基礎(chǔ)語法當(dāng)前2頁,總共34頁。JSP與HTMLJava服務(wù)器頁面(JavaServerPage,JSP)JSP技術(shù)是純Java平臺的技術(shù),在JSP頁面里面可使用Java編程語言和類庫。在HTML文檔(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP標(biāo)簽,構(gòu)成了JSP網(wǎng)頁(*.jsp)其中:HTML標(biāo)簽用于表示頁面,而Java代碼用于產(chǎn)生動態(tài)網(wǎng)頁內(nèi)容當(dāng)前3頁,總共34頁。JSP基本原理JSP執(zhí)行原理(分兩個階段):所有操作都在服務(wù)器端執(zhí)行,在網(wǎng)絡(luò)上傳給客戶端的僅是得到的結(jié)果,與瀏覽器無關(guān)。轉(zhuǎn)換階段:當(dāng)一個對JSP面請求到來時,jsp容器檢查jsp頁面語法是否正確,將jsp轉(zhuǎn)換為Servlet源文件,再用javac命令編譯Servlet源文件生成字節(jié)碼文件。在JSP中的程序片段可以執(zhí)行動態(tài)頁面所需要的功能,如:操作數(shù)據(jù)庫、重新定向網(wǎng)頁以及發(fā)送E-Mail等等。執(zhí)行階段:Servlet容器加載并執(zhí)行轉(zhuǎn)換后的Servlet類,最后將執(zhí)行結(jié)果以HTML格式響應(yīng)給客戶端。當(dāng)前4頁,總共34頁。JSP執(zhí)行過程實例:當(dāng)前5頁,總共34頁。JSP的本質(zhì)JSP是以Java和Servlet為基礎(chǔ)開發(fā)的動態(tài)網(wǎng)頁生成技術(shù),它的底層實現(xiàn)是JavaServlet。關(guān)于JSP的效率:JSP頁面的轉(zhuǎn)譯、編譯工作在該頁面第一次被訪問時進行;JSP引擎在首次處理JSP請求時,用戶收到響應(yīng)的時間可能較長;當(dāng)處理后續(xù)用戶訪問時,JSP和Servlet的執(zhí)行速度是一樣的。當(dāng)前6頁,總共34頁。JSP的基本構(gòu)成JSP元素包括:注釋元素:用于注釋JSP頁面中的一些內(nèi)容;腳本元素:JSP頁面中嵌入的Java代碼,用于實現(xiàn)網(wǎng)頁的動態(tài)交互。指令元素:為JSP引擎設(shè)計,向JSP引擎發(fā)送消息,通知引擎如何處理其余JSP頁面。如:頁面使用的字符集、腳本使用語言等。動作元素:用于完成某些動作的標(biāo)記,告訴Web容器去執(zhí)行某個"動作"。如:頁面轉(zhuǎn)發(fā)、參數(shù)傳遞等。當(dāng)前7頁,總共34頁。JSP頁面的通用書寫規(guī)則1)JSP頁面中HTML標(biāo)記不區(qū)分大小寫,JSP標(biāo)記和頁面中嵌入的Java代碼區(qū)分大小寫;2)在JSP頁面中,雖然指令和腳本元素所擁有的語法不基于XML,但應(yīng)采用XML語法格式書寫;3)在標(biāo)記中出現(xiàn)的屬性值總是用引號括起來:使用單引號或雙引號;4)JSP使用的URL地址要遵循Servlet的慣例;5)在JSP文檔體中的文本中的空白符無關(guān)緊要(空白包括空格和空行);在標(biāo)記中可以使用字符"\"(反斜杠)來作為換碼字符。當(dāng)前8頁,總共34頁。JSP注釋元素HTML注釋:本質(zhì)就是html注釋,在客戶端html代碼中可以查看,且在HTML注釋中可嵌入其他JSP元素,并將被JSP引擎處理。語法:<!--注釋
-->隱藏注釋:JSP標(biāo)準(zhǔn)注釋,完全被JSP編譯忽略,在客戶端不存在。說明:包含在隱藏注釋中的所有內(nèi)容將被JSP編譯器忽略,返回給客戶端的html源代碼中不存在,隱藏注釋供程序員使用。語法:<%--注釋
--%>當(dāng)前9頁,總共34頁。JSP腳本元素表達式:語法格式:<%=Java表達式%>作用:將表達式的值強制轉(zhuǎn)換成String類型,再輸出到網(wǎng)頁中;不能轉(zhuǎn)換則報錯。注意:不能用分號";"作表達式的結(jié)束符號。例如:<%=(newjava.util.Date())%>聲明:在JSP中定義符合Java語法的方法、變量和類格式:<%!變量、方法或類%>聲明的類:該頁面對應(yīng)的Servlet類的內(nèi)部類;聲明的變量和方法:頁面對應(yīng)Servlet類的成員變量和成員方法;聲明的變量、方法和類僅在所在頁面有效,并被其它部分共享;注意:成員變量可被多個線程(即多個用戶)共享。也就是說,其中任何一個線程對聲明的變量的修改,都會改變它們原來的狀態(tài)(值)。變量的生命周期從創(chuàng)建到服務(wù)器關(guān)閉后結(jié)束??梢砸淮温暶鞫鄠€類變量和方法,但要以分號";"分隔和結(jié)尾。當(dāng)前10頁,總共34頁。表達式、聲明使用示例當(dāng)前11頁,總共34頁。腳本段(Scriptlet)在JSP文檔中嵌入的Java代碼片段(同一頁面可有多個段)語法:<%Java腳本段%>說明:轉(zhuǎn)譯JSP頁面時,腳本段將原樣嵌入到Servlet類的_jspService()方法中;在腳本段中定義的變量是_jspService()的局部變量;且是線程安全的,它們在JSP頁面內(nèi)所有代碼段和表達式中均有效。當(dāng)前12頁,總共34頁。<%!、<%=和<%的比較變量聲明(<%!):定義Servlet類的成員變量和成員方法后面必須帶分號;所聲明的成員是類成員,不是線程安全的。代碼段(<%):其中的變量是局部變量,且不能聲明函數(shù)所含代碼要符合java要求(每條語句必須提有分號),所聲明變量是_jspService()方法的局部變量,是線程安全的。表達式(<%=):按String類型輸出java表達式的值,無分號當(dāng)前13頁,總共34頁。轉(zhuǎn)義符JSP頁面中遇到有特殊用途字符時,應(yīng)進行轉(zhuǎn)義;如右表:字符轉(zhuǎn)義描述'\'單引號字符"\"雙引號字符\\\反斜杠字符<<左尖括號>>右尖括號空格
空格當(dāng)前14頁,總共34頁。JSP指令元素(Directive)JSP指令:表示向JSP容器傳遞信息,它不會產(chǎn)生輸出。JSP指令是針對JSP容器的,它將當(dāng)前頁面的特殊處理信息傳送到JSP容器,告訴容器如何處理JSP網(wǎng)頁;因此,指令并不會直接產(chǎn)生任何可見的輸出。例如:網(wǎng)頁的編碼方式、是否為錯誤處理頁面等信息。一般格式:<%@
指令屬性1="值1"屬性2="值2"……屬性n="值n"%>常用的指令:指令名稱作用page定義JSP的全局屬性include主要用于將某文件包含到本網(wǎng)頁中taglib定義一個標(biāo)簽庫以及其自定義標(biāo)簽的前綴當(dāng)前15頁,總共34頁。page指令page指令:作用于整個JSP頁面,定義了與頁面相關(guān)、用于和JSP容器通信的屬性。語法:<@page屬性1="值1"屬性2="值2"…%>說明:page指令可在JSP頁面的任何地方、以任何順序出現(xiàn),為便于閱讀最好放在JSP文件頭部;同一頁面中可有多個page指令,但相同屬性只能存在一次;import屬性可多次使用,因為import屬性和Java中的import語句相似。當(dāng)前16頁,總共34頁。參考:page指令屬性當(dāng)前17頁,總共34頁。page指令的注意事項import屬性:用來指定所要加載的非預(yù)設(shè)Java包或類JSP頁面自動引入以下4個包:java.servlet.*、java.lang.*、java.servlet.http.*、java.servlet.jsp.*。載入多個非預(yù)設(shè)包時,以逗號作分隔;如:<%@pageimport="java.util.*,java.io.*"%>contentType屬性:定義MIME類型和JSP網(wǎng)頁的編碼方式默認(rèn)MIME類型是text/html,默認(rèn)字符編碼為ISO-8859-1;經(jīng)常如下寫法,以使頁面中支持中文顯示:<%@pagecontentType=”text/html;charset=GBK”%>如下面將頁面以Excel表格的形式輸出:當(dāng)前18頁,總共34頁。taglib指令功能:聲明該JSP文件所使用的自定義標(biāo)簽,同時引用標(biāo)簽庫,并指定了自定義標(biāo)簽的前綴。格式:<%@taglib
uri="標(biāo)記庫URI"prefix="前綴"%>屬性說明:uri:指定JSP在web.xml中查找的標(biāo)簽庫描述符,它是標(biāo)簽描述文件(*.tld)的映射;uri能是URL,URN(同一資源名),相對(或絕對)路徑。prefix:自定義標(biāo)簽的前綴。注意:jsp,jspx,java,javax,servlet,sun和sunw等保留字不可作前綴。在一個頁面中多次使用taglib指令,但前綴只能使用一次。struts1.x標(biāo)簽庫引用示例當(dāng)前19頁,總共34頁。include指令功能:在JSP頁面中該指令出現(xiàn)的位置靜態(tài)插入一個文件語法:<%@includefile="被包含文件鏈接的URL"%>說明:所包含的文件可以是:html、jsp、文本文件,或一段Java代碼;文件的URL一般是相對路徑,不需端口、協(xié)議和域名;使用include指令的目的是為了減少代碼的冗余,可把不同頁面中代碼相同部分放在單獨的JSP文件中。注意:包含文件中不能再使用<html>、</html>、<body>、</body>標(biāo)簽。否則,將與原來JSP中的標(biāo)簽相互影響,會產(chǎn)生錯誤。include指令在翻譯階段執(zhí)行,引入的只是靜態(tài)文本,在JSP頁面被轉(zhuǎn)化成servlet之前和當(dāng)前JSP文件融和到一起。在JSP中還提供了一種標(biāo)準(zhǔn)動作<jsp:include>,該動作在請求處理階段執(zhí)行,且引入的是執(zhí)行頁面或servlet生成的應(yīng)答文本。當(dāng)前20頁,總共34頁。小結(jié)JSP開發(fā)環(huán)境提供了使用服務(wù)器端Java編寫動態(tài)HTML頁面的一種方式。JSP的語法允許大部分HTML被直接編入,并由Java代碼段作為控制代碼。JSP指令包括在<%@和%>內(nèi)。JSP指令共有三種類型:page指令:用于設(shè)置JSP頁面的屬性;taglib指令:用于在JSP頁面中使用標(biāo)簽;include指令:用于在JSP頁面嵌入其他文件它同時支持靜態(tài)和動態(tài)地包含其他資源。當(dāng)前21頁,總共34頁。JSP動作元素當(dāng)前22頁,總共34頁。Include指令的執(zhí)行過程當(dāng)頁面首次被調(diào)用時,將其轉(zhuǎn)譯,遇include指令時指示JSP容器將B.jsp的內(nèi)容插入到include指令所在處,共同形成Servlet源文件。結(jié)論:在A.jsp已轉(zhuǎn)譯情況下,若dic_incB.jsp發(fā)生變化,一般不引發(fā)A.jsp的重新轉(zhuǎn)譯。原因:JSP引擎僅在監(jiān)視到A.jsp發(fā)生變化并再次被訪問時,才對A.jsp重新進行轉(zhuǎn)譯。而僅改dic_incB.jsp并不能觸發(fā)上述條件。當(dāng)前23頁,總共34頁。JSP動作元素概述JSP動作是向其他服務(wù)器對象傳輸控制權(quán)或執(zhí)行操作。JSP技術(shù)規(guī)范定義的標(biāo)準(zhǔn)JSP動作,所有Web容器都必須實現(xiàn)。JSP動作是JSP中的具體操作,JSP動作用規(guī)定的標(biāo)簽和語法,封裝了具體的編程細(xì)節(jié)。常用JSP動作如下:有些JSP功能既可以用腳本片斷實現(xiàn),也可以用JSP動作來實現(xiàn)。標(biāo)準(zhǔn)動作名稱作用<jsp:include>在頁面被請求的時候引入一個文件<jsp:useBean>尋找或者實例化一個JavaBean<jsp:setProperty>設(shè)置JavaBean的屬性<jsp:getProperty>獲得或輸出某個JavaBean的屬性<jsp:forward>把請求轉(zhuǎn)到一個新的頁面<jsp:param>提供key/value信息,可在<jsp:include>,<jsp:forward>動作中使用,指定一個將加入請求的當(dāng)前參數(shù)組中的參數(shù)<jsp:plugin>根據(jù)瀏覽器類型為Java插件生成<object>和<embed>標(biāo)簽<jsp:params>向一個動態(tài)文件發(fā)送一個或多個參數(shù)<jsp:fallback>如果瀏覽器不支持APPLETS則會顯示的內(nèi)容當(dāng)前24頁,總共34頁。<jsp:include>動作<jsp:include>:在當(dāng)前頁面中包含一個動態(tài)或靜態(tài)文件該動作允許在請求期間將其它頁面的輸出包含進當(dāng)前頁面。包含靜態(tài)文件(如:HTML、文本文件等靜態(tài)資源):在當(dāng)前頁面中,將被包含文件的內(nèi)容直接包括在JSP中,語法:當(dāng)前25頁,總共34頁。<jsp:include>(續(xù))包含動態(tài)資源(JSP或Servlet)包含動態(tài)文件:由服務(wù)器的JSP引擎負(fù)責(zé)執(zhí)行,把運行結(jié)果返回給客戶端顯示出來。并且在編譯時可以傳遞參數(shù)。當(dāng)主頁面被請求時,服務(wù)器對被包含資源的URL進行正常處理,并可向其傳遞參數(shù),最后將被包含資源的輸出包含進主頁面中。說明:在每次主頁面被請求時,被包含頁面將被JSP容器重新處理;一旦被包含頁面執(zhí)行完畢,請求將在主頁面中繼續(xù)執(zhí)行;被包含頁面不能改變響應(yīng)的狀態(tài)碼;該動作的優(yōu)點:在被包含頁面發(fā)生改變時,無需對主頁面修改。屬性說明page指定被包含資源的相對當(dāng)前JSP的路徑flush可選(默認(rèn)false),若為true且當(dāng)前頁面使用了緩沖區(qū),則進行包含前,先刷新緩沖區(qū),否則不刷新。當(dāng)前26頁,總共34頁。<jsp:include>工作原理當(dāng)前27頁,總共34頁。在包含動作中傳遞參數(shù)對傳遞的參數(shù)采用gb2312編碼當(dāng)前28頁,總共34頁。包含指令與包含動作的區(qū)別嵌入的內(nèi)容:include指令:嵌入的是靜態(tài)文本或頁面(被包含頁面原內(nèi)容)include動作:包含的是靜態(tài)或動態(tài)資源的內(nèi)容(HTML代碼)嵌入被包含頁面的時間:include指令:在JSP文件被轉(zhuǎn)換成Servlet的時候引入文件由于生成一個Servlet,當(dāng)前和被包含頁面可共享變量;執(zhí)行速度較快include動作:當(dāng)前頁面被請求時才嵌入被包含頁面的結(jié)果生成不同的Servlet,不能共享變量;且執(zhí)行速度較慢。從實際應(yīng)用角度上講:指令:速度快,用于檢測用戶登錄、網(wǎng)站標(biāo)識及其它不變信息動作:速度慢,用于發(fā)送請求、傳遞參數(shù),并接收返回的HTML其它:指令:被包含的JSP頁面中所有response操作都會正常運行動作:被包含頁面不能通過response對象重定向到其他頁面。當(dāng)前29頁,總共34頁。<jsp:param>功能:用來提供key/value的信息通常與<jsp:include>、<jsp:forward>和<jsp:plugin>搭配使用參數(shù)規(guī)則當(dāng)使用<jsp:include>或<jsp:forward>時,被包含頁面或轉(zhuǎn)向后的頁面會先檢查request對象里除原參數(shù)值外,是否再增加新參數(shù)值,若有新的參數(shù)值時,則新參數(shù)值在執(zhí)行時,有較高的優(yōu)先權(quán)。例如:當(dāng)前30頁,總共34頁。<jsp:forward>請求轉(zhuǎn)發(fā)動作格式:功能:將客戶端請求從當(dāng)前頁面轉(zhuǎn)發(fā)到另一資源(JSP頁面、HTML或
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年超額保險合同賠付限制
- 2025版城市更新改造項目投標(biāo)承諾書規(guī)范范本3篇
- 2025版木雕工藝品制作木工分包合同范本4篇
- 2025版企業(yè)銷售業(yè)務(wù)員合作協(xié)議范本3篇
- 2025年度豬圈建造與農(nóng)業(yè)循環(huán)經(jīng)濟合同4篇
- 二零二五版電影院裝修升級合同范本3篇
- 2025版學(xué)校教師聘用合同范本:職稱晉升條款詳解3篇
- 2025年度體育場館草坪鋪設(shè)與維護服務(wù)合同4篇
- 2025年度貨車司機勞動合同(附交通事故責(zé)任及賠償)
- 2025年度智能科技股權(quán)眾籌協(xié)議書模板
- 高考語文復(fù)習(xí)【知識精研】《千里江山圖》高考真題說題課件
- 河北省承德市2023-2024學(xué)年高一上學(xué)期期末物理試卷(含答案)
- 高中物理斜面模型大全(80個)
- 012主要研究者(PI)職責(zé)藥物臨床試驗機構(gòu)GCP SOP
- 農(nóng)耕研學(xué)活動方案種小麥
- 2024年佛山市勞動合同條例
- 污水管網(wǎng)規(guī)劃建設(shè)方案
- 城鎮(zhèn)智慧排水系統(tǒng)技術(shù)標(biāo)準(zhǔn)
- 采購管理制度及流程采購管理制度及流程
- 五年級美術(shù)下冊第9課《寫意蔬果》-優(yōu)秀課件4人教版
- 節(jié)能降耗課件
評論
0/150
提交評論