JSP語法專業(yè)知識(shí)講座市公開課金獎(jiǎng)市賽課一等獎(jiǎng)?wù)n件_第1頁
JSP語法專業(yè)知識(shí)講座市公開課金獎(jiǎng)市賽課一等獎(jiǎng)?wù)n件_第2頁
JSP語法專業(yè)知識(shí)講座市公開課金獎(jiǎng)市賽課一等獎(jiǎng)?wù)n件_第3頁
JSP語法專業(yè)知識(shí)講座市公開課金獎(jiǎng)市賽課一等獎(jiǎng)?wù)n件_第4頁
JSP語法專業(yè)知識(shí)講座市公開課金獎(jiǎng)市賽課一等獎(jiǎng)?wù)n件_第5頁
已閱讀5頁,還剩23頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第4章JSP語法

編程1第1頁主要內(nèi)容1.JSP頁面組成

2.注釋3.指令4.腳本元素5.動(dòng)作元素6.錯(cuò)誤處理2第2頁1.JSP頁面組成3第3頁<%@pagecontentType="text/html;charset=GB2312"language="java"errorPage=""%><html><head><title>顯示當(dāng)前時(shí)間</title></head><%! StringgetDate(){ //返回當(dāng)前時(shí)間

Stringstr; str=newjava.util.Date().toString(); returnstr; }%><bodybgcolor="#ffffff"><divalign="center"><!--使用表示式--><fontcolor="#000000"size="5">當(dāng)前時(shí)間是:<%=getDate()%></font></div></body></html>4第4頁2.注釋2.1HTML注釋靜態(tài)HTML注釋動(dòng)態(tài)HTML注釋

HTML注釋主要是用于在客戶端動(dòng)態(tài)地顯示一個(gè)注釋,格式以下: <!--comment[<%=expression%>]-->5第5頁2.2JSP隱藏注釋

JSP隱藏注釋在JSP源代碼中,它不會(huì)被JSP引擎處理,也不會(huì)在客戶端Web瀏覽器上顯示,格式以下: <%--comment--%>

