版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
重慶交通大學(xué)學(xué)生實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)課程名稱JSP程序設(shè)計(jì)開課實(shí)驗(yàn)室管理學(xué)院計(jì)算機(jī)房學(xué)院信息管理專業(yè)級(jí)班學(xué)生姓名學(xué)號(hào)開課時(shí)間20至20學(xué)年第一學(xué)期總成績教師簽名實(shí)驗(yàn)1:熟悉MyEclipse實(shí)驗(yàn)?zāi)康模喊惭bMyEclipse并熟悉MyEclipse的操作環(huán)境,學(xué)習(xí)在MyEclipse環(huán)境中簡單的創(chuàng)建、編輯和運(yùn)行JSP頁面相關(guān)操作。實(shí)驗(yàn)要求:創(chuàng)建一個(gè)web項(xiàng)目并通過新建包和新建Jsp頁面,編輯并運(yùn)行該JSP頁面。實(shí)驗(yàn)步驟及結(jié)果:打開運(yùn)MyEclipse軟件。新建一個(gè)web項(xiàng)目。新建一個(gè)MyTest的目錄。在MyTest的目錄下新建一個(gè)Jsp頁面,命名為Myjsp。引用java文件:<%@pageimport="tom.jiafei.*"%><jsp:useBeanid="car"class="tom.jiafei.Car"scope="session"/>引用tag文件:在系統(tǒng)提供的初始代碼下不用編輯,直接運(yùn)行JSP。在瀏覽器中輸入地址,得到結(jié)果實(shí)驗(yàn)2.8:JSP頁面的基本結(jié)構(gòu)實(shí)驗(yàn)?zāi)康模赫莆赵鯓釉贘SP頁面中使用成員變量,怎樣使用Java程序片以及Java表達(dá)式。實(shí)驗(yàn)要求:編寫兩個(gè)JSP頁面,名字分別為inputName.jsp和people.jsp。代碼:inputName.jsp:<%@pagecontentType="text/html;charset=GB2312"%><html><head><title></title></head><bodybgcolor=cyan><formaction="people.jsp"method="get"name=form>請(qǐng)輸入姓名:<inputtype="text"name="name"><br><inputtype="submit"value="送出"name=submit></form></body></html>people.jsp:<%@pagecontentType="text/html;charset=GB2312"%><html><head><title></title></head><body><%!intcount;StringBufferpersonList;publicvoidjudge(){if(count==0)personList=newStringBuffer();}publicvoidaddPerson(Stringp){if(count==0)personList.append(p);elsepersonList.append(","+p);count++;}%><%Stringname=request.getParameter("name");bytebb[]=name.getBytes("iso-8859-1");name=newString(bb);if(name.length()==0||name.length()>20){%><jsp:forwardpage="inputName.jsp"/><%}judge();addPerson(name);%><br>目前共有<%=count%>人瀏覽了該頁,他們是:<br><%=personList%></body></html>實(shí)驗(yàn)結(jié)果:inputName.jsp:點(diǎn)擊“送出”按鈕后頁面:實(shí)驗(yàn)2.9:JSP指令標(biāo)記實(shí)驗(yàn)?zāi)康模赫莆赵鯓釉贘SP頁面中使用page指令設(shè)置contentType的值;使用include指令在JSP頁面中靜態(tài)插入一個(gè)文件的內(nèi)容。實(shí)驗(yàn)要求:編寫三個(gè)JSP頁面:first.jsp、second.jsp、third.jsp。要求用“記事本”編寫一個(gè)TXT文件hello.txt。hello.txt的每行有若干個(gè)英文單詞,這些英文單詞之間用空格分隔,每行之間用“<BR>”分隔,如下所示:hello.txtmyfirstpage<BR>publicvoidhellowelcome相關(guān)部分代碼:first.jsp:second.jsp:<%@pagecontentType="application/vnd.ms-powerpoint;charset=GB2312"%><html><head><title></title></head><body><%@includefile="hello.txt"%></body></html>實(shí)驗(yàn)2.10:JSP動(dòng)作標(biāo)記實(shí)驗(yàn)?zāi)康模赫莆赵鯓釉贘SP頁面中使用include標(biāo)記動(dòng)態(tài)加載文件;使用forward動(dòng)作標(biāo)記實(shí)現(xiàn)頁面的轉(zhuǎn)向。實(shí)驗(yàn)要求:編寫四個(gè)JSP頁面:one.jsp、two.jsp、three.jsp和error.jsp。one.jsp、two.jsp和three.jsp頁面都含有一個(gè)導(dǎo)航條,以便讓用戶方便地點(diǎn)擊鏈接訪問這三個(gè)頁面,要求這三個(gè)頁面通過使用include動(dòng)作標(biāo)記動(dòng)態(tài)加載導(dǎo)航條文件head.txt。導(dǎo)航條文件head.txt的內(nèi)容如下:head.txt<%@pagecontentType=”text/html;charset=GB2312”%<tablecellSpacing=”1”width=”60%”align=”center”border=”0<trvalign=”bottom”><td><ahref=”one.jsp”><fontsize=3>one.jsp頁面</font></td><td><ahref=”two.jsp”><fontsize=3>two.jsp頁面</font></td><td><ahref=”three.jsp”><fontsize=3>three.jsp頁面</font></td></tr></table>部分代碼:one.jsp:<%@pagecontentType="text/html;charset=GB2312"%><html><head><title></title><jsp:includepage="head.txt"/></head><body><formaction=""method="get">請(qǐng)輸入1至100之間的整數(shù):<inputtype="text"name="number"><br><inputtype="submit"value="送出"name=submit></form><%Stringnum=request.getParameter("number");if(num==null)num="0";try{intn=Integer.parseInt(num);if(n>=1&&n<=50){%><jsp:forwardpage="two.jsp"><jsp:paramname="txtnum"value="<%=n%>"/></jsp:forward><%}elseif(n>50&&n<=100){%><jsp:forwardpage="three.jsp"><jsp:paramname="txtnum"value="<%=n%>"/></jsp:forward><%}elseif(n>100){%><jsp:forwardpage="error.jsp"><jsp:paramname="mess"value="<%=n%>"/></jsp:forward><%}}catch(Exceptione){%><jsp:forwardpage="error.jsp"><jsp:paramname="mess"value="<%=e.toString()%>"/></jsp:forward><%}%></body></html>two.jsp:<%@pagecontentType="text/html;charset=GB2312"%><html><head><title></title><jsp:includepage="head.txt"/></head><body>thisistwo.jsp<%Strings=request.getParameter("txtnum");out.println("<br>傳遞過來的值是:"+s);%><br><imgsrc="a.jpg"width="<%=s%>"height="<%=s%>"></img></body></html>three.jsp:<%@pagecontentType="text/html;charset=GB2312"%><html><head><title></title><jsp:includepage="head.txt"/></head><body>thisisthree.jsp<%Strings=request.getParameter("txtnum");out.println("<br>傳遞過來的值是:"+s);%><br><imgsrc="b.jpg"width="<%=s%>"height="<%=s%>"></img></body></html>error.jsp:<%@pagecontentType="text/html;charset=GB2312"%><html><head><title></title><jsp:includepage="head.txt"/></head><body>thisiserror.jsp<%Strings=request.getParameter("mess");out.println("<br>傳遞過來的值是:"+s);%><br><imgsrc="error.jpg"width="120"height="120"></img></body></html>實(shí)驗(yàn)3.6:使用標(biāo)記體實(shí)驗(yàn)?zāi)康模红`活掌握在Tag標(biāo)記中使用標(biāo)記體。實(shí)驗(yàn)要求:編寫一個(gè)JSP頁面:putImage.jsp和一個(gè)Tag文件Image.tag。JSP頁面通過調(diào)用Tag文件來顯示若干幅圖像,通過使用標(biāo)記體將HTML圖像標(biāo)記傳遞給被調(diào)用的Tag文件。代碼:putImage.jsp:<%@pagecontentType="text/html;charset=GB2312"%><%@taglibtagdir="/WEB-INF/tags/3_1"prefix="pic"%><html><head><title></title></head><body><fontsize=2color=blue>表格每行重復(fù)顯示一幅圖</font><tableborder=2><pic:Image><imgsrc="a.jpg"width="80"height="60"/></pic:Image><pic:Image><imgsrc="b.jpg"width="80"height="60"/></pic:Image><pic:Image><imgsrc="c.jpg"width="80"height="60"/></pic:Image></table></body></html>Image.tag:<tr><td><jsp:doBody/></td><td><jsp:doBody/></td><td><jsp:doBody/></td></tr>實(shí)驗(yàn)3.7:使用attribute指令和variable指令實(shí)驗(yàn)?zāi)康模红`活掌握在Tag標(biāo)記中使用attribute指令和variable指令。實(shí)驗(yàn)要求:編寫一個(gè)Tag文件GetArea.tag,負(fù)責(zé)計(jì)算三角形或梯形的面積,并將計(jì)算結(jié)果返回給調(diào)用該Tag文件的JSP頁面。編寫一個(gè)JSP頁面inputAndShow.jsp,該頁面負(fù)責(zé)向Tag文件提交三角形三邊的長度或梯形的上底、下底和高,并負(fù)責(zé)顯示Tag文件返回的相應(yīng)面積。代碼:inputAndShow.jsp<%@pagecontentType="text/html;charset=GB2312"%><%@taglibtagdir="/WEB-INF/tags/3_2"prefix="computer"%><html><head><title></title></head><body>輸入的三個(gè)數(shù)值a,b,c(三角形三邊的長度或梯形的上底、下底和高):<br><formaction=""method="get"name=form><table><tr><td>輸入a的值:</td><td><inputtype="text"name="a"></td></tr><tr><td>輸入b的值:</td><td><inputtype="text"name="b"></td></tr><tr><td>輸入c的值:</td><td><inputtype="text"name="c"></td></tr></table><inputtype="radio"name="R"value="triangle">代表三角形<inputtype="radio"name="R"value="lader">代表梯形<br><inputtype="submit"name=submitvalue="提交"></form><%Stringsa=request.getParameter("a");Stringsb=request.getParameter("b");Stringsc=request.getParameter("c");Stringscd=request.getParameter("R");if(sa==null||sb==null||sc==null){sa="0";sb="0";sc="0";scd="0";}if(sa.length()>0&&sb.length()>0&&sc.length()>0){%><computer:GetAreanumberC="<%=sc%>"numberB="<%=sb%>"numberA="<%=sa%>"condition="<%=scd%>"/><br><%=message%><br><%=area%><%}%></body></html>GetArea.tag實(shí)驗(yàn)結(jié)果:inputAndShow.jsp輸入2,2,2,按三角形提交:輸入2,2,2,按梯形提交:實(shí)驗(yàn)4.6:request對(duì)象實(shí)驗(yàn)?zāi)康模赫莆赵鯓釉贘SP中使用內(nèi)置對(duì)象request實(shí)驗(yàn)要求:編寫一個(gè)JSP頁面inputNumber.jsp,該頁面提供一個(gè)表單,用戶可以通過表單輸入兩個(gè)數(shù)和四則運(yùn)算符號(hào)提交給頁面。用戶提交表單后,JSP頁面inputNumber.jsp將計(jì)算任務(wù)交給一個(gè)Tag文件Computer.tag去完成。代碼:inputNumber.jsp:<%@pagecontentType="text/html;charset=GB2312"%><%@taglibtagdir="/WEB-INF/tags/4_1"prefix="computer"%><html><head><title></title></head><body><formaction=""method="post"name=form>輸入運(yùn)算數(shù)、選擇運(yùn)算符號(hào):<br><inputtype="text"name="numberOne"size=6><selectname="operator"><optionvalue="+">+<optionvalue="-">-<optionvalue="*">*<optionvalue="/">/</select><inputtype="text"name="numberTwo"size=6><br><inputtype="submit"value="提交你的選擇"name=submit></form><%Stringa=request.getParameter("numberOne");Stringb=request.getParameter("numberTwo");Stringoperator=request.getParameter("operator");if(a==null||b==null){a="";b="";}if(a.length()>0&&b.length()>0){%><computer:Computeroperator="<%=operator%>"numberB="<%=b%>"numberA="<%=a%>"/>計(jì)算結(jié)果:<%=a%><%=operator%><%=b%>=<%=result%><%}%></body></html>Computer.tag:<%@tagpageEncoding="GB2312"%><%@attributename="numberA"required="true"%><%@attributename="numberB"required="true"%><%@attributename="operator"required="true"%><%@variablename-given="result"scope="AT_END"%><%try{doublea=Double.parseDouble(numberA);doubleb=Double.parseDouble(numberB);doubler=0;if(operator.equals("+"))r=a+b;elseif(operator.equals("-"))r=a-b;elseif(operator.equals("*"))r=a*b;elseif(operator.equals("/"))r=a/b;jspContext.setAttribute("result",String.valueOf(r));}catch(Exceptione){jspContext.setAttribute("result","發(fā)生異常"+e.toString());}%>實(shí)驗(yàn)結(jié)果:inputNumber.jsp:運(yùn)行后:實(shí)驗(yàn)4.7:response對(duì)象實(shí)驗(yàn)?zāi)康模罕緦?shí)驗(yàn)的目的是讓學(xué)生掌握怎樣使用response對(duì)象動(dòng)態(tài)響應(yīng)用戶的請(qǐng)求。實(shí)驗(yàn)要求:response對(duì)象對(duì)用戶的請(qǐng)求作出動(dòng)態(tài)響應(yīng),向用戶端發(fā)送數(shù)據(jù)。Response對(duì)象調(diào)用setContentType(Strings)方法可以動(dòng)態(tài)改變響應(yīng)的contentType屬性的值。response對(duì)象調(diào)用addHeader(Stringhead,Stringvalue)方法可以動(dòng)態(tài)改變響應(yīng)頭和響應(yīng)頭的值。response對(duì)象調(diào)用setStatus(intn)方法可以動(dòng)態(tài)改變相應(yīng)的狀態(tài)行的內(nèi)容。response對(duì)象調(diào)用sendRedirect(URLurl)方法可以實(shí)現(xiàn)用戶的重定向。代碼:input.jsp:<%@pagecontentType="text/html;charset=GB2312"%><html><head><title></title></head><body><formaction="result.jsp"method="post"name=form>輸入數(shù)字:<inputtype="text"name="number"size=6><inputtype="submit"value="提交"name=submit></form></body></html>result.jsp:<%@pagecontentType="text/html;charset=GB2312"%><html><head><title></title></head><body><%Stringstr=request.getParameter("number");try{doublenum=Double.parseDouble(str);if(num<0){response.setContentType("text/html;charset=GB2312");out.println(num+"的平方:"+(num*num));}elseif(num>=0&&num<100){response.setContentType("application/msword;charset=GB2312");out.println(num+"的立方:"+(num*num*num));}else{response.setStatus(404);}}catch(Exceptione){response.sendRedirect("input.jsp");}%></body></html>實(shí)驗(yàn)結(jié)果:input.jsp:輸入7提交:輸入5提交:打開word內(nèi)容:實(shí)驗(yàn)4.8:session對(duì)象實(shí)驗(yàn)?zāi)康模罕緦?shí)驗(yàn)的目的是讓學(xué)生掌握怎樣使用session對(duì)象存儲(chǔ)和用戶有關(guān)的數(shù)據(jù)。實(shí)驗(yàn)要求:編寫四個(gè)JSP頁面inputGuess.jsp、result.jsp、small.jsp、large.jsp和success.jsp,實(shí)現(xiàn)猜數(shù)字游戲。代碼:inputGuess.jsp:<%@pagecontentType="text/html;charset=GB2312"%><html><head><title></title></head><body><p>隨機(jī)分給了你一個(gè)1到100之間的數(shù),請(qǐng)猜測(cè)!<%intnumber=(int)(Math.random()*100)+1;session.setAttribute("count",newInteger(0));session.setAttribute("save",newInteger(number));%><formaction="result.jsp"method="post"name=form>輸入你的猜測(cè):<inputtype="text"name="gnum"><inputtype="submit"value="送出"name=submit></form></body></html>result.jsp:<%Stringstr=request.getParameter("gnum");if(str.length()==0){response.sendRedirect("inputGuess.jsp");}intgueNum=-1;try{gueNum=Integer.parseInt(str);intrealNum=((Integer)session.getAttribute("save")).intValue();if(gueNum==realNum){intn=((Integer)session.getAttribute("count")).intValue();n=n+1;session.setAttribute("count",newInteger(n));response.sendRedirect("success.jsp");}elseif(gueNum>realNum){intn=((Integer)session.getAttribute("count")).intValue();n=n+1;session.setAttribute("count",newInteger(n));response.sendRedirect("large.jsp");}elseif(gueNum<realNum){intn=((Integer)session.getAttribute("count")).intValue();n=n+1;session.setAttribute("count",newInteger(n));response.sendRedirect("small.jsp");}}catch(Exceptione){response.sendRedirect("inputGuess.jsp");}%>small.jsp:<%@pagecontentType="text/html;charset=GB2312"%><html><head><title></title></head><body><formaction="result.jsp"method="get"name=form>猜小了,請(qǐng)?jiān)俨拢?lt;inputtype="text"name="gnum"><inputtype="submit"value="送出"name=submit></form></body></html>large.jsp:<%@pagecontentType="text/html;charset=GB2312"%><html><head><title></title></head><body><formaction="result.jsp"method="get"name=form>猜大了,請(qǐng)?jiān)俨拢?lt;inputtype="text"name="gnum"><inputtype="submit"value="送出"name=submit></form></body></html>success.jsp:<%@pagecontentType="text/html;charset=GB2312"%><html><head><title></title></head><body><%intcount=((Integer)session.getAttribute("count")).intValue();intsave=((Integer)session.getAttribute("save")).intValue();%><p>恭喜你,猜對(duì)了<br>您共猜了<%=count%>次,這個(gè)數(shù)字就是<%=save%>。<br>單擊鏈接返回到頁面:<br><ahref="inputGuess.jsp">inputGuess.jsp</a></body></html>實(shí)驗(yàn)結(jié)果:inputGuess.jsp:輸入33送出:根據(jù)提示猜測(cè),最后結(jié)果:實(shí)驗(yàn)5.7:使用文件字節(jié)流讀寫文件實(shí)驗(yàn)?zāi)康模罕緦?shí)驗(yàn)的目的是讓讀者掌握使用文件輸入、輸出字節(jié)流讀寫文件。實(shí)驗(yàn)要求:編寫四個(gè)JSP頁面giveContent.jsp、writeContent.jsp、lookContent.jsp、readContent.jsp以及Tag文件Write.tag和Read.tag。代碼:giveContent.jsp:<%@pagecontentType="text/html;charset=GB2312"%><html><head><title></title></head><body><ahref="giveContent.jsp">我要寫文件</a><ahref="lookContent.jsp">我要讀文件</a><formaction="writeContent.jsp"method="post">請(qǐng)選擇一個(gè)目錄:<selectname="fileDir"><optionvalue="C:/1000">C:/1000<optionvalue="D:/2000">D:/2000<optionvalue="D:/1000">D:/1000</select><br>請(qǐng)輸入保存文件的名字:<inputtype="text"name="fileName"><br>請(qǐng)輸入文件的內(nèi)容:<br><textareaname="fileContent"rows="5"cols="38"></textarea><br><inputtype="submit"value="提交"></form></body></html>writeContent.jsp:<%@pagecontentType="text/html;charset=GB2312"%><%@taglibtagdir="/WEB-INF/tags/5_1"prefix="file"%><html><head><title></title></head><body><%StringfileDir=request.getParameter("fileDir");StringfileName=request.getParameter("fileName");StringfileContent=request.getParameter("fileContent");bytec[]=fileContent.getBytes("iso-8859-1");fileContent=newString(c);%><file:WritefileDir="<%=fileDir%>"fileContent="<%=fileContent%>"fileName="<%=fileName%>"/></body></html>lookContent.jsp:<%@pagecontentType="text/html;charset=GB2312"%><html><head><title></title></head><body><ahref="giveContent.jsp">我要寫文件</a><ahref="lookContent.jsp">我要讀文件</a><formaction="readContent.jsp"method="post"name=form>輸入文件的路徑(如:d:/1000)<inputtype="text"name="fileDir"><br>輸入文件的名字(如:hello.java):<inputtype="text"name="fileName"><br><inputtype="submit"value="讀取"name=submit></form></body></html>readContent.jsp:<%@pagecontentType="text/html;charset=GB2312"%><%@taglibtagdir="/WEB-INF/tags/5_1"prefix="file"%><html><head><title></title></head><body><%StringfileDir=request.getParameter("fileDir");StringfileName=request.getParameter("fileName");%><file:ReadfileDir="<%=fileDir%>"fileName="<%=fileName%>"/></body></html>Write.tag:<%@tagpageEncoding="GB2312"%><%@tagimport="java.io.*"%><%@attributename="fileContent"required="true"%><%@attributename="fileDir"required="true"%><%@attributename="fileName"required="true"%><%Filef=newFile(fileDir,fileName);try{FileOutputStreamoutput=newFileOutputStream(f);bytebb[]=fileContent.getBytes();output.write(bb,0,bb.length);output.close();out.println("文件寫入成功!");out.println("<br>文件所在目錄:"+fileDir);out.println("<br>文件的名字:"+fileName);}catch(IOExceptione){out.println("文件寫入失敗"+e);}%>Read.tag:<%@tagpageEncoding="GB2312"%><%@tagimport="java.io.*"%><%@attributename="fileDir"required="true"%><%@attributename="fileName"required="true"%><%Filedir=newFile(fileDir);Filef=newFile(dir,fileName);try{FileInputStreamin=newFileInputStream(f);intm=-1;bytebb[]=newbyte[1024];Stringcontent=null;while((m=in.read(bb))!=-1){content=newString(bb,0,m);out.println(content);}in.close();}catch(IOExceptione){out.println("文件讀取失敗"+e.toString());}%>實(shí)驗(yàn)5.8:使用文件字節(jié)流加密文件實(shí)驗(yàn)?zāi)康模罕緦?shí)驗(yàn)的目的是讓讀者掌握文件字符輸入、輸出流讀寫文件。實(shí)驗(yàn)要求:編寫三個(gè)JSP頁面inputContent.jsp、write.jsp、read.jsp以及兩個(gè)Tag文件SecretWrite.tag和SecretRead.tag。代碼:inputContent.jsp:<%@pagecontentType="text/html;charset=GB2312"%><html><head><title></title></head><body><formaction="write.jsp"method="post">輸入文件的內(nèi)容:<br><textareaname="ok"rows="8"cols="26"></textarea><br><inputtype="submit"value="加密內(nèi)容寫入到文件"></form><ahref="read.jsp">讀取文件</a></body></html>write.jsp:<%@pagecontentType="text/html;charset=GB2312"%><%@taglibtagdir="/WEB-INF/tags/5_2"prefix="file"%><html><head><title></title></head><body><%Stringstr=request.getParameter("ok");if(str.length()>0){bytebb[]=str.getBytes("iso-8859-1");str=newString(bb);%><file:SecretWritecontent="<%=str%>"/><%out.println("<br>"+message);}%><ahref="read.jsp">讀取文件</a></body></html>read.jsp:<%@pagecontentType="text/html;charset=GB2312"%><%@taglibtagdir="/WEB-INF/tags/5_2"prefix="file"%><html><head><title></title></head><body><formaction=""method="post">讀取文件:<inputtype="radio"name="R"value="secret">讀取加密的文件<inputtype="radio"name="R"value="unsecret">讀取解密的文件<inputtype="submit"value="提交"name=submit></form><%Stringcondition=request.getParameter("R");if(condition!=null){%><file:SecretReadmethod="<%=condition%>"/><textarearows="6"cols="20"><%=content%></textarea><%}%><br><ahref="inputContent.jsp">返回inputContent.jsp頁面</a></body></html>SecretWrite.tag:<%@variablename-given="message"scope="AT_END"%><%@tagpageEncoding="GB2312"%><%@tagimport="java.io.*"%><%@attributename="content"required="true"%><%Filedir=newFile("C:/","Students");dir.mkdir();Filef=newFile(dir,"save.txt");try{FileWriteroutfile=newFileWriter(f);BufferedWriterbufferout=newBufferedWriter(outfile);chara[]=content.toCharArray();for(inti=0;i<a.length;i++)a[i]=(char)(a[i]^12);content=newString(a);bufferout.write(content);bufferout.close();outfile.close();jspContext.setAttribute("message","文件加密成功");}catch(IOExceptione){jspContext.setAttribute("message","文件加密失敗");}%>SecretRead.tag:<%@tagpageEncoding="GB2312"%><%@tagimport="java.io.*"%><%@attributename="method"required="true"%><%@variablename-given="content"scope="AT_END"%><%Filedir=newFile("C:/","Students");Filef=newFile(dir,"save.txt");StringBuffermess=newStringBuffer();Stringstr;try{FileReaderin=newFileReader(f);BufferedReaderbufferin=newBufferedReader(in);Stringtemp;while((temp=bufferin.readLine())!=null)mess.append(temp);bufferin.close();in.close();str=newString(mess);if(method.equals("secret"))jspContext.setAttribute("content",str);elseif(method.equals("unsecret")){chara[]=str.toCharArray();for(inti=0;i<a.length;i++)a[i]=(char)(a[i]^12);str=newString(a);jspContext.setAttribute("content",str);}elsejspContext.setAttribute("content","");}catch(IOExceptione){jspContext.setAttribute("content","");}%>實(shí)驗(yàn)結(jié)果:輸入文字,點(diǎn)擊按鈕:讀取文件:實(shí)驗(yàn)6.13:查詢記錄實(shí)驗(yàn)?zāi)康模罕緦?shí)驗(yàn)的目的是讓讀者掌握使用JDBC查詢數(shù)據(jù)庫中表的記錄。實(shí)驗(yàn)要求:編寫三個(gè)JSP頁面inputCondition.jsp、Byname.jsp、Bynumber.jsp以及兩個(gè)Tag文件NumberCondition.tag和NameCondition.tag。代碼:inputCondition.jsp:<%@pagecontentType="text/html;charset=GB2312"%><html><head><title></title></head><body><formaction="byNumber.jsp"method="post">根據(jù)學(xué)號(hào)查詢<br>輸入學(xué)號(hào):<inputtype="text"name="number"><inputtype="submit"value="提交"></form><formaction="byName.jsp"method="post">根據(jù)姓名(模糊)查詢<br>姓名含有<inputtype="text"name="name"size=5><inputtype="submit"value="提交"></form></body></html>Byname.jsp:<%@pagecontentType="text/html;charset=GB2312"%><%@taglibtagdir="/WEB-INF/tags/6_1"prefix="look"%><html><head><title></title></head><body><%Stringname=request.getParameter("name");bytebb[]=name.getBytes("iso-8859-1");name=newString(bb);%><look:NameConditionname="<%=name%>"/>姓名含有<%=name%>的記錄:<br><%=queryResultByName%></body></html>Bynumber.jsp:<%@pagecontentType="text/html;charset=GB2312"%><%@taglibtagdir="/WEB-INF/tags/6_1"prefix="look"%><html><head><title></title></head><body><%Stringnumber=request.getParameter("number");%><look:NumberConditionnumber="<%=number%>"/>根據(jù)學(xué)號(hào)<%=number%>查詢到的記錄:<br><%=queryResultByNumber%></body></html>NumberCondition.tag:<%@tagpageEncoding="GB2312"%><%@tagimport="java.sql.*"%><%@attributename="number"required="true"%><%@variablename-given="queryResultByNumber"scope="AT_END"%><%StringBufferresult=newStringBuffer();try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundExceptione){out.println();}Connectioncon;Statementsql;ResultSetrs;intn=0;try{result.append("<tableborder=1>");con=DriverManager.getConnection("jdbc:odbc:redsun","","");DatabaseMetaDatametadata=con.getMetaData();ResultSetrs1=metadata.getColumns(null,null,"message",null);int字段個(gè)數(shù)=0;result.append("<tr>");while(rs1.next()){字段個(gè)數(shù)++;StringclumnName=rs1.getString(4);result.append("<td>"+clumnName+"</td>");}result.append("</tr>");sql=con.createStatement();Stringcondition="SELECT*FROMmessageWHEREnumber='"+number+"'";rs=sql.executeQuery(condition);while(rs.next()){result.append("<tr>");for(intk=1;k<=字段個(gè)數(shù);k++)result.append("<td>"+rs.getString(k)+"</td>");result.append("</tr>");}result.append("</table>");con.close();}catch(SQLExceptione){result.append(e);}jspContext.setAttribute("queryResultByNumber",newString(result));%>NameCondition.tag:<%@tagpageEncoding="GB2312"%><%@tagimport="java.sql.*"%><%@attributename="name"required="true"%><%@variablename-given="queryResultByName"scope="AT_END"%><%StringBufferresult=newStringBuffer();try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundExceptione){out.println();}Connectioncon;Statementsql;ResultSetrs;intn=0;try{result.append("<tableborder=1>");con=DriverManager.getConnection("jdbc:odbc:redsun","","");DatabaseMetaDatametadata=con.getMetaData();ResultSetrs1=metadata.getColumns(null,null,"message",null);int字段個(gè)數(shù)=0;result.append("<tr>");while(rs1.next()){字段個(gè)數(shù)++;StringclumnName=rs1.getString(4);result.append("<td>"+clumnName+"</td>");}result.append("</tr>");sql=con.createStatement();Stringcondition="SELECT*FROMmessageWHEREnamelike'%"+name+"%'";rs=sql.executeQuery(condition);while(rs.next()){result.append("<tr>");for(intk=1;k<=字段個(gè)數(shù);k++)result.append("<td>"+rs.getString(k)+"</td>");result.append("</tr>");}result.append("</table>");con.close();}catch(SQLExceptione){result.append(e);}jspContext.setAttribute("queryResultByName",newString(result));%>實(shí)驗(yàn)結(jié)果:inputCondition.jsp:根據(jù)學(xué)號(hào)查詢:實(shí)驗(yàn)6.14:更新記錄實(shí)驗(yàn)?zāi)康模罕緦?shí)驗(yàn)的目的是讓讀者掌握使用JDBC更新數(shù)據(jù)庫中表的記錄。實(shí)驗(yàn)要求:編寫倆個(gè)JSP頁面inputNew.jsp、newResult.jsp,寫一個(gè)NewRord.tag文件。重要相關(guān)代碼:inputNew.jsp:………………<%@pagecontentType="text/html;charset=GB2312"%><%@taglibtagdir="/WEB-INF/tags/6_2"prefix="renew"%><%@taglibtagdir="/WEB-INF/tags/6_2"prefix="inquire"%><html><head><title></title></head><body><%Stringnu=request.getParameter("number");Stringna=request.getParameter("name");Stringbd=request.getParameter("birthday");Stringem=request.getParameter("email");bytebb[]=na.getBytes("iso-8859-1");na=newString(bb);%><renew:NewRecordemail="<%=em%>"name="<%=na%>"birthday="<%=bd%>"number="<%=nu%>"/>message表更新后的數(shù)據(jù)記錄是:<inquire:NameConditionname=""/><br><%=queryResultByName%></body></html>NewRord.tag:<%@tagpageEncoding="GB2312"%><%@tagimport="java.sql.*"%><%@attributename="number"required="true"%><%@attributename="name"required="true"%><%@attributename="birthday"required="true"%><%@attributename="email"required="true"%><%Stringcondition1="UPDATEmessageSETname='"+name+"'WHEREnumber='"+number+"'",condition2="UPDATEmessageSETbirthday='"+birthday+"'WHEREnumber='"+number+"'",condition3="UPDATEmessageSETemail='"+email+"'WHEREnumber='"+number+"'";try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundExceptione){out.println();}Connectioncon;Statementsql;ResultSetrs;try{con=DriverManager.getConnection("jdbc:odbc:redsun","","");sql=con.createStatement();sql.executeUpdate(condition1);sql.executeUpdate(condition2);sql.executeUpdate(condition3);con.close();}catch(Exceptione){out.print(""+e);}%>實(shí)驗(yàn)6.15:刪除記錄實(shí)驗(yàn)?zāi)康模罕緦?shí)驗(yàn)的目的是讓讀者掌握使用JDBC刪除數(shù)據(jù)庫中表的記錄。實(shí)驗(yàn)要求:編寫兩個(gè)JSP頁面inputNumber.jsp和delete.jsp頁面。編寫一個(gè)Tag文件DelRecord.tag。部分相關(guān)代碼:inputNumber.jsp:………………<formaction="delete.jsp"method="post">刪除記錄:<br>輸入被刪除的記錄的學(xué)號(hào):<inputtype="text"name="number"size=8><inputtype="submit"value="提交更新"><br>message表刪除記錄前的記錄是:<inquire:NameConditionname=""/><br><%=queryResultByName%>delete.jsp:………………<%Stringnu=request.getParameter("number");%><del:DelRecordnumber="<%=nu%>"/>message表更新后的數(shù)據(jù)記錄是:<inquire:NameConditionname=""/><br><%=queryResultByName%></body></html>DelRecord.tag:<%@tagpageEncoding="GB2312"%><%@tagimport="java.sql.*"%><%@attributename="number"required="true"%><%Stringcondition="DELETEFROMmessageWHEREnumber='"+number+"'";try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundExceptione){out.println();}Connectioncon;Statementsql;ResultSetrs;try{con=DriverManager.getConnection("jdbc:odbc:redsun","","");sql=con.createStatement();sql.executeUpdate(condition);con.close();}catch(Exceptione){out.print(""+e)實(shí)驗(yàn)7.8:有效范圍為request的bean實(shí)驗(yàn)?zāi)康模罕緦?shí)驗(yàn)的目的是讓讀者掌握使用有效范圍是request的bean顯示汽車的基本信息。實(shí)驗(yàn)要求:編寫一個(gè)JSP頁面:inputAndShow.jsp和一個(gè)名字為car的Javabean,其中car由Car.class類負(fù)責(zé)創(chuàng)建。代碼:inputAndShow.jsp:<%@pagecontentType="text/html;charset=GB2312"%><%@pageimport="tom.jiafei.Car"%><jsp:useBeanid="car"class="tom.jiafei.Car"scope="request"/><html><head><title></title></head><body><formaction=""method="post">汽車牌號(hào):<inputtype="text"name="number"><br>汽車名稱:<inputtype="text"name="name"><br>汽車生產(chǎn)日期:<inputtype="text"name="madeTime"><br><inputtype="submit"value="提交"></form><jsp:setPropertyproperty="*"name="car"/><tableborder=1><tr><th>汽車牌號(hào)</th><th>汽車名稱</th><th>汽車生產(chǎn)日期</th></tr><tr><td><jsp:getPropertyname="car"property="number"/></td><td><jsp:getPropertyname="car"property="name"/></td><td><jsp:getPropertyname="car"property="madeTime"/></td></tr></table></body></html>Car.jave::packagetom.jiafei;publicclassCar{Stringnumber,name,madeTime;publicStringgetNumber(){ try{byteb[]=number.getBytes("ISO-8859-1"); number=newString(b); } catch(Exceptione){} returnnumber;}publicvoidsetNumber(Stringnumber){ this.number=number;}publicStringgetName(){ try{byteb[]=name.getBytes("ISO-8859-1"); name=newString(b); } catch(Exceptione){} ret
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 泰安房屋買賣合同交易稅費(fèi)
- 簡約勞務(wù)分包合同樣本
- 備件購買合同模板
- 水表采購合同條件
- 建筑裝飾用鋁合金型材采購合同
- 展會(huì)服務(wù)合同樣本簡單
- 批發(fā)石塊交易合同
- 公共場(chǎng)所地板采購合同
- 婚介公司服務(wù)合同
- 文藝演出音樂會(huì)合同
- 管道重量計(jì)算、彎頭、天圓地方重量
- 家長會(huì)發(fā)言稿
- 受力分析經(jīng)典題及答案
- 財(cái)務(wù)報(bào)表模板(帶公式)
- 2023年正規(guī)借條免費(fèi)下載(5篇)
- 酒店投資概算表(模板)精華
- GB/T 36393-2018土壤質(zhì)量自然、近自然及耕作土壤調(diào)查程序指南
- GB/T 1412-2005球墨鑄鐵用生鐵
- 新疆維吾爾自治區(qū)公共建筑節(jié)能設(shè)計(jì)標(biāo)準(zhǔn)實(shí)施細(xì)則2023
- 2022年西藏自治區(qū)中考英語真題卷(含答案與解析)
- RCS-9626CN電動(dòng)機(jī)保護(hù)測(cè)控裝置
評(píng)論
0/150
提交評(píng)論