IT计算机jsp实验报告_第1页
IT计算机jsp实验报告_第2页
IT计算机jsp实验报告_第3页
IT计算机jsp实验报告_第4页
IT计算机jsp实验报告_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

重庆交通大学学生实验报告实验课程名称JSP程序设计开课实验室管理学院计算机房学院信息管理专业级班学生姓名学号开课时间20至20学年第一学期总成绩教师签名实验1:熟悉MyEclipse实验目的:安装MyEclipse并熟悉MyEclipse的操作环境,学习在MyEclipse环境中简单的创建、编辑和运行JSP页面相关操作。实验要求:创建一个web项目并通过新建包和新建Jsp页面,编辑并运行该JSP页面。实验步骤及结果:打开运MyEclipse软件。新建一个web项目。新建一个MyTest的目录。在MyTest的目录下新建一个Jsp页面,命名为Myjsp。引用java文件:<%@pageimport="tom.jiafei.*"%><jsp:useBeanid="car"class="tom.jiafei.Car"scope="session"/>引用tag文件:在系统提供的初始代码下不用编辑,直接运行JSP。在浏览器中输入地址,得到结果实验2.8:JSP页面的基本结构实验目的:掌握怎样在JSP页面中使用成员变量,怎样使用Java程序片以及Java表达式。实验要求:编写两个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>请输入姓名:<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>实验结果:inputName.jsp:点击“送出”按钮后页面:实验2.9:JSP指令标记实验目的:掌握怎样在JSP页面中使用page指令设置contentType的值;使用include指令在JSP页面中静态插入一个文件的内容。实验要求:编写三个JSP页面:first.jsp、second.jsp、third.jsp。要求用“记事本”编写一个TXT文件hello.txt。hello.txt的每行有若干个英文单词,这些英文单词之间用空格分隔,每行之间用“<BR>”分隔,如下所示:hello.txtmyfirstpage<BR>publicvoidhellowelcome相关部分代码:first.jsp:second.jsp:<%@pagecontentType="application/vnd.ms-powerpoint;charset=GB2312"%><html><head><title></title></head><body><%@includefile="hello.txt"%></body></html>实验2.10:JSP动作标记实验目的:掌握怎样在JSP页面中使用include标记动态加载文件;使用forward动作标记实现页面的转向。实验要求:编写四个JSP页面:one.jsp、two.jsp、three.jsp和error.jsp。one.jsp、two.jsp和three.jsp页面都含有一个导航条,以便让用户方便地点击链接访问这三个页面,要求这三个页面通过使用include动作标记动态加载导航条文件head.txt。导航条文件head.txt的内容如下: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">请输入1至100之间的整数:<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>实验3.6:使用标记体实验目的:灵活掌握在Tag标记中使用标记体。实验要求:编写一个JSP页面:putImage.jsp和一个Tag文件Image.tag。JSP页面通过调用Tag文件来显示若干幅图像,通过使用标记体将HTML图像标记传递给被调用的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>表格每行重复显示一幅图</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>实验3.7:使用attribute指令和variable指令实验目的:灵活掌握在Tag标记中使用attribute指令和variable指令。实验要求:编写一个Tag文件GetArea.tag,负责计算三角形或梯形的面积,并将计算结果返回给调用该Tag文件的JSP页面。编写一个JSP页面inputAndShow.jsp,该页面负责向Tag文件提交三角形三边的长度或梯形的上底、下底和高,并负责显示Tag文件返回的相应面积。代码:inputAndShow.jsp<%@pagecontentType="text/html;charset=GB2312"%><%@taglibtagdir="/WEB-INF/tags/3_2"prefix="computer"%><html><head><title></title></head><body>输入的三个数值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实验结果:inputAndShow.jsp输入2,2,2,按三角形提交:输入2,2,2,按梯形提交:实验4.6:request对象实验目的:掌握怎样在JSP中使用内置对象request实验要求:编写一个JSP页面inputNumber.jsp,该页面提供一个表单,用户可以通过表单输入两个数和四则运算符号提交给页面。用户提交表单后,JSP页面inputNumber.jsp将计算任务交给一个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>输入运算数、选择运算符号:<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%>"/>计算结果:<%=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","发生异常"+e.toString());}%>实验结果:inputNumber.jsp:运行后:实验4.7:response对象实验目的:本实验的目的是让学生掌握怎样使用response对象动态响应用户的请求。实验要求:response对象对用户的请求作出动态响应,向用户端发送数据。Response对象调用setContentType(Strings)方法可以动态改变响应的contentType属性的值。response对象调用addHeader(Stringhead,Stringvalue)方法可以动态改变响应头和响应头的值。response对象调用setStatus(intn)方法可以动态改变相应的状态行的内容。response对象调用sendRedirect(URLurl)方法可以实现用户的重定向。代码:input.jsp:<%@pagecontentType="text/html;charset=GB2312"%><html><head><title></title></head><body><formaction="result.jsp"method="post"name=form>输入数字:<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>实验结果:input.jsp:输入7提交:输入5提交:打开word内容:实验4.8:session对象实验目的:本实验的目的是让学生掌握怎样使用session对象存储和用户有关的数据。实验要求:编写四个JSP页面inputGuess.jsp、result.jsp、small.jsp、large.jsp和success.jsp,实现猜数字游戏。代码:inputGuess.jsp:<%@pagecontentType="text/html;charset=GB2312"%><html><head><title></title></head><body><p>随机分给了你一个1到100之间的数,请猜测!<%intnumber=(int)(Math.random()*100)+1;session.setAttribute("count",newInteger(0));session.setAttribute("save",newInteger(number));%><formaction="result.jsp"method="post"name=form>输入你的猜测:<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>猜小了,请再猜:<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>猜大了,请再猜:<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>恭喜你,猜对了<br>您共猜了<%=count%>次,这个数字就是<%=save%>。<br>单击链接返回到页面:<br><ahref="inputGuess.jsp">inputGuess.jsp</a></body></html>实验结果:inputGuess.jsp:输入33送出:根据提示猜测,最后结果:实验5.7:使用文件字节流读写文件实验目的:本实验的目的是让读者掌握使用文件输入、输出字节流读写文件。实验要求:编写四个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">请选择一个目录:<selectname="fileDir"><optionvalue="C:/1000">C:/1000<optionvalue="D:/2000">D:/2000<optionvalue="D:/1000">D:/1000</select><br>请输入保存文件的名字:<inputtype="text"name="fileName"><br>请输入文件的内容:<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());}%>实验5.8:使用文件字节流加密文件实验目的:本实验的目的是让读者掌握文件字符输入、输出流读写文件。实验要求:编写三个JSP页面inputContent.jsp、write.jsp、read.jsp以及两个Tag文件SecretWrite.tag和SecretRead.tag。代码:inputContent.jsp:<%@pagecontentType="text/html;charset=GB2312"%><html><head><title></title></head><body><formaction="write.jsp"method="post">输入文件的内容:<br><textareaname="ok"rows="8"cols="26"></textarea><br><inputtype="submit"value="加密内容写入到文件"></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","");}%>实验结果:输入文字,点击按钮:读取文件:实验6.13:查询记录实验目的:本实验的目的是让读者掌握使用JDBC查询数据库中表的记录。实验要求:编写三个JSP页面inputCondition.jsp、Byname.jsp、Bynumber.jsp以及两个Tag文件NumberCondition.tag和NameCondition.tag。代码:inputCondition.jsp:<%@pagecontentType="text/html;charset=GB2312"%><html><head><title></title></head><body><formaction="byNumber.jsp"method="post">根据学号查询<br>输入学号:<inputtype="text"name="number"><inputtype="submit"value="提交"></form><formaction="byName.jsp"method="post">根据姓名(模糊)查询<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%>"/>根据学号<%=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字段个数=0;result.append("<tr>");while(rs1.next()){字段个数++;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<=字段个数;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字段个数=0;result.append("<tr>");while(rs1.next()){字段个数++;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<=字段个数;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));%>实验结果:inputCondition.jsp:根据学号查询:实验6.14:更新记录实验目的:本实验的目的是让读者掌握使用JDBC更新数据库中表的记录。实验要求:编写俩个JSP页面inputNew.jsp、newResult.jsp,写一个NewRord.tag文件。重要相关代码: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表更新后的数据记录是:<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);}%>实验6.15:删除记录实验目的:本实验的目的是让读者掌握使用JDBC删除数据库中表的记录。实验要求:编写两个JSP页面inputNumber.jsp和delete.jsp页面。编写一个Tag文件DelRecord.tag。部分相关代码:inputNumber.jsp:………………<formaction="delete.jsp"method="post">删除记录:<br>输入被删除的记录的学号:<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表更新后的数据记录是:<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)实验7.8:有效范围为request的bean实验目的:本实验的目的是让读者掌握使用有效范围是request的bean显示汽车的基本信息。实验要求:编写一个JSP页面:inputAndShow.jsp和一个名字为car的Javabean,其中car由Car.class类负责创建。代码: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">汽车牌号:<inputtype="text"name="number"><br>汽车名称:<inputtype="text"name="name"><br>汽车生产日期:<inputtype="text"name="madeTime"><br><inputtype="submit"value="提交"></form><jsp:setPropertyproperty="*"name="car"/><tableborder=1><tr><th>汽车牌号</th><th>汽车名称</th><th>汽车生产日期</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等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论