版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、實驗一1實驗目的(1)掌握怎樣設置Web服務目錄、怎樣訪問Web服務目錄下的JSP頁面。(2)掌握怎樣在JSP頁面中使用成員變量、怎樣使用Java程序片、Java表達式。2實驗內(nèi)容1. 輸出所有1到1000內(nèi)的完數(shù)。(perfect.jsp)一個數(shù)如果恰好等于除它本身外的因子之和,這個數(shù)就稱為"完數(shù)",也叫“完美數(shù)”。例如6=123.(6的因子是1,2,3),因此,6 就是一個完數(shù)。2. 輸出乘法口訣表。(multi.jsp)3. 編寫兩個JSP 頁面,名字分別為inputName.jsp和people.jsp。3實驗要求1)在硬盤分區(qū)D下新建一個目錄,名字為:studen
2、t,將student設置為Web服務目錄,并為該Web服務目錄指定名字為practice的虛擬目錄。在tomcat的安裝目錄中的confCatalinalocalhost下新建一個xml文件,通過文件來設置新的web服務目錄。必須在瀏覽器的地址欄中輸入:Tomcat服務器的IP地址和端口號,并通過虛擬目錄practice訪問Web服務目錄student下的JSP頁面。2)啟動Tomcat服務器(如果已經(jīng)啟動,必須關閉Tomcat服務器,并重新啟動)。3)用文本編輯器ultraedit編寫JSP頁,并保存到Web服務目錄student中。4)用瀏覽器訪問Web服務目錄student中的JSP頁面
3、。5)inputName.jsp的具體要求該頁面有一個表單,用戶通過該表單輸入自己的姓名并提交給people.jsp頁面。6)people.jsp的具體要求(1)JSP頁面有名字為person、類型是StringBuffer以及名字是count,類型為int的成員變量。(2)JSP有public void judge ()方法。該方法負責創(chuàng)建person對象,當count的值是0 時,judge ()方法創(chuàng)建person對象。(3)JSP有public void addPerson(String p)的方法,該方法將參數(shù)p指定的字符串尾加到操作成員變量person,同時將count作自增運算。
4、(4)JSP頁面在程序片中獲取inputName.jsp頁面提交的姓名,然后調(diào)用judge ()創(chuàng)建person對象、調(diào)用addPerson方法將用戶的姓名尾加到成員變量person。(5)如果inputName.jsp頁面沒有提交姓名,或姓名含有的字符個數(shù)大于10,就使用<jsp:forward page="要轉(zhuǎn)向的頁面" />標記將將用戶轉(zhuǎn)到inputName.jsp頁面。(6)通過Java表達式輸出person和count的值。7)前兩個實驗任選一個實現(xiàn)即可,第3個實驗為必做題。8)寫出xml文件的代碼以及jsp文件的源代碼、運行結(jié)果(截圖)。4 實驗代碼
5、Practice xml文件代碼:<Context path="/practice" docBase="D:student” debug="0" reloadable="true" />實驗2代碼:<%page contentType="text/html;charset=GB2312"%><html><head><title>乘法口訣表</title></head><table border="1&quo
6、t;><%for(int i=1;i<10;i+)%><tr><%for (int j=1;j<=i;j+) %><td><%=j%> *<%=i%> =<%=i*j%> </td><% %></tr><%></table></html>效果截圖:實驗3:inputName.jsp 代碼:<% page contentType="text/html;Charset=GB2312" %><
7、;html><body bgcolor=yellow><FONT size=3><FORM action="people.jsp" method=get name=form> 請輸入姓名:<INPUT type="text" name="name"><INPUT type="submit" value="提交" name=submit ></FORM></body></html>people.j
8、sp代碼:<% page contentType="text/html;Charset=GB2312" %><%!int count;StringBuffer person;public void judge()if(count=0)person=new StringBuffer(); public void addPerson(String p)person.append(" "+p); count+;%><%String textContent=request.getParameter("name")
9、;if(textContent.length()>10|textContent.length()=0) %><jsp:forward page="inputName.jsp" /><%judge();addPerson(textContent);%>共有<%=count %>個人瀏覽過該頁面<br>他們的名字是: <%=person %>。運行結(jié)果截圖:實驗二1實驗目的(1)掌握怎樣在JSP頁面中使用page指令設置contentType的值;使用include指令在JSP頁面中靜態(tài)插入一個文件的內(nèi)容。
10、(2)掌握怎樣在JSP頁面中使用include標記動態(tài)加載文件;使用forward實現(xiàn)頁面的轉(zhuǎn)向。2實驗內(nèi)容(1)編寫三個JSP 頁面:first.jsp 、second.jsp和third.jsp。另外,要求用“記事本”編寫一個txt文件hello.txt。hello.txt的每行有若干個英文單詞,單詞之間用空格分隔,每行之間用“<BR>”分隔,如下所示:hello.txtpackage apple void back public <BR>private throw class hello welcome(2)編寫四個JSP 頁面:one.jsp 、two.jsp、
11、three.jsp和error.jsp。one.jsp 、two.jsp和three.jsp頁面都含有一個一個導航條,以便讓用戶方便地單擊超鏈接訪問這三個頁面,要求這三個頁面通過使用include動作標記動態(tài)加載導航條文件:head.txt。導航條文件head.txt的內(nèi)容如下所示:head.txt<% page contentType="text/html;charset=GB2312" %> <table cellSpacing="1" cellPadding="1" width="60%"
12、align="center" border="0" > <tr valign="bottom"> <td><A href="one.jsp"><font size=3>one.jsp頁面</font></A></td> <td><A href="two.jsp"><font size=3>two.jsp頁面</font></A></td>
13、; <td><A href="three.jsp"><font size=3>three.jsp頁面</font></A></td> </tr> </Font></table>3.實驗要求(1)first.jsp的具體要求first.jsp使用page指令設置contentType屬性的值是text/plain,使用include指令靜態(tài)插入hello.txt文件。(2)second.jsp的具體要求second.jsp使用page指令設置contentType屬性的
14、值是application/vnd.ms-powerpoint,使用include指令靜態(tài)插入hello.txt文件。(3)third.jsp的具體要求third.jsp使用page指令設置contentType屬性的值是application/msword,使用include指令靜態(tài)插入hello.txt文件。(4)one.jsp的具體要求要求one.jsp頁面有一個表單,用戶使用該表單可以輸入一個1至100之間的整數(shù),并提交給當前頁面;如果輸入的整數(shù)在50至100之間(不包括50)就轉(zhuǎn)向three.jsp,如果在1至50之間就轉(zhuǎn)向two.jsp;如果輸入不符合要求就轉(zhuǎn)向error.jsp。
15、要求forward標記在實現(xiàn)頁面轉(zhuǎn)向時,使用param子標記將整數(shù)傳遞到轉(zhuǎn)向的two.jsp或three.jsp頁面,將有關輸入錯誤傳遞到轉(zhuǎn)向的error.jsp頁面(5) two.jsp、three.jsp和error.jsp的具體要求要求two.jsp和three.jsp能輸出one.jsp傳遞過來的值,并顯示一幅圖像,該圖像的寬和高剛好是one.jsp頁面?zhèn)鬟f過來的值。error頁面能顯示有關錯誤信息,和一幅圖像。(6)寫出jsp文件的源代碼、運行結(jié)果(截圖)。4代碼及效果截圖first.jsp代碼:<% page contentType="text/plain;char
16、set=GB2312" %><HTML><BODY><FONT color=purple><% include file="hello.txt"%></FONT></BODY></HTML>效果截圖:second.jsp代碼:<% page contentType="application/vnd.ms-powerpoint;charset=GB2312" %><HTML><BODY><% include file
17、="hello.txt"%></BODY></HTML>效果截圖;圖4 contentType的值是application/vnd.ms-powerpointthird.jsp代碼:<% page contentType="application/msword;charset=GB2312" %><HTML><BODY><% include file="hello.txt"%></BODY></HTML>效果截圖:one.jsp代碼:
18、<% page contentType="text/html;charset=GB2312" %><html><body bgcolor=yellow ><% include file="head.txt"%><br>請輸入1100的整數(shù):<form action="" method=post name=form><input type="text" name="number" ><br><in
19、put type="submit" value="提交" name="submit" ></form> <%String number=request.getParameter("number"); if(number=null)number="0"int n=Integer.parseInt(number); if(n<=50&&n>=1)%><jsp:forward page="two.jsp"> &l
20、t;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><%else if(n>100)%
21、><jsp:forward page="error.jsp"><jsp:param name="number" value="<%=n%>"/></jsp:forward><% %></body></html>效果截圖;two.jsp代碼:<% page contentType="text/html;charset=GB2312" %><html><body bgcolor=yellow>&
22、lt;font size=3>這是two.jsp頁面。<br><%String s=request.getParameter("number");out.println("傳遞過來的值是:"+s);%><br><img src=two.jpg width=<%=s%> height=<%=s%>></img></font></body></html>效果截圖;three.jsp代碼;<% page contentType=&
23、quot;text/html;charset=GB2312" %><html><body bgcolor=yellow><font size=3>這是three.jsp頁面。<br><%String s=request.getParameter("number");out.println("傳遞過來的值是:"+s);%><br><img src=two.jpg width=<%=s%> height=<%=s%>></img&
24、gt;</font></body></html>效果截圖:error.jsp代碼:<% page contentType="text/html;charset=GB2312" %><html><body bgcolor=yellow><font size=3>這是error.jsp頁面。<br><%String e=request.getParameter("number");out.println("傳遞過來的值是:"+e);%&g
25、t;<br><img src=two.jpg width=100 height=100></img></font></body></html>、效果截圖:實驗三1.實驗目的(1)掌握怎樣在JSP中使用內(nèi)置對象request,以及使用response對象動態(tài)響應用戶的請求。(2)掌握怎樣使用session對象存儲和用戶有關的數(shù)據(jù)。2實驗內(nèi)容(1)編寫兩個JSP頁面input.jsp和result.jsp。input.jsp頁面提交一個數(shù)字給result.jsp頁面,result.jsp頁面使用response對象做出動態(tài)響應
26、。(2)編寫四個JSP 頁面letter.jsp、guess.jsp、small.jsp、large.jsp,實現(xiàn)猜字母游戲。3 實驗要求(1)input.jsp的具體要求input.jsp提供表單,用戶在表單中輸入一個數(shù)字,提交給result.jsp頁面。(2)result.jsp的具體要求result.jsp頁面首先使用request對象獲得input.jsp頁面提交的數(shù)字,然后根據(jù)數(shù)字的大小作出不同的響應。如果數(shù)字小與0,response對象的調(diào)用setContentType(String s)方法將contentType屬性的值設置為text/plain,同時輸出數(shù)字的平方;如果數(shù)字大
27、于等于0并且小于100,response對象的調(diào)用setContentType(String s)方法將contentType屬性的值設置為application/msword,同時輸出數(shù)字的立方;如果數(shù)字大于等于100,response對象調(diào)用setStatus(int n)方法將狀態(tài)行的內(nèi)容設置為404;如果用戶在input.jsp頁面輸入了非數(shù)字,response對象調(diào)用sendRedirect(URL url)方法將用戶的重定向到input.jsp頁面。(3)letter.jsp的具體要求將要猜測的a到z之間的字母放到一個數(shù)組中,隨機分配給用戶。該頁面同時負責將這個字母存在用戶的ses
28、sion對象中。該頁面提供表單,用戶可以使用該表單輸入自己的猜測,并提交給guess.jsp頁面。(4)guess.jsp的具體要求判斷l(xiāng)etter.jsp提交的猜測是否和用戶的session對象中存放的那個字母相同,如果相同就輸出用戶session對象中的數(shù)據(jù)(猜測的次數(shù)及猜測的字母);如果不相同就將用戶重定向到large.jsp或small.jsp。(5)寫出jsp文件的源代碼、運行結(jié)果(截圖)。4JSP頁面效果示例input.jsp代碼:<% page contentType="text/html;Charset=GB2312" %><html>
29、;<body> 請輸入數(shù)字或字符串:<form action="result.jsp" method=post name=form><input type="text" name="number"> <input type="submit" value="提交" name="submit"></form> </body></html>效果截圖:result.jsp代碼為:<% page
30、contentType="text/html;Charset=GB2312" %><html><body> 獲取文本框提交的信息:<% String number=request.getParameter("number"); if(number=null) number="0" try Double n=Double.parseDouble(number); if(n<0) response.setContentType("text/html;charset=GB2312"
31、;); out.println("輸入的數(shù)字"+n+"的平方是:"+n*n); else if(n<100) response.setContentType("application/msword;Charset=GB2312"); out.println("輸入的數(shù)字"+n+"的立方是:"+n*n*n); else response.setStatus(404); catch(Exception e) response.sendRedirect("input.jsp"
32、); %></body></html>效果截圖為:letter.jsp代碼:<% page contentType="text/html;charset=GB2312" %><html><body>隨機分給了您一個a到z之間的字母,請您猜測:<% char a=new char30; int i,n=0; for(i=97;i<=122;i+) an+=(char)(i); char letter=a(int)(Math.random()*26); session.setAttribute(&qu
33、ot;count",new Integer(0); session.setAttribute("save",new Character(letter);%><br>輸入您的所猜的字母:<form action="guess.jsp" method="get" name=form><input type="text" name="letter" > <input type="submit" value="提交&
34、quot; name="submit"></form></body></html>效果截圖:guess.jsp代碼;<% page contentType="text/html;charset=GB2312" %><html><body><% String str=request.getParameter("letter"); if(str=null|str="") response.sendRedirect("lette
35、r.jsp"); else char guessLetter = str.charAt(0); if(guessLetter>'z'|guessLetter<'a') %> <a href="letter.jsp">請輸入一個小寫字母</a> <% else Character a=(Character)session.getAttribute("save"); char realLetter=a.charValue(); if(guessLetter=realLe
36、tter) int n=(Integer)session.getAttribute("count").intValue(); n=n+1; out.println("您猜對了!,該字母就是:"+realLetter+"!您一共猜了"+n+"次!"); %> <a href="letter.jsp">再玩兒一次</a><% else if(guessLetter>realLetter) int n=(Integer)session.getAttribute
37、("count").intValue(); n=n+1; session.setAttribute("count",new Integer(n); response.sendRedirect("large.jsp"); else if(guessLetter<realLetter) int n=(Integer)session.getAttribute("count").intValue(); n=n+1; session.setAttribute("count",new Integer(
38、n); response.sendRedirect("small.jsp"); %></body></html>Small.jsp代碼:<% page contentType="text/html;charset=GB2312" %><html><body bgcolor=yellow>所猜的數(shù)比實際的數(shù)小,請再猜:<form action="guess.jsp" method="post" name=form><input typ
39、e="text" name="letter" > <input type="submit" value="提交" name="submit"></form></body></html>效果截圖:效果截圖:Lager.jsp代碼<% page contentType="text/html;charset=GB2312" %><html><body>所猜的數(shù)比實際的數(shù)大,請再猜:<fo
40、rm action="guess.jsp" method="get" name=form ><input type="text" name="letter" > <input TYPE="submit" value="提交" name="submit"></form></body></html>效果截圖:實驗四1.實驗目的(1)掌握使用有效范圍是request的bean顯示汽車的基本信息。(
41、2)掌握使用有效范圍是session的bean顯示汽車的基本信息。(3)對不同有效范圍的bean進行對比。2實驗內(nèi)容(1)編寫一個JSP頁面:inputAndShow.jsp和一個名字為car的Javabean,其中car由Car.class類負責創(chuàng)建。(2)編寫兩個JSP頁面:inputCar.jsp和showCar.jsp。bean可使用(1)中的Car.java。3實驗要求(1) inputAndShow.jsp的具體要求inputAndShow.jsp頁面提供一個表單。其中表單允許用戶輸入汽車的牌號、名稱和生產(chǎn)日期,該表單將用戶輸入的信息提交給當前頁面,當前頁面調(diào)用名字為car的bea
42、n,并使用表單提交的數(shù)據(jù)設置car的有關屬性的值,然后顯示car的各個屬性的值。(2) Car.java的具體要求編寫的Car.java應當有刻畫汽車號碼、名稱和生產(chǎn)日期的屬性,并提供相應的getXxx和setXxx方法,來獲取和修改這些屬性的值。Car.java的包名是practice。(3) inputCar.jsp的具體要求inputCar.jsp頁面提供一個表單。其中表單允許用戶輸入汽車的牌號、名稱和生產(chǎn)日期,該表單將用戶輸入的信息提交給當前頁面,當前頁面調(diào)用名字為car的bean,并使用表單提交的數(shù)據(jù)設置car的有關屬性的值。要求在inputCar.jsp提供一個超鏈接,以便用戶單擊
43、這個超鏈接訪問showCar.jsp頁面。(4) showCar.jsp的具體要求showCar.jsp調(diào)用名字為car的bean,并顯示該bean的各個屬性的值。(5) 寫出jsp文件的源代碼、運行結(jié)果(截圖),以及JSP實驗課的心得體會。4JSP頁面效果示例Car.java代碼;package practice;public class Car String carName,carNumber="",date="" StringBuffer carWatch=new StringBuffer(); public void setDate(String
44、 d) date=d; public String getDate() return date; public void setCarName(String n) carName=n; public String getCarName() return carName; public void setCarNumber(String s) carNumber=s; public String getCarNumber() return carNumber; public StringBuffer getCarWatch() if(carName!=null&&carName.l
45、ength()>0&&date.length()>0&&carNumber!=null&&carNumber.length()>0) carWatch.append("<tr>"); carWatch.append("<td>"); carWatch.append(carNumber); carWatch.append("</td>"); carWatch.append("<td>"); carWatc
46、h.append(carName); carWatch.append("</td>"); carWatch.append("<td>"); carWatch.append(""+date); carWatch.append("</td>"); carWatch.append("</tr>"); return carWatch; inputAndShow.jsp代碼;<% page contentType="text/html;Cha
47、rset=GB2312" %><% page import="practice.*"%><jsp:useBean id="list" class="r" scope="request"/><jsp:setProperty name="list" property="carName" param="carName" /><jsp:setProperty name="list" pr
48、operty="carNumber" param="carNumber" /><jsp:setProperty name="list" property="date" param="date" /><html><body> <form action="" method=post name=form> 汽車牌號:<input type="text" name="carNumber"
49、;> <br> 汽車名稱:<input type="text" name="carName"> <br> 汽車生產(chǎn)日期:<input type="text" name="date"> <input type="submit" value="提交" name="submit"></form> <table border=1 ><tr><th>汽車牌號</th><th>汽車名稱</th><th>汽車生產(chǎn)日期</th><tr><jsp:getProperty name=&q
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 自動駕駛技術(shù)應用總結(jié)
- 體育娛樂行業(yè)人力資源總結(jié)
- 新媒體行業(yè)技術(shù)工作概覽
- 音響行業(yè)演出場地衛(wèi)生消毒方案
- 食品安全銷售總結(jié)
- 非公開發(fā)行股票認購協(xié)議三篇
- 2024年稅務師題庫(輕巧奪冠)
- 2024年美術(shù)教案7篇合集
- 2024年福建開放大學《網(wǎng)絡測試與故障維修》形成性考核參考試題庫(含答案)
- 農(nóng)藥打藥服務協(xié)議書(2篇)
- 2024年度無人機部件委托生產(chǎn)加工合同
- 中華人民共和國建筑法
- 心里疏導課件教學課件
- 統(tǒng)編版2024-2025學年語文五年級上冊日積月累專項訓練練習題
- 基于機器學習的供應鏈風險預測
- 2024-2025年職業(yè)技能:全國高速公路收費員從業(yè)資格知識考試題庫與答案
- 阜陽師范大學《法學概論》2023-2024學年期末試卷
- 新版中國食物成分表
- 2024河南鄭州市金水區(qū)事業(yè)單位招聘45人歷年高頻難、易錯點500題模擬試題附帶答案詳解
- 湘教版八年級音樂下冊教案全冊
- 食物損失和浪費控制程序
評論
0/150
提交評論