JSP頁(yè)面與JSP標(biāo)記實(shí)驗(yàn)_第1頁(yè)
JSP頁(yè)面與JSP標(biāo)記實(shí)驗(yàn)_第2頁(yè)
JSP頁(yè)面與JSP標(biāo)記實(shí)驗(yàn)_第3頁(yè)
JSP頁(yè)面與JSP標(biāo)記實(shí)驗(yàn)_第4頁(yè)
JSP頁(yè)面與JSP標(biāo)記實(shí)驗(yàn)_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上第2章 JSP頁(yè)面與JSP標(biāo)記(實(shí)驗(yàn))第2章共有3個(gè)實(shí)驗(yàn)。要求將Tomcat服務(wù)器的端口號(hào)恢復(fù)為默認(rèn)設(shè)置,即端口號(hào)為8080。要求在webapps目錄下新建一個(gè)Web服務(wù)目錄:practice2。除特別要求外,本章實(shí)驗(yàn)中涉及的JSP頁(yè)面均保存在practice2中。實(shí)驗(yàn)1 JSP頁(yè)面的基本結(jié)構(gòu)1相關(guān)知識(shí)點(diǎn)一個(gè)JSP頁(yè)面可由普通的HTML標(biāo)記、JSP標(biāo)記、成員變量和方法的聲明、Java 程序片以及Java表達(dá)式組成。JSP引擎把JSP頁(yè)面中的HTML標(biāo)記交給用戶(hù)的瀏覽器執(zhí)行顯示;JSP引擎負(fù)責(zé)處理JSP標(biāo)記、變量和方法聲明;JSP引擎負(fù)責(zé)運(yùn)行Java程序片、計(jì)算Java

2、 表達(dá)式,并將需要顯示的結(jié)果發(fā)送給用戶(hù)的瀏覽器。JSP頁(yè)面中的成員變量是被所有用戶(hù)共享的變量。Java 程序片可以操作成員變量,任何一個(gè)用戶(hù)對(duì)JSP頁(yè)面成員變量操作的結(jié)果,都會(huì)影響到其他用戶(hù)。如果多個(gè)用戶(hù)訪問(wèn)一個(gè)JSP頁(yè)面,那么該頁(yè)面中的Java程序片就會(huì)被執(zhí)行多次,分別運(yùn)行在不同的線程中,即運(yùn)行在不同的時(shí)間片內(nèi)。運(yùn)行在不同線程中的Java程序片的局部變量互不干擾,即一個(gè)用戶(hù)改變Java程序片中的局部變量的值不會(huì)影響其他用戶(hù)的Java程序片中的局部變量。2實(shí)驗(yàn)?zāi)康谋緦?shí)驗(yàn)的目的是讓學(xué)生掌握怎樣在JSP頁(yè)面中使用成員變量,怎樣使用Java程序片、Java表達(dá)式。3實(shí)驗(yàn)要求編寫(xiě)兩個(gè)JSP頁(yè)面,分別為

3、inputName.jsp和people.jsp。(1)inputName.jsp的具體要求該頁(yè)面有一個(gè)表單,用戶(hù)通過(guò)該表單輸入自己的姓名并提交給people.jsp頁(yè)面。(2)people.jsp的具體要求 該頁(yè)面有名字為person、類(lèi)型是StringBuffer以及名字是count、類(lèi)型為int的成員變量。 該頁(yè)面有public void judge ()方法。該方法負(fù)責(zé)創(chuàng)建person對(duì)象,當(dāng)count的值是0時(shí),judge ()方法創(chuàng)建person對(duì)象。 該頁(yè)面有public void addPerson(String p)方法,該方法將參數(shù)p指定的字符串添加到成員變量person末

