實驗二JSP內(nèi)置對像的使用_第1頁
實驗二JSP內(nèi)置對像的使用_第2頁
實驗二JSP內(nèi)置對像的使用_第3頁
實驗二JSP內(nèi)置對像的使用_第4頁
實驗二JSP內(nèi)置對像的使用_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、實 驗 報 告課程名稱:網(wǎng)絡(luò)數(shù)據(jù)庫編程專業(yè)班級:計算機科學(xué)與技術(shù)( )級學(xué)生學(xué)號:學(xué)生姓名:實驗名稱:實驗成績:課程類別: 必修限選þ 公選 其它JSP內(nèi)置對象(實驗)一、request對象1. 相關(guān)知識點HTTP通信協(xié)議是客戶與服務(wù)器之間一種提交(請求)信息與響應(yīng)信息(request/response)的通信協(xié)議。在JSP中,內(nèi)置對象request封裝了用戶提交的信息,那么該對象調(diào)用相應(yīng)的方法可以獲取封裝的信息,即使用該對象可以獲取用戶提交的信息。2實驗?zāi)康谋緦嶒灥哪康氖亲寣W(xué)生掌握怎樣在JSP中使用內(nèi)置對象request。3.實驗要求學(xué)會看懂前調(diào)試Testcode2文件夾中的文件。

2、二、session對象1. 相關(guān)知識點HTTP協(xié)議是一種無狀態(tài)協(xié)議。一個客戶向服務(wù)器發(fā)出請求(request),然后服務(wù)器返回響應(yīng)(response),連接就被關(guān)閉了。所以,Tomcat服務(wù)器必須使用內(nèi)置session對象(會話)記錄有關(guān)連接的信息。同一個客戶在某個Web服務(wù)目錄中的session是相同的;同一個客戶在不同的Web服務(wù)目錄中的session是互不相同的;不同用戶的session是互不相同的。一個用戶在某個web服務(wù)目錄的session對象的生存期限依賴于客戶是否關(guān)閉瀏覽器、依賴于session對象是否調(diào)用invalidate()方法使得session無效或session對象達(dá)到

3、了設(shè)置的最長的“發(fā)呆”時間。2實驗?zāi)康谋緦嶒灥哪康氖亲寣W(xué)生掌握怎樣使用session對象存儲和用戶有關(guān)的數(shù)據(jù)。3實驗要求編寫四個JSP 頁面inputGuess.jsp、,實現(xiàn)猜數(shù)字游戲。具體要求如下的具體要求用戶請求inputGuess.jsp時,隨機分配給該用戶一個1到100之間的數(shù)。該頁面同時負(fù)責(zé)將這個數(shù)字存在用戶的session對象中。該頁面提供表單,用戶可以使用該表單輸入自己的猜測,并提交給result.jsp頁面。頁面負(fù)責(zé)判斷inputGuess.jsp提交的猜測是否和用戶的session對象中存放的那個數(shù)字相同,如果相同就將用戶重定向到;如果不相同就將用戶重定向到或。的具體要求s

4、mall.jsp和large.jsp頁面提供表單,用戶可以使用該表單繼續(xù)輸入自己的猜測,并提交給result.jsp頁面。success.jsp的具體要求頁面負(fù)責(zé)負(fù)責(zé)顯示用戶成功的消息,并負(fù)責(zé)輸出用戶session對象中的數(shù)據(jù)。4JSP頁面效果示例(效果如圖4-4) 圖4-4 輸入猜測(效果如圖4-5) 圖4-5 猜大了(效果如圖4-6) 圖4-6 猜小了(效果如圖4-) 圖4-7 猜成功了5參考代碼代碼僅供參考,學(xué)生可按著實驗要求,參考本代碼編寫代碼。JSP頁面參考代碼<% page contentType="text/html;charset=GB2312" %&

