第2章JSP頁(yè)面與JSP標(biāo)記_第1頁(yè)
第2章JSP頁(yè)面與JSP標(biāo)記_第2頁(yè)
第2章JSP頁(yè)面與JSP標(biāo)記_第3頁(yè)
第2章JSP頁(yè)面與JSP標(biāo)記_第4頁(yè)
第2章JSP頁(yè)面與JSP標(biāo)記_第5頁(yè)
已閱讀5頁(yè),還剩29頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第2章 配合例子源代碼一起使用例子源代碼一起使用普通高等教育普通高等教育“十一五十一五”國(guó)家級(jí)規(guī)劃教材國(guó)家級(jí)規(guī)劃教材JSP頁(yè)面與JSP標(biāo)記 SJP主要內(nèi)容主要內(nèi)容JSP頁(yè)面的基本結(jié)構(gòu)頁(yè)面的基本結(jié)構(gòu)變量和方法的聲明變量和方法的聲明Java程序片程序片表達(dá)式表達(dá)式JSP中的注釋中的注釋JSP指令標(biāo)記指令標(biāo)記JSP動(dòng)作標(biāo)記動(dòng)作標(biāo)記難點(diǎn)難點(diǎn)Java程序片的運(yùn)行原理程序片的運(yùn)行原理include指令標(biāo)記與指令標(biāo)記與include動(dòng)作標(biāo)記動(dòng)作標(biāo)記關(guān)鍵實(shí)踐關(guān)鍵實(shí)踐編寫(xiě)一個(gè)編寫(xiě)一個(gè)JSP頁(yè)面,讓該頁(yè)面,讓該JSP頁(yè)面包含頁(yè)面包含5種基本的元素種基本的元素編寫(xiě)含有編寫(xiě)含有JSP指令標(biāo)記的指令標(biāo)記的JSP頁(yè)面頁(yè)面

2、編寫(xiě)含有編寫(xiě)含有JSP動(dòng)作標(biāo)記的動(dòng)作標(biāo)記的JSP頁(yè)面頁(yè)面第2章導(dǎo)讀章導(dǎo)讀SJP2.1 JSP頁(yè)面的基本結(jié)構(gòu)頁(yè)面的基本結(jié)構(gòu)JSP頁(yè)面可由頁(yè)面可由5種元素組合而成:種元素組合而成: 普通的普通的HTML標(biāo)記符;標(biāo)記符; JSP標(biāo)記,如指令標(biāo)記、動(dòng)作標(biāo)記;標(biāo)記,如指令標(biāo)記、動(dòng)作標(biāo)記; 變量和方法的聲明;變量和方法的聲明; Java程序片;程序片; Java表達(dá)式表達(dá)式 ;JSP頁(yè)面的運(yùn)行原理:頁(yè)面的運(yùn)行原理:把把JSPJSP頁(yè)面中普通的頁(yè)面中普通的HTMLHTML標(biāo)記符號(hào),交給客戶的瀏覽器執(zhí)行顯示。標(biāo)記符號(hào),交給客戶的瀏覽器執(zhí)行顯示。 JSPJSP標(biāo)記、數(shù)據(jù)和方法聲明、標(biāo)記、數(shù)據(jù)和方法聲明、Java

3、Java程序片由程序片由TomcatTomcat服務(wù)器負(fù)責(zé)執(zhí)行,服務(wù)器負(fù)責(zé)執(zhí)行,將需要顯示的結(jié)果發(fā)送給客戶的瀏覽器。將需要顯示的結(jié)果發(fā)送給客戶的瀏覽器。 Java表達(dá)式由表達(dá)式由Tomcat服務(wù)器負(fù)責(zé)計(jì)算,將結(jié)果轉(zhuǎn)化為字符串,交給服務(wù)器負(fù)責(zé)計(jì)算,將結(jié)果轉(zhuǎn)化為字符串,交給客戶的瀏覽器負(fù)責(zé)顯示??蛻舻臑g覽器負(fù)責(zé)顯示。 SJPSJP1.1.在在JSP頁(yè)面的標(biāo)記符頁(yè)面的標(biāo)記符 “ ” 之間聲明的變量稱(chēng)作之間聲明的變量稱(chēng)作JSPJSP頁(yè)面的成員變量。頁(yè)面的成員變量。 例例2-2 P132.在在JSP頁(yè)面的標(biāo)記符頁(yè)面的標(biāo)記符 “” 之間聲明方法之間聲明方法 。該方法在整個(gè)該方法在整個(gè)JSP頁(yè)面有效頁(yè)面有效