4、尾,同時(shí)將count作自增運(yùn)算。 該頁(yè)面在程序片中獲取inputName.jsp頁(yè)面提交的姓名,然后調(diào)用judge()創(chuàng)建person對(duì)象、調(diào)用addPerson方法將用戶(hù)的姓名添加到成員變量person末尾。 如果inputName.jsp頁(yè)面沒(méi)有提交姓名,或姓名含有的字符個(gè)數(shù)大于10,就使用<jsp:forward page="要轉(zhuǎn)向的頁(yè)面"/>標(biāo)記將用戶(hù)轉(zhuǎn)到inputName.jsp頁(yè)面。 通過(guò)Java表達(dá)式輸出person和count的值。4JSP頁(yè)面效果示例inputName.jsp(效果如圖2-1所示)圖2-1 輸入姓名people.jsp(效果如圖

5、2-2所示)圖2-2 顯示姓名和人數(shù)5參考代碼代碼僅供參考,學(xué)生可按照實(shí)驗(yàn)要求,參考本代碼編寫(xiě)代碼。JSP頁(yè)面參考代碼inputName.jsp<% page contentType="text/html;charset=GB2312" %><HTML><BODY bgcolor=cyan><FONT size=3> <FORM action="people.jsp" method=get name=form> 請(qǐng)輸入姓名:<INPUT type="text" name

6、="name"> <BR> <INPUT TYPE="submit" value="送出" name=submit> </FORM> </BODY></HTML>people.jsp<% page contentType="text/html;charset=GB2312" %><HTML><BODY BGCOLOR=yellow><FONT Size=3> <%! int count; Stri

7、ngBuffer person; public void judge() if(count=0) person=new StringBuffer(); public void addPerson(String p) if(count=0) person.append(p); else person.append(","+p); count+; %> <% String name=request.getParameter("name"); byte bb=name.getBytes("iso-8859-1"); name=n

8、ew String(bb); if(name.length()=0|name.length()>10) %> <jsp:forward page="inputName.jsp" /> <% judge(); addPerson(name); %> <BR> 目前共有<%=count%>人瀏覽了該頁(yè)面,他們的名字是: <BR> <%=person%></FONT></BODY></HTML>實(shí)驗(yàn)2 JSP指令標(biāo)記1相關(guān)知識(shí)點(diǎn)page 指令<% page

9、 屬性1="屬性1的值" 屬性2= "屬性2的值" %>用來(lái)定義整個(gè)JSP頁(yè)面的一些屬性和這些屬性的值。比較常用的兩個(gè)屬性是contentType和import。page指令只能為contentType指定一個(gè)值,但可以為import屬性指定多個(gè)值。include指令標(biāo)記<% include file= "文件的URL " %>的作用是在JSP頁(yè)面出現(xiàn)該指令的位置處,靜態(tài)插入一個(gè)文件。被插入的文件必須是可訪問(wèn)和可使用的,如果該文件和當(dāng)前JSP頁(yè)面在同一Web服務(wù)目錄中,那么“文件的URL”就是文件的名字;如果該文件在

10、JSP頁(yè)面所在的Web服務(wù)目錄的一個(gè)子目錄中,比如fileDir子目錄中,那么“文件的URL”就是“fileDir/文件的名字”。include指令標(biāo)記在編譯階段就處理所需要的文件,被處理的文件在邏輯和語(yǔ)法上依賴(lài)于當(dāng)前JSP頁(yè)面,其優(yōu)點(diǎn)是頁(yè)面的執(zhí)行速度快。2實(shí)驗(yàn)?zāi)康谋緦?shí)驗(yàn)的目的是讓學(xué)生掌握怎樣在JSP頁(yè)面中使用page指令設(shè)置contentType的值;使用include指令在JSP頁(yè)面中靜態(tài)插入一個(gè)文件的內(nèi)容。3實(shí)驗(yàn)要求編寫(xiě)三個(gè)JSP 頁(yè)面:first.jsp 、second.jsp和third.jsp。另外,要求用“記事本”編寫(xiě)一個(gè)TXT文件hello.txt。hello.txt的每行有若

