版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上第2章 JSP頁面與JSP標(biāo)記(實(shí)驗(yàn))第2章共有3個(gè)實(shí)驗(yàn)。要求將Tomcat服務(wù)器的端口號恢復(fù)為默認(rèn)設(shè)置,即端口號為8080。要求在webapps目錄下新建一個(gè)Web服務(wù)目錄:practice2。除特別要求外,本章實(shí)驗(yàn)中涉及的JSP頁面均保存在practice2中。實(shí)驗(yàn)1 JSP頁面的基本結(jié)構(gòu)1相關(guān)知識點(diǎn)一個(gè)JSP頁面可由普通的HTML標(biāo)記、JSP標(biāo)記、成員變量和方法的聲明、Java 程序片以及Java表達(dá)式組成。JSP引擎把JSP頁面中的HTML標(biāo)記交給用戶的瀏覽器執(zhí)行顯示;JSP引擎負(fù)責(zé)處理JSP標(biāo)記、變量和方法聲明;JSP引擎負(fù)責(zé)運(yùn)行Java程序片、計(jì)算Java
2、 表達(dá)式,并將需要顯示的結(jié)果發(fā)送給用戶的瀏覽器。JSP頁面中的成員變量是被所有用戶共享的變量。Java 程序片可以操作成員變量,任何一個(gè)用戶對JSP頁面成員變量操作的結(jié)果,都會影響到其他用戶。如果多個(gè)用戶訪問一個(gè)JSP頁面,那么該頁面中的Java程序片就會被執(zhí)行多次,分別運(yùn)行在不同的線程中,即運(yùn)行在不同的時(shí)間片內(nèi)。運(yùn)行在不同線程中的Java程序片的局部變量互不干擾,即一個(gè)用戶改變Java程序片中的局部變量的值不會影響其他用戶的Java程序片中的局部變量。2實(shí)驗(yàn)?zāi)康谋緦?shí)驗(yàn)的目的是讓學(xué)生掌握怎樣在JSP頁面中使用成員變量,怎樣使用Java程序片、Java表達(dá)式。3實(shí)驗(yàn)要求編寫兩個(gè)JSP頁面,分別為
3、inputName.jsp和people.jsp。(1)inputName.jsp的具體要求該頁面有一個(gè)表單,用戶通過該表單輸入自己的姓名并提交給people.jsp頁面。(2)people.jsp的具體要求 該頁面有名字為person、類型是StringBuffer以及名字是count、類型為int的成員變量。 該頁面有public void judge ()方法。該方法負(fù)責(zé)創(chuàng)建person對象,當(dāng)count的值是0時(shí),judge ()方法創(chuàng)建person對象。 該頁面有public void addPerson(String p)方法,該方法將參數(shù)p指定的字符串添加到成員變量person末
4、尾,同時(shí)將count作自增運(yùn)算。 該頁面在程序片中獲取inputName.jsp頁面提交的姓名,然后調(diào)用judge()創(chuàng)建person對象、調(diào)用addPerson方法將用戶的姓名添加到成員變量person末尾。 如果inputName.jsp頁面沒有提交姓名,或姓名含有的字符個(gè)數(shù)大于10,就使用<jsp:forward page="要轉(zhuǎn)向的頁面"/>標(biāo)記將用戶轉(zhuǎn)到inputName.jsp頁面。 通過Java表達(dá)式輸出person和count的值。4JSP頁面效果示例inputName.jsp(效果如圖2-1所示)圖2-1 輸入姓名people.jsp(效果如圖
5、2-2所示)圖2-2 顯示姓名和人數(shù)5參考代碼代碼僅供參考,學(xué)生可按照實(shí)驗(yàn)要求,參考本代碼編寫代碼。JSP頁面參考代碼inputName.jsp<% page contentType="text/html;charset=GB2312" %><HTML><BODY bgcolor=cyan><FONT size=3> <FORM action="people.jsp" method=get name=form> 請輸入姓名:<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%>人瀏覽了該頁面,他們的名字是: <BR> <%=person%></FONT></BODY></HTML>實(shí)驗(yàn)2 JSP指令標(biāo)記1相關(guān)知識點(diǎn)page 指令<% page
9、 屬性1="屬性1的值" 屬性2= "屬性2的值" %>用來定義整個(gè)JSP頁面的一些屬性和這些屬性的值。比較常用的兩個(gè)屬性是contentType和import。page指令只能為contentType指定一個(gè)值,但可以為import屬性指定多個(gè)值。include指令標(biāo)記<% include file= "文件的URL " %>的作用是在JSP頁面出現(xiàn)該指令的位置處,靜態(tài)插入一個(gè)文件。被插入的文件必須是可訪問和可使用的,如果該文件和當(dāng)前JSP頁面在同一Web服務(wù)目錄中,那么“文件的URL”就是文件的名字;如果該文件在
10、JSP頁面所在的Web服務(wù)目錄的一個(gè)子目錄中,比如fileDir子目錄中,那么“文件的URL”就是“fileDir/文件的名字”。include指令標(biāo)記在編譯階段就處理所需要的文件,被處理的文件在邏輯和語法上依賴于當(dāng)前JSP頁面,其優(yōu)點(diǎn)是頁面的執(zhí)行速度快。2實(shí)驗(yàn)?zāi)康谋緦?shí)驗(yàn)的目的是讓學(xué)生掌握怎樣在JSP頁面中使用page指令設(shè)置contentType的值;使用include指令在JSP頁面中靜態(tài)插入一個(gè)文件的內(nèi)容。3實(shí)驗(yàn)要求編寫三個(gè)JSP 頁面:first.jsp 、second.jsp和third.jsp。另外,要求用“記事本”編寫一個(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頁面效果示例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)要求,參考本代碼編寫代碼。JSP頁面參考代碼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動作標(biāo)記1相關(guān)知識點(diǎn)include 動作標(biāo)記<jsp:include page="文件的URL"/>是在JSP頁面運(yùn)行時(shí)才處理加載的文件,被加載的文件在邏輯和語法上獨(dú)立于當(dāng)前JSP頁面。include 動作標(biāo)記可以使用param子標(biāo)記向被加載的JSP文件傳遞信息。forward動作標(biāo)記<jsp:forward page="要轉(zhuǎn)向的頁面" /
16、>的作用是:從該指令處停止當(dāng)前頁面的繼續(xù)執(zhí)行,而轉(zhuǎn)向執(zhí)行page屬性指定的JSP頁面。forward標(biāo)記可以使用param動作標(biāo)記作為子標(biāo)記,以便向要轉(zhuǎn)向的JSP頁面?zhèn)魉托畔ⅰ?實(shí)驗(yàn)?zāi)康谋緦?shí)驗(yàn)的目的是讓學(xué)生掌握怎樣在JSP頁面中使用include標(biāo)記動態(tài)加載文件;使用forward實(shí)現(xiàn)頁面的轉(zhuǎn)向。3實(shí)驗(yàn)要求編寫四個(gè)JSP 頁面:one.jsp 、two.jsp、three.jsp和error.jsp。one.jsp 、two.jsp和three.jsp頁面都含有一個(gè)導(dǎo)航條,以便讓用戶方便地單擊超鏈接訪問這三個(gè)頁面,要求這三個(gè)頁面通過使用include動作標(biāo)記動態(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頁面</font></A></td> <td><A href="two.jsp"><font size=3>two.jsp頁面</font></A></td> <td><A href="three.jsp"><font size=3>three.jsp頁面</font></A></td> </
19、tr> </Font></table>(1)one.jsp的具體要求要求one.jsp頁面有一個(gè)表單,用戶使用該表單可以輸入一個(gè)1100之間的整數(shù),并提交給該頁面;如果輸入的整數(shù)在50100之間(不包括50)就轉(zhuǎn)向three.jsp,如果在150之間就轉(zhuǎn)向two.jsp;如果輸入不符合要求就轉(zhuǎn)向error.jsp。要求forward標(biāo)記在實(shí)現(xiàn)頁面轉(zhuǎn)向時(shí),使用param子標(biāo)記將整數(shù)傳遞到轉(zhuǎn)向的two.jsp或three.jsp頁面,將有關(guān)輸入錯(cuò)誤傳遞到轉(zhuǎn)向的error.jsp頁面。(2)two.jsp、three.jsp和error.jsp的具體要求要求two.js
20、p和three.jsp能輸出one.jsp傳遞過來的值,并顯示一幅圖像,該圖像的寬和高剛好是one.jsp頁面?zhèn)鬟f過來的值。error.jsp頁面能顯示有關(guān)的錯(cuò)誤信息和一幅 圖像。4JSP頁面效果示例one.jsp(效果如圖2-6所示)圖2-6 使用include動作標(biāo)記加載導(dǎo)航條two.jsp(效果如圖2-7所示)圖2-7 得到param子標(biāo)記傳遞來的值three.jsp(效果如圖2-8所示)圖2-8 得到param子標(biāo)記傳遞來的值error.jsp(效果如圖2-9所示)圖2-9 顯示錯(cuò)誤信息5參考代碼代碼僅供參考,學(xué)生可按照實(shí)驗(yàn)要求,參考本代碼編寫代碼。JSP頁面參考代碼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> 請輸入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>傳遞過來的值是"+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. 本站所有資源如無特殊說明,都需要本地電腦安裝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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 5《七律 長征》 說課稿-2024-2025學(xué)年語文六年級上冊統(tǒng)編版001
- 2024年四年級英語下冊 Unit 7 What's the matter第4課時(shí)說課稿 譯林牛津版001
- 18《慈母情深》說課稿-2024-2025學(xué)年統(tǒng)編版語文五年級上冊001
- 2025門窗工程承包合同
- 2025市場咨詢服務(wù)合同范本
- 2025嫁接種苗技術(shù)服務(wù)合同書
- 2024-2025學(xué)年高中歷史 第2單元 西方人文精神的起源及其發(fā)展 第7課 啟蒙運(yùn)動說課稿 新人教版必修3
- 信息平臺建設(shè)合同范本
- 7 《我在這里長大》第一課時(shí)(說課稿)2023-2024學(xué)年統(tǒng)編版道德與法治三年級下冊
- 書推廣合同范例
- 機(jī)器狗:技術(shù)成熟性能優(yōu)越場景剛需放量在即2025
- 2025年村民代表會議講話稿(3篇)
- (一模)烏魯木齊地區(qū)2025年高三年級第一次質(zhì)量語文試卷(含答案)
- 2025開工大吉蛇年大吉開門紅模板
- 2025年日歷表(A4版含農(nóng)歷可編輯)
- 591食堂不合格食品處置制度
- 國際金融課件(完整版)
- 導(dǎo)向標(biāo)識系統(tǒng)設(shè)計(jì)(一)課件
- 220t鍋爐課程設(shè)計(jì) 李學(xué)玉
- 全英文劇本 《劇院魅影》
- 北京城的中軸線PPT通用課件
評論
0/150
提交評論