4、 。 例例2-3 P142.2 變量和方法的聲明變量和方法的聲明SJPSJP2.3 Java程序片程序片 n在在“”之間插入之間插入Java程序片。程序片。 n程序片中聲明的變量稱(chēng)為程序片中聲明的變量稱(chēng)為JSP頁(yè)面的頁(yè)面的局部變量局部變量。 n多個(gè)客戶請(qǐng)求一個(gè)多個(gè)客戶請(qǐng)求一個(gè)JSP頁(yè)面時(shí)頁(yè)面時(shí) , Java程序片將程序片將被執(zhí)被執(zhí)行多次行多次,分別在不同的線程中執(zhí)行,分別在不同的線程中執(zhí)行 。例例2-4 P15 SJPSJPSJP2.4 表達(dá)式表達(dá)式“%=%”之間可以是一個(gè)之間可以是一個(gè)JavaJava表達(dá)表達(dá)式式 。表達(dá)式的值由服務(wù)器負(fù)責(zé)計(jì)算,并將計(jì)算表達(dá)式的值由服務(wù)器負(fù)責(zé)計(jì)算,并將計(jì)算結(jié)果

5、用字符串形式發(fā)送到客戶端顯示。結(jié)果用字符串形式發(fā)送到客戶端顯示。 例例2-6 P17 SJPSJP2.5 JSP中的注釋中的注釋 1. HTML注釋格式注釋格式: 2. JSP注釋格式注釋格式: 例例2-7 P18 注:程序片中的注釋注:程序片中的注釋 /SJPSJP2.6 JSP JSP 指令標(biāo)記指令標(biāo)記2.6.1 page 2.6.1 page 指令指令 page 指令用來(lái)定義整個(gè)指令用來(lái)定義整個(gè)JSP頁(yè)面的一些屬性和這些屬性的值。頁(yè)面的一些屬性和這些屬性的值。 page 指令標(biāo)記可以指定如下屬性的值指令標(biāo)記可以指定如下屬性的值contentType、import、language、ses

6、sion、buffer、auotFlush 、isThreadSafe、pageEncoding。屬性值用單引號(hào)或雙引號(hào)括起來(lái)??梢杂靡粋€(gè)屬性值用單引號(hào)或雙引號(hào)括起來(lái)??梢杂靡粋€(gè)page指令指定多個(gè)屬性指令指定多個(gè)屬性的值的值 ,也可以使用多個(gè)也可以使用多個(gè)page指令分別為每個(gè)屬性指定值指令分別為每個(gè)屬性指定值 . page指令的作用對(duì)整個(gè)指令的作用對(duì)整個(gè)JSPJSP頁(yè)面有效,與其書(shū)寫(xiě)的位置無(wú)關(guān),習(xí)慣把頁(yè)面有效,與其書(shū)寫(xiě)的位置無(wú)關(guān),習(xí)慣把pagepage指令寫(xiě)在指令寫(xiě)在JSPJSP頁(yè)面的最前面。頁(yè)面的最前面。例如例如: % page % 或或 % page % % page % % page

7、 % SJP15學(xué)習(xí)目標(biāo)n掌握J(rèn)SP指令標(biāo)簽的使用npage指令ninclude指令ntaglib指令n掌握J(rèn)SP動(dòng)作標(biāo)簽的使用nnn nnn學(xué)習(xí)學(xué)習(xí)JavaBean時(shí)時(shí)使用使用提供提供JSP 頁(yè)面到頁(yè)面到 JSP 引摯的信引摯的信息息由由JSP引擎在請(qǐng)求的處理階段處理的,引擎在請(qǐng)求的處理階段處理的,而不是和指令一樣在翻譯為而不是和指令一樣在翻譯為Servlet 階段就處理階段就處理SJP2.6.1 page 2.6.1 page 指令指令_languagelanguage屬性屬性 定義定義JSPJSP頁(yè)面使用的腳本語(yǔ)言,該屬性頁(yè)面使用的腳本語(yǔ)言,該屬性的值目前只能取的值目前只能取javaja

