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

下載本文檔

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

文檔簡介

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

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

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

普通的HTML標記符;②JSP標記,如指令標記、動作標記;③

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

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

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

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

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

例2-22.在JSP頁面的標記符

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

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

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

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

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

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

表達式“<%=”和“%>”之間可以是一個Java表達式。表達式的值由服務(wù)器負責(zé)計算,并將計算結(jié)果用字符串形式發(fā)送到客戶端顯示。例2-611例子6例子6計算表達式的值,頁面效果如圖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指令標記2.6.1page指令page指令用來定義整個JSP頁面的一些屬性和這些屬性的值。page指令標記可以指定如下屬性的值contentType、import、language、session、buffer、auotFlush、isThreadSafe、pageEncoding。屬性值用單引號或雙引號括起來??梢杂靡粋€page指令指定多個屬性的值,也可以使用多個page指令分別為每個屬性指定值.page指令的作用對整個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頁面默認有如上page指令。152.6.1page指令__import屬性

該屬性的作用是為JSP頁面引入Java運行環(huán)境提供的包中的類,這樣就可以在JSP頁面的程序片部分、變量及函數(shù)聲明部分、表達式部分使用包中的類。例如:<%@pageimport="java.io.*","java.util.Date"%>注:JSP頁面默認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中有兩個JSP頁面,其中的first.jsp頁面使用page指令設(shè)置contentType屬性的值是"text/html;charset=GB2312",當(dāng)用戶請求first.jsp頁面時,用戶的瀏覽器啟用HTML解析器來解析執(zhí)行收到的信息;second.jsp頁面使用page指令設(shè)置contentType屬性的值是"application/msword",當(dāng)用戶請求second.jsp頁面時,用戶的瀏覽器將啟動本地的MS-Word應(yīng)用程序來解析執(zhí)行收到的信息,頁面效果如圖2.7(a)、2.7(b)。182.6.1page指令_session屬性

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

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

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

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

注:isThreadSafe屬性的默認值是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屬性的屬性值是一個字符串,其目的是為JSP頁面準備一個常用且可能需要經(jīng)常修改的字符串。例如:

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

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

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

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

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

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

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

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論