6第6頁3.指令 在JSP中,指令(Directive)主要用來與JSP引擎進(jìn)行溝通,并為JSP頁面設(shè)置全局變量、申明類以及JSP要實(shí)現(xiàn)方法和輸出內(nèi)容類型等。需要注意是,指令元素在JSP整個(gè)頁面范圍內(nèi)有效,而且它不在客戶端產(chǎn)生任何輸出。使用指令格式以下: <%@directivenameattribute="value"%> 同時(shí),一個(gè)指令能夠申明多個(gè)屬性,以下所表示: <%@directivenameatttibute1="value1",……, atttibuteN="valueN"%>7第7頁JSP語法規(guī)范定義了以下3種不一樣指令。page指令:定義與JSP頁面相關(guān)屬性,并和JSP引擎進(jìn)行通信。include指令:定義JSP編譯時(shí)需要插入資源。taglib指令:定義JSP頁面能夠調(diào)用一個(gè)客戶標(biāo)識(shí)庫。8第8頁3.1page指令 page指令主要用來定義整個(gè)JSP頁面屬性和相關(guān)功效,并由該指令和JSP引擎進(jìn)行通信。一個(gè)JSP頁面能夠包含多個(gè)page指令,指令之間是相互獨(dú)立,而且指令中除import屬性之外每個(gè)屬性只能定義一次,不然在JSP頁面編譯過程中將出現(xiàn)錯(cuò)誤。 page指令能夠利用于整個(gè)JSP文件,普通來說,page指令能夠放在JSP頁面任何位置,但為了便于程序閱讀和格式規(guī)范,通常將page指令放在JSP頁面開始部分。 page指令格式為: <%pageattribute1="value1",……, atttibuteN="valueN"%>9第9頁page指令詳細(xì)格式以下:<%@page[language="scriptingLanguage"][extends="className"][import="importList"][session="true|false"][buffer="none|sizekb"][autoFlush="true|false"][isThreadSafe="true|false"][info="info_text"][errorPage="error_url"][isErrorPage="true|false"][contentType="ctinfo"][pageEncoding="peinfo"][isELIgnored="true|false"]10第10頁3.2include指令 include指令用來指定JSP文件被編譯時(shí)需要插入資源,這個(gè)資源能夠是文本、代碼、HTML文件或JSP文件。該指令格式以下: <%@includefile="relativeURL"%> 其中,relativeURL表示要包含文件路徑。假如路徑以“/”開頭,則表示該路徑是參考JSP應(yīng)用上下關(guān)系路徑,假如路徑直接以目錄名或文件名開頭,則表示該路徑是正在使用JSP文件當(dāng)前路徑。一旦JSP文件完成編譯,該資源內(nèi)容就不可變,要改變?cè)撡Y源內(nèi)容,必須重新編譯JSP文件。11第11頁 利用include指令,能夠?qū)⒁粋€(gè)復(fù)雜JSP頁面分為若干個(gè)部分,這么能夠方便管理JSP頁面。一個(gè)JSP頁面普通能夠分為三段:head(頁頭)、body(頁體)和tail(頁尾)。 能夠?qū)⒁粋€(gè)JSP頁面分為3個(gè)不一樣JSP頁面:head.jsp、body.jsp和tail.jsp,其中head.jsp表示頁頭,body.jsp表示頁體,tail.jsp表示頁尾,這么對(duì)于同一網(wǎng)站不一樣JSP頁面,能夠直接利用include指令調(diào)用head.jsp和tail.jsp,僅body.jsp不一樣12第12頁3.3taglib指令 taglib指令是頁面使用者用來自定義標(biāo)簽。能夠把一些需要重復(fù)顯示內(nèi)容自定義成為一個(gè)標(biāo)簽,以增加代碼重用程度,并使頁面易于維護(hù)。 伴隨JSP語言規(guī)范升級(jí),標(biāo)簽庫不停得到加強(qiáng),它在頁面中定義以下:<%@tagliburi="taglibURI"prefix="tagPrefix"%> 其中,uri用來表示標(biāo)簽描述符,也就是提供怎么知道標(biāo)簽描述文件和標(biāo)簽庫路徑,tagPrefix定義了JSP頁面里要引用該標(biāo)簽時(shí)前綴,需要注意是,這些前綴不能夠是jsp、jspx、java、javax、sun、servlet和sunw。13第13頁4.腳本元素 腳本元素(ScriptingElements)是JSP代碼中使用最頻繁元素,它是用Java寫腳本代碼。全部腳本元素均是以“<%”標(biāo)識(shí)開始,以“%>”標(biāo)識(shí)結(jié)束,它能夠分為以下三類:申明表示式Scriptlet14第14頁4.1申明 在JSP中,申明是用來定義在程序中使用實(shí)體,它是一段Java代碼,能夠申明變量也能夠申明方法,它以“<%!”標(biāo)識(shí)開始,以“%>”標(biāo)識(shí)結(jié)束,格式以下: <%!declaration;[declaration;]……%> 每個(gè)申明僅在一個(gè)JSP頁面內(nèi)有效,假如要想在每個(gè)頁面中都包含一些申明,可將這些申明包含在一個(gè)JSP頁面中,然后利用前面介紹include指令將該頁面包含在每個(gè)JSP頁面中。15第15頁4.2表示式 表示式(Expression)以“<%=”標(biāo)識(shí)開始,以“%>”標(biāo)識(shí)結(jié)尾,中間內(nèi)容為Java一個(gè)正當(dāng)表示式,格式以下: <%=expression%> 其中expression表示Java表示式。 表示式在執(zhí)行時(shí)會(huì)被自動(dòng)轉(zhuǎn)換為字符串,然后顯示在JSP頁面中16第16頁4.3Scriptlet Scriptlet是以“<%”標(biāo)識(shí)開始,以“%>”標(biāo)識(shí)結(jié)尾一段Java代碼,它能夠包含任意合乎Java語法標(biāo)準(zhǔn)Java代碼,格式以下: <% Java代碼 %>17第17頁5.動(dòng)作元素(ActionElements)