8、va。例如例如: : 注:注:JSPJSP頁(yè)面默認(rèn)有如上頁(yè)面默認(rèn)有如上pagepage指令指令 。SJP2.6.1 page 2.6.1 page 指令指令_ _ import import 屬性屬性 該屬性的作用是為該屬性的作用是為JSPJSP頁(yè)面引入頁(yè)面引入JavaJava運(yùn)行環(huán)運(yùn)行環(huán)境提供的包中的類(lèi),這樣就可以在境提供的包中的類(lèi),這樣就可以在JSPJSP頁(yè)面的頁(yè)面的程序片部分、變量及函數(shù)聲明部分、表達(dá)式部程序片部分、變量及函數(shù)聲明部分、表達(dá)式部分使用包中的類(lèi)。分使用包中的類(lèi)。例如例如: :% page import=java.io., java.util.Date %注:注:JSPJSP

9、頁(yè)面默認(rèn)頁(yè)面默認(rèn)importimport屬性已經(jīng)有屬性已經(jīng)有“java.lang.java.lang.* *”、“javax.servlet.javax.servlet.* *” 等值等值 。SJP2.6.1 page 2.6.1 page 指令指令_ _contentType屬性屬性 contentType 屬性值確定屬性值確定JSP頁(yè)面響應(yīng)的頁(yè)面響應(yīng)的MIME(Multipurpose Internet Mail Extention)類(lèi)型和)類(lèi)型和JSP頁(yè)面字符的編碼。頁(yè)面字符的編碼。例如例如: : 注:注:不允許兩次使用不允許兩次使用page 指令給指令給contentType屬性指定屬

10、性指定不同的屬性值不同的屬性值 . 例例2-8 P21SJP常見(jiàn)的MIME類(lèi)型n超文本標(biāo)記語(yǔ)言文本 .html text/htmlnxml文檔 .xml text/xmlnXHTML文檔 .xhtml application/xhtml+xmln普通文本 .txt text/plainnRTF文本 .rtf application/rtfnPDF文檔 .pdf application/pdfnMicrosoft Word文件 .word application/mswordnPNG圖像 .png image/pngnau聲音文件 .au audio/basicnMIDI音樂(lè)文件 mid,.mi

11、di MPEG文件 .mpg,.mpeg video/mpegnAVI文件 .avi video/x-msvideonGZIP文件 .gz application/x-gzipnTAR文件 .tar application/x-tarn任意的二進(jìn)制數(shù)據(jù) application/octet-streamSJP2.6.1 page 2.6.1 page 指令指令_ _ sessionsession屬性屬性 用于設(shè)置是否需要使用內(nèi)置的用于設(shè)置是否需要使用內(nèi)置的sessionsession對(duì)對(duì)象。象。sessionsession的屬性值可以是的屬性值可以是truetrue或或falsefalse。se

12、ssionsession屬性默認(rèn)的屬性值是屬性默認(rèn)的屬性值是truetrue。參考:參考:P84 4.3 詳細(xì)講解詳細(xì)講解SJP2.6.1 page 2.6.1 page 指令指令_ _ bufferbuffer屬性屬性 內(nèi)置輸出流對(duì)象內(nèi)置輸出流對(duì)象outout負(fù)責(zé)將服務(wù)器的某些信負(fù)責(zé)將服務(wù)器的某些信息或運(yùn)行結(jié)果發(fā)送到客戶端顯示,息或運(yùn)行結(jié)果發(fā)送到客戶端顯示,bufferbuffer屬屬性用來(lái)指定性用來(lái)指定outout設(shè)置的緩沖區(qū)的大小或不使用設(shè)置的緩沖區(qū)的大小或不使用緩沖區(qū)。緩沖區(qū)。例如例如: : % page buffer= %bufferbuffer屬性的默認(rèn)值是屬性的默認(rèn)值是8kb 8