11、干個(gè)英文單詞,單詞之間用空格分隔,每行之間用“<BR>”分隔,如下所示:hello.txtpackage apple void back public<BR>private throw class hello welcome(1)first.jsp的具體要求first.jsp使用page指令設(shè)置contentType屬性的值是text/plain,使用include指令靜態(tài)插入hello.txt文件。(2)second.jsp的具體要求second.jsp使用page指令設(shè)置contentType屬性的值是application/vnd.ms-powerpoint,使用

12、include指令靜態(tài)插入hello.txt文件。(3)third.jsp的具體要求third.jsp使用page指令設(shè)置contentType屬性的值是application/msword,使用include指令靜態(tài)插入hello.txt文件。4JSP頁(yè)面效果示例first.jsp(效果如圖2-3所示)圖2-3 contentType的值是text/plainsecond.jsp(效果如圖2-4所示)圖2-4 contentType的值是application/vnd.ms-powerpointthird.jsp(效果如圖2-5所示)圖2-5 contentType的值是applicatio

13、n/msword5參考代碼代碼僅供參考,學(xué)生可按照實(shí)驗(yàn)要求,參考本代碼編寫(xiě)代碼。JSP頁(yè)面參考代碼first.jsp<% page contentType="text/plain" %><HTML> <BODY > <FONT size=4 color=blule> <%include file="hello.txt" %> </FONT> </BODY></HTML>second.jsp<% page contentType="applica

14、tion/vnd.ms-powerpoint" %><HTML> <BODY > <FONT size=2 color=blule> <%include file="hello.txt" %> </FONT> </BODY></HTML>third.jsp<% page contentType="application/msword" %><HTML> <BODY > <FONT size=4 color=blul

15、e> <%include file="hello.txt" %> </FONT> </BODY></HTML> 實(shí)驗(yàn)3 JSP動(dòng)作標(biāo)記1相關(guān)知識(shí)點(diǎn)include 動(dòng)作標(biāo)記<jsp:include page="文件的URL"/>是在JSP頁(yè)面運(yùn)行時(shí)才處理加載的文件,被加載的文件在邏輯和語(yǔ)法上獨(dú)立于當(dāng)前JSP頁(yè)面。include 動(dòng)作標(biāo)記可以使用param子標(biāo)記向被加載的JSP文件傳遞信息。forward動(dòng)作標(biāo)記<jsp:forward page="要轉(zhuǎn)向的頁(yè)面" /

16、>的作用是:從該指令處停止當(dāng)前頁(yè)面的繼續(xù)執(zhí)行,而轉(zhuǎn)向執(zhí)行page屬性指定的JSP頁(yè)面。forward標(biāo)記可以使用param動(dòng)作標(biāo)記作為子標(biāo)記,以便向要轉(zhuǎn)向的JSP頁(yè)面?zhèn)魉托畔ⅰ?實(shí)驗(yàn)?zāi)康谋緦?shí)驗(yàn)的目的是讓學(xué)生掌握怎樣在JSP頁(yè)面中使用include標(biāo)記動(dòng)態(tài)加載文件;使用forward實(shí)現(xiàn)頁(yè)面的轉(zhuǎn)向。3實(shí)驗(yàn)要求編寫(xiě)四個(gè)JSP 頁(yè)面:one.jsp 、two.jsp、three.jsp和error.jsp。one.jsp 、two.jsp和three.jsp頁(yè)面都含有一個(gè)導(dǎo)航條,以便讓用戶(hù)方便地單擊超鏈接訪問(wèn)這三個(gè)頁(yè)面,要求這三個(gè)頁(yè)面通過(guò)使用include動(dòng)作標(biāo)記動(dòng)態(tài)加載導(dǎo)航條文件head.t

17、xt。導(dǎo)航條文件head.txt的內(nèi)容如下所示:head.txt<% page contentType="text/html;charset=GB2312" %> <table cellSpacing="1" cellPadding="1" width="60%" align="center" border="0" > <tr valign="bottom"> <td><A href="one

