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

下載本文檔

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

文檔簡介

<JSP程序設(shè)計(jì)>(第2版)第2章

配合<JSP程序設(shè)計(jì)(第2版)代碼>一起使用Powerpoint制作:張躍平耿祥義普通高等教育“十一五”國家級(jí)規(guī)劃教材JSP頁面與JSP標(biāo)記

主要內(nèi)容JSP頁面的基本結(jié)構(gòu)變量和方法的聲明Java程序片表達(dá)式JSP中的注釋JSP指令標(biāo)記JSP動(dòng)作標(biāo)記難點(diǎn)Java程序片的運(yùn)行原理include指令標(biāo)記與include動(dòng)作標(biāo)記關(guān)鍵實(shí)踐編寫一個(gè)JSP頁面,讓該JSP頁面包含5種基本的元素編寫含有JSP指令標(biāo)記的JSP頁面編寫含有JSP動(dòng)作標(biāo)記的JSP頁面第2章導(dǎo)讀2§2.1JSP頁面的基本結(jié)構(gòu)JSP頁面可由5種元素組合而成:①

普通的HTML標(biāo)記符;②JSP標(biāo)記,如指令標(biāo)記、動(dòng)作標(biāo)記;③

變量和方法的聲明;④Java程序片;⑤Java表達(dá)式;JSP頁面的運(yùn)行原理:把JSP頁面中普通的HTML標(biāo)記符號(hào),交給客戶的瀏覽器執(zhí)行顯示。

JSP標(biāo)記、數(shù)據(jù)和方法聲明、Java程序片由Tomcat服務(wù)器負(fù)責(zé)執(zhí)行,將需要顯示的結(jié)果發(fā)送給客戶的瀏覽器。

Java表達(dá)式由Tomcat服務(wù)器負(fù)責(zé)計(jì)算,將結(jié)果轉(zhuǎn)化為字符串,交給客戶的瀏覽器負(fù)責(zé)顯示。

3例子1例子1中,example2_1.jsp頁面包含了5種元素,頁面效果如圖2.1。41.在JSP頁面的標(biāo)記符

“<%!”和“%>”之間聲明的變量稱作JSP頁面的成員變量。

例2-22.在JSP頁面的標(biāo)記符

“<%!”和“%>”之間聲明方法。該方法在整個(gè)JSP頁面有效。例2-3§2.2變量和方法的聲明5例子2例子2利用成員變量被所有用戶共享這一性質(zhì),實(shí)現(xiàn)了一個(gè)簡單的計(jì)數(shù)器,頁面效果如圖2.2。6例子3例子3中,example2_3.jsp在“<%!”和“%>”之間聲明定義了兩個(gè)方法:getArea(doublea)和getLength(doublea),在程序片中調(diào)用這兩個(gè)方法,分別計(jì)算園的面積和周長。example2_3.jsp頁面效果如圖2.3。7§2.3Java程序片

在“<%”和“%>”之間插入Java程序片。

程序片中聲明的變量稱為JSP頁面的局部變量。

多個(gè)客戶請求一個(gè)JSP頁面時(shí),Java程序片將被執(zhí)行多次,分別在不同的線程中執(zhí)行

。例2-4,例2-58例子4例子4中,通過synchronized方法操作一個(gè)成員變量來實(shí)現(xiàn)一個(gè)簡單的計(jì)數(shù)器。example2_4.jsp<%@pagecontentType="text/html;Charset=GB2312"%><HTML><BODY><%!intcount=0;//被用戶共享的countsynchronizedvoidsetCount(){//synchronized修飾的方法count++;}%><%setCount();//程序片中調(diào)用同步方法

out.println("您是第"+count+"個(gè)訪問本站的用戶");%></BODY></HTML>9例子5例子5通過將程序片分割成幾部分,來驗(yàn)證用戶輸入的E-mail地址中是否含有非法的字符,頁面效果如圖2.5。10§2.4

表達(dá)式“<%=”和“%>”之間可以是一個(gè)Java表達(dá)式。表達(dá)式的值由服務(wù)器負(fù)責(zé)計(jì)算,并將計(jì)算結(jié)果用字符串形式發(fā)送到客戶端顯示。例2-611例子6例子6計(jì)算表達(dá)式的值,頁面效果如圖2.6。example2_6.jsp<%@pagecontentType="text/html;charset=GB2312"%><HTML><BODYbgcolor=cyan><FONTsize=3><%doublex=0.9,y=3;%><P>Sin(<%=x%>)除以<%=y%>等于<%=Math.sin(x)/y%><p><%=y%>的平方是:<%=Math.pow(y,2)%><%x=19;y=32;%><P><%=x%>乘以<%=y%>等于<%=x*y%><P><%=y%>的平方根等于<%=Math.sqrt(y)%><P><%=y%>大于<%=x%>嗎?回答:<%=y>x%></FONT></BODY></HTML>12§2.5JSP中的注釋

1.HTML注釋格式:

<!--注釋內(nèi)容-->

2.JSP注釋格式:

<%--注釋內(nèi)容--%>

注:程序片中的注釋//例2-7例子7中的JSP頁面使用了HTML注釋和JSP注釋。