大多數(shù)JSP處理都是經(jīng)過JSP中動(dòng)作元素來完成,動(dòng)作元素主要是在請(qǐng)求處理階段起作用,它能影響輸出流和對(duì)象創(chuàng)建、使用、修改等。JSP動(dòng)作元素是利用XML(ExtensibleMarkupLanguage,可擴(kuò)展標(biāo)識(shí)語言)語法寫成,JSP2.0規(guī)范定義了以下20種標(biāo)準(zhǔn)動(dòng)作元素,它們均以“jsp”作為前綴。18第18頁5.1<jsp:param> <jsp:param>操作提供了“名稱──值”信息,通常和<jsp:include>、<jsp:forward>、<jsp:plugin>一起使用,包含頁面或重定向頁面將看到新參數(shù)增加原始request對(duì)象。該操作若獨(dú)立于<jsp:include>、<jsp:forward>、<jsp:plugin>這些操作將沒有任何作用。 <jsp:param>操作格式以下: <jsp:paramname="paramName" value="paramValue"/> 其中paramName表示參數(shù)名稱,paramValue表示參數(shù)值。19第19頁5.2<jsp:include> <jsp:include>允許在JSP頁面中包含靜態(tài)和動(dòng)態(tài)頁面。假如包含是靜態(tài)頁面,則只是將靜態(tài)頁面內(nèi)容加入至JSP頁面中,假如包含是動(dòng)態(tài)頁面,則所包含頁面將會(huì)被JSP服務(wù)器編譯執(zhí)行。 <jsp:include>操作格式以下: <jsp:includepage="relativeURL| <%=expression%>"flush="true|false"/> page:表示所要包含文件相對(duì)URL,它能夠是一個(gè)字符串,也能夠是一個(gè)JSP表示式。 flush:默認(rèn)值為false,若該值為true則表示當(dāng)緩沖區(qū)滿時(shí),緩沖區(qū)將被清空。20第20頁5.3<jsp:forward> <jsp:forward>操作允許將當(dāng)前請(qǐng)求運(yùn)行轉(zhuǎn)發(fā)至另外一個(gè)靜態(tài)文件、JSP頁面或含有與當(dāng)前頁面相同內(nèi)容Servlet。 <jsp:forward>格式以下: <jsp:forward page="relativeURL|<%=expression%>"/>21第21頁5.4 <jsp:plugin> <jsp:plugin>主要用來在客戶端瀏覽器中顯示一個(gè)對(duì)象,通常為Applet或Bean。22第22頁6.錯(cuò)誤處理 在編寫JSP頁面過程中,不論是初學(xué)者還是編程高手都會(huì)碰到各種各樣問題,誰也無法確保編寫JSP頁面不會(huì)出現(xiàn)任何錯(cuò)誤。 在JSP頁面處理過程中,在下面兩個(gè)階段會(huì)發(fā)生錯(cuò)誤。編譯階段:該階段將JSP源文件編譯為Servlet類文件。處理客戶請(qǐng)求階段:Servlet類在該階段處理每個(gè)客戶請(qǐng)求23第23頁6.1編譯階段錯(cuò)誤處理 編譯階段發(fā)生錯(cuò)誤主要原因是編寫JSP程序有語法錯(cuò)誤或JSP容器安裝、設(shè)置出現(xiàn)錯(cuò)誤,造成JSP容器無法將JSP文件編譯為Servlet類文件。 要防止在編譯階段發(fā)生錯(cuò)誤,必須首先正確安裝、配置JSP容器,然后檢驗(yàn)JSP程序是否存在語法錯(cuò)誤。24第24頁6.2處理客戶請(qǐng)求階段錯(cuò)誤處理 處理客戶請(qǐng)求階段錯(cuò)誤是指JSP編譯成功后Servlet類處理客戶請(qǐng)求發(fā)生錯(cuò)誤,這類錯(cuò)誤往往不是語法錯(cuò)誤,而是因?yàn)檫壿嬌襄e(cuò)誤,比如獲取參數(shù)類型不匹配、被零除等錯(cuò)誤。當(dāng)這些錯(cuò)誤發(fā)生時(shí),JSP程序?qū)伋霎惓?,由異常處理機(jī)制進(jìn)行處理。 發(fā)生這類錯(cuò)誤時(shí),通常將錯(cuò)誤交由errorPage處理,比如制作一個(gè)“error.jsp”頁面25第25頁習(xí)題一、填空題(1)一個(gè)JSP頁面主要由_________、_________、_________、_________等元素組成。(2)腳本元素分為_________、_________和_________三類。(3)要在客戶端瀏覽器中顯示一個(gè)A

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論