13、kb 。bufferbuffer屬性可以取值屬性可以取值“nonenone”,設(shè)置,設(shè)置outout不使用緩不使用緩沖區(qū)。沖區(qū)。參考:參考:P96 4.4 詳細(xì)講解詳細(xì)講解out對(duì)象對(duì)象SJP2.6.1 page 2.6.1 page 指令指令_ _ autoFlushautoFlush屬性屬性autoFlushautoFlush屬性:屬性: 指定指定outout的緩沖區(qū)被填滿時(shí),緩沖區(qū)是否自動(dòng)刷新的緩沖區(qū)被填滿時(shí),緩沖區(qū)是否自動(dòng)刷新。 注:注: autoFlushautoFlush屬性的默認(rèn)值是屬性的默認(rèn)值是truetrue。 SJP2.6.1 page 2.6.1 page 指令指令_ _

14、isThreadSafeisThreadSafe屬性屬性 isThreadSafeisThreadSafe屬性:屬性: 用來(lái)設(shè)置用來(lái)設(shè)置JSPJSP頁(yè)面是否可多線程訪問(wèn)。頁(yè)面是否可多線程訪問(wèn)。 注:注: isThreadSafeisThreadSafe屬性的默認(rèn)值是屬性的默認(rèn)值是truetrue。 SJP2.6.1 page 2.6.1 page 指令指令_ _infoinfo屬性屬性infoinfo屬性的屬性值是一個(gè)字符串,其目的是為屬性的屬性值是一個(gè)字符串,其目的是為JSPJSP頁(yè)面準(zhǔn)備一個(gè)常用且可能需要經(jīng)常修改的字符串。頁(yè)面準(zhǔn)備一個(gè)常用且可能需要經(jīng)常修改的字符串。例如:例如: % pag

15、e info= %注:注:可以在可以在JSPJSP頁(yè)面中使用方法:頁(yè)面中使用方法: getServletInfo(); 獲取獲取infoinfo屬性的屬性值。屬性的屬性值。 SJP2.6.2 include 2.6.2 include 指令標(biāo)記指令標(biāo)記includeinclude指令標(biāo)記的作用是在指令標(biāo)記的作用是在JSPJSP頁(yè)面出現(xiàn)該指令頁(yè)面出現(xiàn)該指令的位置處,靜態(tài)插入一個(gè)文件。其語(yǔ)法格式如下:的位置處,靜態(tài)插入一個(gè)文件。其語(yǔ)法格式如下: % include file= URL % 注:注:如果如果該文件和當(dāng)前該文件和當(dāng)前JSP頁(yè)面頁(yè)面在在同一同一Web服務(wù)目錄中,那么服務(wù)目錄中,那么“文文

16、件的件的URL”就是文件的名字;就是文件的名字; 如果如果該文件在該文件在JSP頁(yè)面所在的頁(yè)面所在的Web服務(wù)目錄的服務(wù)目錄的一個(gè)子目錄中一個(gè)子目錄中,比,比如如fileDir子目錄中,那么子目錄中,那么“文件的文件的URL”就是就是“fileDir/文件的名字文件的名字”。 注:注:靜態(tài)插入,就是當(dāng)前靜態(tài)插入,就是當(dāng)前JSPJSP頁(yè)面和插入的文件合并成一個(gè)新的頁(yè)面和插入的文件合并成一個(gè)新的JSPJSP頁(yè)面,然后頁(yè)面,然后JSPJSP引擎再將這個(gè)新的引擎再將這個(gè)新的JSPJSP頁(yè)面轉(zhuǎn)譯成頁(yè)面轉(zhuǎn)譯成JavaJava文件。文件。例例2-9,2-10 P24SJPinclude指令ninclude指