18、.jsp"><font size=3>one.jsp頁(yè)面</font></A></td> <td><A href="two.jsp"><font size=3>two.jsp頁(yè)面</font></A></td> <td><A href="three.jsp"><font size=3>three.jsp頁(yè)面</font></A></td> </

19、tr> </Font></table>(1)one.jsp的具體要求要求one.jsp頁(yè)面有一個(gè)表單,用戶(hù)使用該表單可以輸入一個(gè)1100之間的整數(shù),并提交給該頁(yè)面;如果輸入的整數(shù)在50100之間(不包括50)就轉(zhuǎn)向three.jsp,如果在150之間就轉(zhuǎn)向two.jsp;如果輸入不符合要求就轉(zhuǎn)向error.jsp。要求forward標(biāo)記在實(shí)現(xiàn)頁(yè)面轉(zhuǎn)向時(shí),使用param子標(biāo)記將整數(shù)傳遞到轉(zhuǎn)向的two.jsp或three.jsp頁(yè)面,將有關(guān)輸入錯(cuò)誤傳遞到轉(zhuǎn)向的error.jsp頁(yè)面。(2)two.jsp、three.jsp和error.jsp的具體要求要求two.js

20、p和three.jsp能輸出one.jsp傳遞過(guò)來(lái)的值,并顯示一幅圖像,該圖像的寬和高剛好是one.jsp頁(yè)面?zhèn)鬟f過(guò)來(lái)的值。error.jsp頁(yè)面能顯示有關(guān)的錯(cuò)誤信息和一幅 圖像。4JSP頁(yè)面效果示例one.jsp(效果如圖2-6所示)圖2-6 使用include動(dòng)作標(biāo)記加載導(dǎo)航條two.jsp(效果如圖2-7所示)圖2-7 得到param子標(biāo)記傳遞來(lái)的值three.jsp(效果如圖2-8所示)圖2-8 得到param子標(biāo)記傳遞來(lái)的值error.jsp(效果如圖2-9所示)圖2-9 顯示錯(cuò)誤信息5參考代碼代碼僅供參考,學(xué)生可按照實(shí)驗(yàn)要求,參考本代碼編寫(xiě)代碼。JSP頁(yè)面參考代碼one.jsp&l

21、t;% page contentType="text/html;charset=GB2312" %><HEAD> <jsp:include page="head.txt"/></HEAD><HTML><BODY bgcolor=yellow> <FORM action="" method=get name=form> 請(qǐng)輸入1至100之間的整數(shù):<INPUT type="text" name="number"&g

22、t; <BR> <INPUT TYPE="submit" value="送出" name=submit> </FORM> <% String num=request.getParameter("number"); if(num=null) num="0" try int n=Integer.parseInt(num); if(n>=1&&n<=50) %> <jsp:forward page="two.jsp" &

23、gt; <jsp:param name="number" value="<%=n%>" /> </jsp:forward><% else if(n>50&&n<=100) %> <jsp:forward page="three.jsp" > <jsp:param name="number" value="<%=n%>" /> </jsp:forward><% catc

24、h(Exception e) %> <jsp:forward page="error.jsp" > <jsp:param name="mess" value="<%=e.toString()%>" /> </jsp:forward><% %></BODY></HTML>two.jsp<% page contentType="text/html;charset=GB2312" %><HEAD> <j

25、sp:include page="head.txt"/></HEAD><HTML> <BODY bgcolor=yellow> <P><Font size=2 color=blue> This is two.jsp. </Font> <Font size=3> <% String s=request.getParameter("number"); out.println("<BR>傳遞過(guò)來(lái)的值是"+s); %> <B

26、R><img src="a.jpg" width="<%=s%>" height="<%=s%>" ></img> </FONT> </BODY></HTML>three.jsp<% page contentType="text/html;charset=GB2312" %><HEAD> <jsp:include page="head.txt"/></HEAD><HTML> <BODY bgcolor=yellow> <P><Font size=2

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論