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

下載本文檔

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

文檔簡介

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

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

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

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

5、2-2所示)圖2-2 顯示姓名和人數(shù)5參考代碼代碼僅供參考,學生可按照實驗要求,參考本代碼編寫代碼。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>實驗2 JSP指令標記1相關知識點page 指令<% page

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

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

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

12、include指令靜態(tài)插入hello.txt文件。(3)third.jsp的具體要求third.jsp使用page指令設置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參考代碼代碼僅供參考,學生可按照實驗要求,參考本代碼編寫代碼。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> 實驗3 JSP動作標記1相關知識點include 動作標記<jsp:include page="文件的URL"/>是在JSP頁面運行時才處理加載的文件,被加載的文件在邏輯和語法上獨立于當前JSP頁面。include 動作標記可以使用param子標記向被加載的JSP文件傳遞信息。forward動作標記<jsp:forward page="要轉(zhuǎn)向的頁面" /

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

17、xt。導航條文件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頁面有一個表單,用戶使用該表單可以輸入一個1100之間的整數(shù),并提交給該頁面;如果輸入的整數(shù)在50100之間(不包括50)就轉(zhuǎn)向three.jsp,如果在150之間就轉(zhuǎn)向two.jsp;如果輸入不符合要求就轉(zhuǎn)向error.jsp。要求forward標記在實現(xiàn)頁面轉(zhuǎn)向時,使用param子標記將整數(shù)傳遞到轉(zhuǎn)向的two.jsp或three.jsp頁面,將有關輸入錯誤傳遞到轉(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頁面能顯示有關的錯誤信息和一幅 圖像。4JSP頁面效果示例one.jsp(效果如圖2-6所示)圖2-6 使用include動作標記加載導航條two.jsp(效果如圖2-7所示)圖2-7 得到param子標記傳遞來的值three.jsp(效果如圖2-8所示)圖2-8 得到param子標記傳遞來的值error.jsp(效果如圖2-9所示)圖2-9 顯示錯誤信息5參考代碼代碼僅供參考,學生可按照實驗要求,參考本代碼編寫代碼。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)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論