17、令是靜態(tài)包含n被包含的文件將被插入到JSP文件中去。n所包含的文件可以是JSP文件、HTML文件、文本文件、甚至一段Java代碼。n但是在所包含的文件中不能使用“ ”,“ ”標(biāo)記,因?yàn)檫@將會(huì)影響到原有的JSP文件中所使用的相同標(biāo)記。如果所包含的是一個(gè)JSP文件,則該文件將會(huì)執(zhí)行。n文件和被包含文件中不要定義同名變量和方法n一般可以包含不變的信息一般可以包含不變的信息SJP2.7 JSP JSP 動(dòng)作標(biāo)記動(dòng)作標(biāo)記 2.7.1 include 2.7.1 include 動(dòng)作標(biāo)記動(dòng)作標(biāo)記語(yǔ)法格式:語(yǔ)法格式: URL/或或 URL paramparam子標(biāo)記子標(biāo)記 includeinclude動(dòng)作標(biāo)

18、記告訴動(dòng)作標(biāo)記告訴JSPJSP頁(yè)面動(dòng)態(tài)加載一個(gè)文件。頁(yè)面動(dòng)態(tài)加載一個(gè)文件。 注:注: include include 動(dòng)作標(biāo)記是在動(dòng)作標(biāo)記是在JSPJSP頁(yè)面運(yùn)行時(shí)才處理文件,頁(yè)面運(yùn)行時(shí)才處理文件,被處理的文件在邏輯和語(yǔ)法上獨(dú)立于當(dāng)前被處理的文件在邏輯和語(yǔ)法上獨(dú)立于當(dāng)前JSPJSP頁(yè)面。頁(yè)面。 例例2-11 P27SJP2.7.2 param2.7.2 param動(dòng)作標(biāo)記動(dòng)作標(biāo)記 paramparam標(biāo)記以標(biāo)記以“名字名字- -值值”的形式為的形式為其它其它標(biāo)記提供附加信息標(biāo)記提供附加信息. .語(yǔ)法格式:語(yǔ)法格式: jsp:param name= 注:注: paramparam標(biāo)記不能獨(dú)立使用

19、,需作為標(biāo)記不能獨(dú)立使用,需作為jsp:includejsp:include、jsp:forwardjsp:forward、jsp:pluginjsp:plugin標(biāo)記的子標(biāo)記來(lái)使用。標(biāo)記的子標(biāo)記來(lái)使用。 注:注:當(dāng)該標(biāo)記與當(dāng)該標(biāo)記與jsp:includejsp:include動(dòng)作標(biāo)記一起使用時(shí),可以動(dòng)作標(biāo)記一起使用時(shí),可以將將paramparam標(biāo)記中的值傳遞到標(biāo)記中的值傳遞到includeinclude動(dòng)作標(biāo)記要加載的文件中動(dòng)作標(biāo)記要加載的文件中去,被加載的去,被加載的JSPJSP文件可以使用文件可以使用TomcatTomcat服務(wù)器提供的服務(wù)器提供的requestrequest內(nèi)置對(duì)象獲

20、取內(nèi)置對(duì)象獲取includeinclude動(dòng)作標(biāo)記的動(dòng)作標(biāo)記的paramparam子標(biāo)記中子標(biāo)記中namename屬性所屬性所提供的值提供的值 例例2-12 P28SJP動(dòng)作標(biāo)記 例子/tom.jsp % String str=request.getParameter(“p1); /獲取值。 int n=Integer.parseInt(str); int sum=0; for(int i=1;i 從1到的連續(xù)和是: /param.jsp加載文件效果:加載文件效果: SJP2.7.3 forward2.7.3 forward動(dòng)作標(biāo)記動(dòng)作標(biāo)記 該指令的作用是:從該指令處停止當(dāng)前頁(yè)面的繼續(xù)執(zhí)行,該指令的作用是:從該指令處停止當(dāng)前頁(yè)面的繼續(xù)執(zhí)行,而轉(zhuǎn)向執(zhí)行而轉(zhuǎn)向執(zhí)行pagepage屬性指定的屬性指定的JSPJSP頁(yè)面。頁(yè)面。 語(yǔ)法格式:語(yǔ)法格式: jsp:forward page= /或或 jsp:forward page= param param子標(biāo)記子標(biāo)記 例例2-13 P29SJPforward動(dòng)作標(biāo)記n格式 n屬性 pagen被轉(zhuǎn)發(fā)的相對(duì)于當(dāng)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論