5、gt;<HTML><BODY bgcolor=cyan><FONT Size=2><P>隨機分給了你一個1到100之間的數(shù),請猜! <% int number=(int)(Math.random()*100)+1; session.setAttribute("count",new Integer(0); session.setAttribute("save",new Integer(number); %> <FORM action="result.jsp" method

6、="post" name=form> 輸入你的猜測:<INPUT type="text" name="boy" > <INPUT TYPE="submit" value="送出" name="submit"> </FORM></FONT></BODY></HTML><% String str=request.getParameter("boy"); if(str.lengt

7、h()=0) response.sendRedirect("inputGuess.jsp"); int guessNumber=-1; try guessNumber=Integer.parseInt(str); Integer integer=(Integer)session.getAttribute("save"); int realnumber=Value(); if(guessNumber=realnumber) int n=(Integer)session.getAttribute("count").i

8、ntValue(); n=n+1; session.setAttribute("count",new Integer(n); response.sendRedirect("success.jsp"); else if(guessNumber>realnumber) int n=(Integer)session.getAttribute("count").intValue(); n=n+1; session.setAttribute("count",new Integer(n); response.sendRe

9、direct("large.jsp"); else if(guessNumber<realnumber) int n=(Integer)session.getAttribute("count").intValue(); n=n+1; session.setAttribute("count",new Integer(n); response.sendRedirect("small.jsp"); catch(Exception e) response.sendRedirect("inputGuess.j

10、sp"); %><% page contentType="text/html;charset=GB2312" %><HTML><BODY bgcolor=cyan> <FONT Size=2> <FORM action="result.jsp" method="get" name=form > 猜小了,請再猜:<INPUT type="text" name="boy" > <INPUT TYPE=&qu

11、ot;submit" value="送出" name="submit"> </FORM></FONT></BODY></HTML><% page contentType="text/html;charset=GB2312" %><HTML><BODY bgcolor=cyan> <FONT Size=2> <FORM action="result.jsp" method="get"

12、; name=form > 猜大了,請再猜:<INPUT type="text" name="boy" > <INPUT TYPE="submit" value="送出" name="submit"> </FORM></FONT></BODY></HTML><% page contentType="text/html;charset=GB2312" %><HTML><B

13、ODY bgcolor=cyan><FONT Size=2><% int count=(Integer)session.getAttribute("count").intValue();int num=(Integer)session.getAttribute("save").intValue();%><P>恭喜你,猜對了<BR>您共猜了<%=count%>次,這個數(shù)字就是<%=num%>。<BR>單擊超鏈接返回到inputGuess.jsp頁面:<BR>

14、;<A href="inputGuess.jsp">inputGuess.jsp</A> </FONT></BODY></HTML>有效范圍為application的bean(選讀)1. 相關(guān)知識點JSP頁面使用useBean標(biāo)記調(diào)用一個有效范圍是application的bean:<jsp:useBeanid= "bean起的名字" class= "創(chuàng)建bean的類" scope= "application"></jsp:useBean&

15、gt;或<jsp:useBeanid= "bean起的名字" class= "創(chuàng)建bean的類" scope= "application"/>JSP引擎為Web服務(wù)目錄下所有的JSP頁面分配一個共享的bean,不同用戶的scope取值是application的bean也都是相同的的一個,也就是說,當(dāng)多個用戶同時訪問一個JSP頁面時,任何一個用戶對自己bean的屬性的改變,都會影響到其他的用戶。2實驗?zāi)康谋緦嶒灥哪康氖亲寣W(xué)生掌握使用有效范圍是application的bean制作一個簡單的留言板。3實驗要求要求編寫兩個JSP頁

16、面:inputMess.jsp和show.jsp。編寫一個名字為board的Javabean,其中board由MessBoard.class類負(fù)責(zé)創(chuàng)建。1.input.jsp頁面提供一個表單。其中表單允許用戶輸入留言者的姓名、留言標(biāo)題和留言內(nèi)容期,該表單將用戶輸入的信息提交給當(dāng)前頁面,當(dāng)前頁面調(diào)用名字為board的bean,并使用表單提交的數(shù)據(jù)設(shè)置board的有關(guān)屬性的值。要求在inputMess.jsp提供一個超鏈接,以便用戶單擊這個超鏈接訪問show.jsp頁面。2.show.jsp調(diào)用名字為board的bean,并顯示該bean的allMessage屬性的值。ractice7WEB-IN

17、Fclassestomjiafei目錄中。4JSP頁面效果示例(效果如圖7-4) 圖7-4 設(shè)置有效范圍是application的bean(效果如圖7-5) 圖7-5 顯示有效范圍是application的bean5參考代碼代碼僅供參考,學(xué)生可按著實驗要求,參考本代碼編寫代碼。JSP頁面參考代碼<% page contentType="text/html;charset=GB2312" %><% page import="tom.jiafei.MessBoard"%><jsp:useBean id="board&q

18、uot; class="tom.jiafei.MessBoard" scope="application"/><HTML><BODY> <FORM action="" method="post" name="form"> 輸入您的名字:<BR><INPUT type="text" name="name"> <BR>輸入您的留言標(biāo)題:<BR><INPUT type

19、="text" name="title"> <BR>輸入您的留言:<BR> <TEXTAREA name="content" ROWs="10" COLS=36 WRAP="physical"></TEXTAREA> <BR><INPUT type="submit" value="提交信息" name="submit"> </FORM> <j

20、sp:setProperty name="board" property="*"/> <A href="show.jsp">查看留言板</A></BODY></HTML><% page contentType="text/html;charset=GB2312" %><% page import="tom.jiafei.MessBoard"%><jsp:useBean id="board" c

21、lass="tom.jiafei.MessBoard" scope="application"/><HTML><BODY bgcolor=yellow> <jsp:getProperty name="board" property="allMessage"/> <A href="inputMess.jsp">我要留言</A></FONT></BODY></HTML>Javabean源文件參考代碼

22、package tom.jiafei;import java.util.*;import java.text.SimpleDateFormat;public class MessBoard String name,title,content; StringBuffer allMessage; ArrayList<String> savedName,savedTitle,savedContent,savedTime; public MessBoard() savedName=new ArrayList<String>(); savedTitle=new ArrayList

23、<String>(); savedContent=new ArrayList<String>(); savedTime=new ArrayList<String>(); public void setName(String s) try byte bb=s.getBytes("iso-8859-1"); s=new String(bb); catch(Exception exp) name=s; savedName.add(name); Date time=new Date(); SimpleDateFormat matter=new S

24、impleDateFormat("yyyy-MM-dd,HH:mm:ss"); String messTime=matter.format(time); savedTime.add(messTime); public void setTitle(String t) try byte bb=t.getBytes("iso-8859-1"); t=new String(bb); catch(Exception exp) title=t; savedTitle.add(title); public void setContent(String c) try b

25、yte bb=c.getBytes("iso-8859-1"); c=new String(bb); catch(Exception exp) content=c; savedContent.add(content); public StringBuffer getAllMessage() allMessage=new StringBuffer(); allMessage.append("<table border=1>"); allMessage.append("<tr>"); allMessage.append("<th>留言者姓名</th>"); allMessage.append("<th>留言標(biāo)題</th>"); allMessage.append("<th>留言內(nèi)容</th>"); allMessage.append("<th>

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論