




版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)據(jù)共享沙龍活動(dòng)方案
- 時(shí)光小院手工活動(dòng)方案
- 無人機(jī)經(jīng)營活動(dòng)方案
- 新瑞景公司團(tuán)建活動(dòng)方案
- 春季公司旅游活動(dòng)方案
- 春季續(xù)費(fèi)暑期活動(dòng)方案
- 新安小學(xué)大課間活動(dòng)方案
- 教育培訓(xùn)機(jī)構(gòu)消防培訓(xùn)課件
- 新年政治改造活動(dòng)方案
- 文娛大賽活動(dòng)方案
- 鐵路工程施工監(jiān)理規(guī)劃
- 嬰幼兒語言發(fā)育篩查量表優(yōu)質(zhì)資料
- 《屹立在世界的東方》示范課教學(xué)課件【人教部編版小學(xué)道德與法治五年級(jí)下冊】
- GB/T 16924-2008鋼件的淬火與回火
- 基礎(chǔ)護(hù)理學(xué):肌內(nèi)注射
- 應(yīng)急值守專題培訓(xùn)課件
- DB23T 1318-2020 黑龍江省建設(shè)施工現(xiàn)場安全生產(chǎn)標(biāo)準(zhǔn)化實(shí)施標(biāo)準(zhǔn)
- 新加坡公司法-英文版
- 醫(yī)院管理腎內(nèi)科腹膜透析護(hù)理常規(guī)
- 自動(dòng)控制原理浮球液位控制系統(tǒng)課程設(shè)計(jì)
- 離婚一方財(cái)產(chǎn)轉(zhuǎn)移
評(píng)論
0/150
提交評(píng)論