example2_7.jsp

13§2.6JSP指令標(biāo)記2.6.1page指令page指令用來定義整個(gè)JSP頁面的一些屬性和這些屬性的值。page指令標(biāo)記可以指定如下屬性的值contentType、import、language、session、buffer、auotFlush、isThreadSafe、pageEncoding。屬性值用單引號(hào)或雙引號(hào)括起來。可以用一個(gè)page指令指定多個(gè)屬性的值,也可以使用多個(gè)page指令分別為每個(gè)屬性指定值.page指令的作用對(duì)整個(gè)JSP頁面有效,與其書寫的位置無關(guān),習(xí)慣把page指令寫在JSP頁面的最前面。例如:

<%@page屬性1=“屬性1的值”屬性2=“屬性2的值”……%>或

<%@page屬性1="屬性1的值"%><%@page屬性2="屬性2的值"%>……<%@page屬性n=“屬性n的值”%>142.6.1page指令__language屬性

定義JSP頁面使用的腳本語言,該屬性的值目前只能取"java"。例如:<%@pagelanguage="java"%>注:JSP頁面默認(rèn)有如上page指令。152.6.1page指令__import屬性

該屬性的作用是為JSP頁面引入Java運(yùn)行環(huán)境提供的包中的類,這樣就可以在JSP頁面的程序片部分、變量及函數(shù)聲明部分、表達(dá)式部分使用包中的類。例如:<%@pageimport="java.io.*","java.util.Date"%>注:JSP頁面默認(rèn)import屬性已經(jīng)有“java.lang.*”、“javax.servlet.*”等值。162.6.1page指令_contentType屬性

contentType屬性值確定JSP頁面響應(yīng)的MIME(MultipurposeInternetMailExtention)類型和JSP頁面字符的編碼。例如:<%@pagecontentType="text/html;charset=GB2312"%><%@pagecontentType="application/msword"%>注:不允許兩次使用page指令給contentType屬性指定不同的屬性值.例2-817例子8例子8中有兩個(gè)JSP頁面,其中的first.jsp頁面使用page指令設(shè)置contentType屬性的值是"text/html;charset=GB2312",當(dāng)用戶請求first.jsp頁面時(shí),用戶的瀏覽器啟用HTML解析器來解析執(zhí)行收到的信息;second.jsp頁面使用page指令設(shè)置contentType屬性的值是"application/msword",當(dāng)用戶請求second.jsp頁面時(shí),用戶的瀏覽器將啟動(dòng)本地的MS-Word應(yīng)用程序來解析執(zhí)行收到的信息,頁面效果如圖2.7(a)、2.7(b)。182.6.1page指令_session屬性

用于設(shè)置是否需要使用內(nèi)置的session對(duì)象。session的屬性值可以是true或false。session屬性默認(rèn)的屬性值是true。192.6.1page指令_buffer屬性

內(nèi)置輸出流對(duì)象out負(fù)責(zé)將服務(wù)器的某些信息或運(yùn)行結(jié)果發(fā)送到客戶端顯示,buffer屬性用來指定out設(shè)置的緩沖區(qū)的大小或不使用緩沖區(qū)。例如:

<%@pagebuffer=“24kb”%>buffer屬性的默認(rèn)值是8kb。buffer屬性可以取值“none”,設(shè)置out不使用緩沖區(qū)。參考§4.4詳細(xì)講解out對(duì)象202.6.1page指令_autoFlush屬性autoFlush屬性:指定out的緩沖區(qū)被填滿時(shí),緩沖區(qū)是否自動(dòng)刷新。注:autoFlush屬性的默認(rèn)值是true。212.6.1page指令_isThreadSafe屬性

isThreadSafe屬性:用來設(shè)置JSP頁面是否可多線程訪問。

注:isThreadSafe屬性的默認(rèn)值是true。

computer.jsp

<%@pagecontentType="text/html;charset=GB2312"%><%@pageisThreadSafe="false"%><HTML><BODY><%!inti=1;//被所有用戶共享%><%for(intk=1;k<=100;k++){out.println(i);i++;}%></BODY></HTML>222.6.1page指令_info屬性info屬性的屬性值是一個(gè)字符串,其目的是為JSP頁面準(zhǔn)備一個(gè)常用且可能需要經(jīng)常修改的字符串。例如:

<%@pageinfo=“wearestudents”%>注:可以在JSP頁面中使用方法:

getServletInfo();獲取info屬性的屬性值。

232.6.2include指令標(biāo)記include指令標(biāo)記的作用是在JSP頁面出現(xiàn)該指令的位置處,靜態(tài)插入一個(gè)文件。其語法格式如下:

<%@includefile="文件的URL"%>

注:如果該文件和當(dāng)前JSP頁面在同一Web服務(wù)目錄中,那么“文件的URL”就是文件的名字;

如果該文件在JSP頁面所在的Web服務(wù)目錄的一個(gè)子目錄中,比如fileDir子目錄中,那么“文件的URL”就是“fileDir/文件的名字”。

注:靜態(tài)插入,就是當(dāng)前JSP頁面和插入的文件合并成一個(gè)新的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論