版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第7章JSP中使用数据库实验指导要求在webapps目录下新建一个Web服务目录:practice7。除特别要求外,实践7中的实验所涉及的JSP页面均保存在practice7中;Tag文件保存在practice7\WEB-INF\tags目录中。实践7中的实验中所用的数据库为Student,其中的表为message表。在进行实验之前首先完成下列任务:使用MySQL创建一个数据库Student。在数据库中Student中创建名字为message的表,表的的各个字段及属性见图7-1。图7-1message表在实践7中,假设访问MySQL数据库的用户名为root,该用户的密码也是root。实验1查询记录1.相关知识点本实验使用纯JAVA驱动方式和数据库建立连接,那么查询数据库中表的记录的步骤是:与数据库建立连接
Connectioncon=DriverManager.getConnection("jdbc:mysql://localhost:3306/Student","root","root");返回Statement对象
Statementsql=con.createStatement();向数据库发送关于查询记录的SQL语句,返回查询结果,即ResultSet对象
ResultSetrs=sql.executeQuery(查询message表的SQL语句);2.实验目的本实验的目的是让学生掌握使用JDBC查询数据库中表的记录。3.实验要求编写三个JSP页面:inputCondition.jsp、byNumber.jsp和byName.jsp页面。编写两个Tag文件:NumberCondtion.tag和NameConditon.tag。inputCondition.jsp的具体要求inputCondition.jsp页面提供两个表单。其中一个表单允许用户输入要查询的学生的学号,即输入message表中number字段的查询条件,然后将查询条件提交给要byNumber.jsp,另一个表单允许用户输入要查询的学生的姓名,即输入message表中name字段的查询条件,然后将查询条件提交给要byName.jspbyNumber.jsp的具体要求byNumber.jsp页面首先获得inputCondition.jsp页面提交的关于number字段的查询条件,然后使用Tag标记调用Tag文件ByNumber.tag,并将number字段的查询条件传递给ByNumber.tag。byName.jsp的具体要求byName.jsp页面首先获得inputCondition.jsp页面提交的关于name字段的查询条件,然后使用Tag标记调用Tag文件ByName.tag,并将name字段的查询条件传递给ByName.tag。。NumberCondtion.tag的具体要求NumberCondtion.tag文件使用attribute指令获得byNumber.jsp页面传递过来的number字段的查询条件,然后和和数据库建立连接、根据得到的查询条件查询message表。NumberCondtion.tag文件使用variable指令将查询结果返回给byNumber.jsp页面。NameConditone.tag的具体要求NameConditon.tag文件使用attribute指令获得byName.jsp页面传递过来的name字段的查询条件,然后和和数据库建立连接、根据得到的查询条件查询message表。NameConditon.tag文件使用variable指令将查询结果返回给byName.jsp页面。4.JSP页面效果示例inputCondition.jsp(效果如图7-2)图7-2输入查询条件byNumber.jsp(效果如图7-3)图7-3根据学号查询记录byName.jsp(效果如图7-4)图7-4根据姓名查询记录5.参考代码代码仅供参考,学生可按着实验要求,参考本代码编写代码。JSP页面参考代码inputCondition.jsp<%@pagecontentType="text/html;charset=GB2312"%><HTML><BODY><Fontsize=2><FORMaction="byNumber.jsp"Method="post">根据学号查询<BR>输入学号:<Inputtype=textname="number"><Inputtype=submitname="g"value="提交"></Form><FORMaction="byName.jsp"Method="post">根据姓名(模糊)查询<BR>姓名含有<Inputtype=textname="name"size=5><Inputtype=submitvalue="提交"></Form></Font></BODY></HTML>byNumber.jsp<%@pagecontentType="text/html;charset=GB2312"%><%@taglibtagdir="/WEB-INF/tags"prefix="look"%><HTML><BODYbgcolor=cyan><Fontsize=2><%Stringnumber=request.getParameter("number");%><look:NumberConditionnumber="<%=number%>"/>根据学号<%=number%>查询到的记录:<BR><%=queryResultByNumber%></Font></BODY></HTML>byName.jsp<%@pagecontentType="text/html;charset=GB2312"%><%@taglibtagdir="/WEB-INF/tags"prefix="look"%><HTML><BODYbgcolor=pink><Fontsize=2><%Stringname=request.getParameter("name");bytebb[]=name.getBytes("iso-8859-1");name=newString(bb);%><look:NameConditionname="<%=name%>"/>姓名含有"<%=name%>"的记录:<BR><%=queryResultByName%></Font></BODY></HTML>Tag文件参考代码NumberCondition.tag<%@tagpageEncoding="GB2312"%><%@tagimport="java.sql.*"%><%@attributename="number"required="true"%><%@variablename-given="queryResultByNumber"scope="AT_END"%><%StringBufferresult;result=newStringBuffer();try{Class.forName("org.gjt.mm.mysql.Driver");}catch(ClassNotFoundExceptione){out.print(e);}Connectioncon;Statementsql;ResultSetrs;intn=0;try{result.append("<tableborder=1>");con=DriverManager.getConnection("jdbc:mysql://localhost:3306/Student","root","root");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;result=newStringBuffer();try{Class.forName("org.gjt.mm.mysql.Driver");}catch(ClassNotFoundExceptione){out.print(e);}Connectioncon;Statementsql;ResultSetrs;intn=0;try{result.append("<tableborder=1>");con=DriverManager.getConnection("jdbc:mysql://localhost:3306/Student","root","root");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));%>实验2更新记录1.相关知识点本实验使用java驱动方式和数据库建立连接,那么更新数据库中表的记录的步骤是:与数据库建立连接
Connectioncon=DriverManager.getConnection("jdbc:mysql://localhost:3306/Student","root","root");返回Statement对象
Statementsql=con.createStatement();向数据库发送关于更新记录的SQL语句
intm=sql.executeUpdate(更新记录的SQL语句);
更新成功m的值为1否则为0。2.实验目的本实验的目的是让学生掌握使用JDBC更新数据库中表的记录。3.实验要求编写两个JSP页面:inputNew.jsp和newResult.jsp页面。编写一个NewRecord.tag文件:NewRecord.tag。另外,本实验2还用到实验1中的NameCondition.tag文件。1.inputNew.jsp的具体要求inputNew.jsp页面提供一个表单,该表单允许用户某个学生的新的姓名、出生日期和email提交到newResult.jsp页面。2.newResult.jsp的具体要求newResult.jsp页面首先获得inputNew.jsp页面提交的关于name字段、birthday字段和email字段的更新条件,然后使用Tag标记调用Tag文件NewRecord.tag更新记录的字段值。NewRecord.tag的具体要求NewRecord.tag文件使用attribute指令获得newResult.jsp页面传递过来的name字段、birthday字段和email字段的更新条件,然后和和数据库建立连接、更新数据库表中的相应记录。4.JSP页面效果示例inputNew.jsp(效果如图7-5)图7-5输入更新条件newResult.jsp(效果如图7-6)图7-6更新后的记录5.参考代码代码仅供参考,学生可按着实验要求,参考本代码编写代码。JSP页面参考代码inputNew.jsp<%@pagecontentType="text/html;charset=GB2312"%><%@taglibtagdir="/WEB-INF/tags"prefix="inquire"%><HTML><BODY><FONTsize=2><FORMaction="newResult.jsp"method=post><tableborder=1><tr><td>输入要更新的学生的学号:</td><td><Inputtype="text"name="number"></td></tr><tr><td>输入新的姓名:</td><td><Inputtype="text"name="name"></td></tr><tr><td>输入新的出生日期:</td><td><Inputtype="text"name="birthday"></td></tr><tr><td>输入新的email:</td><td><Inputtype="text"name="email"></td></tr></table><BR><Inputtype="submit"name="b"value="提交更新"><BR>message表更新前的数据记录是:<inquire:NameConditionname=""/><BR><%=queryResultByName%></Font></BODY></HTML>newResult.jsp<%@pagecontentType="text/html;charset=GB2312"%><%@taglibtagdir="/WEB-INF/tags"prefix="renew"%><%@taglibtagdir="/WEB-INF/tags"prefix="inquire"%><HTML><BODYbgcolor=cyan><Fontsize=2><%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:NewRecordnumber="<%=nu%>"name="<%=na%>"birthday="<%=bd%>"email="<%=em%>"/>message表更新后的数据记录是:<inquire:NameConditionname=""/><BR><%=queryResultByName%></Font></BODY></HTML>Tag文件参考代码NewRecord.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(“org.gjt.mm.mysql.Driver”);}catch(ClassNotFoundExceptione){out.print(e);}Connectioncon;Statementsql;ResultSetrs;try{con=DriverManager.getConnection("jdbc:mysql://localhost:3306/Student","root","root");sql=con.createStatement();sql.executeUpdate(condition1);sql.executeUpdate(condition2);sql.executeUpdate(condition3);con.close();}catch(Exceptione){out.print(""+e);}%>实验3删除记录1.相关知识点本实验使用JAVA驱动方式和数据库建立连接,那么删除数据库中表的记录的步骤是:与数据库建立连接
Connectioncon=DriverManager.getConnection("jdbc:mysql://localhost:3306/Student","root","root");返回Statement对象
Statementsql=con.createStatement();向数据库发送关于删除记录的SQL语句
intm=sql.executeUpdate(删除记录的SQL语句);
删除成功m的值为1否则为0。2.实验目的本实验的目的是让学生掌握使用JDBC删除数据库中表的记录。3.实验要求编写两个JSP页面:inputNumber.jsp和delete.jsp页面。编写一个Tag文件:DelRecord.tag。另外,本实验2还用到实验1中的NameCondition.tag文件。1.inputNumber.jsp的具体要求inputNew.jsp页面提供一个表单,该表单允许用户某个学生的学号提交到delete.jsp页面。2.delete.jsp的具体要求delete.jsp页面首先获得inputNumber.jsp页面提交的关于number字段,即学生的学号,然后使用Tag标记调用Tag文件DelRecord.tag删除数据库表中相应的记录。DelRecord.tag的具体要求DelRecord.tag文件使用attribute指令获得delete.jsp页面传递过来的numbere字段的删除条件,然后和和数据库建立连接、删除数据库表中的相应记录。4.JSP页面效果示例inputNumber.jsp(效果如图7-7)图7-5输入删除条件delete.jsp(效果如图7-8)图7-8删除某记录5.参考代码代码仅供参考,学生可按着实验要求,参考本代码编写代码。JSP页面参考代码inputNumber.jsp<%@pagecontentType="text/html;charset=GB2312"%><%@taglibtagdir="/WEB-INF/tags"prefix="inquire"%><HTML><BODY><FONTsize=2><FORMaction="delete.jsp"method=post>删除记录:<br>输入被删除的记录的学号:<Inputtype="text"name="number"size=8><Inputtype="submit"name="b"value="提交"><br>messag
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年市场营销实习生招聘面谈指导手册及题目集
- 2026年法律顾问职业面试题及答案参考
- 2026年南京大学公开招聘水处理与水环境修复教育部工程研究中心主任备考题库及参考答案详解1套
- 2026年中国联合网络通信有限公司研究院招聘备考题库及一套完整答案详解
- 2026年数据分析师大数据技术面试题及框架含答案
- 2026年教育行业财务部经理面试题目详解
- 2026年餐饮业厨师长面试题及厨艺经验
- 2026年酒店前台接待面试题集及参考答案
- 2026年中国人寿保险股份有限公司昆明分公司北市区营销服务部招聘备考题库及一套完整答案详解
- 《GBT 22442-2008地理标志产品 瓯柑》专题研究报告
- 16.迷你中线导管带教计划
- 大学军事理论考试题及答案
- 2025社交礼仪资料:15《现代社交礼仪》教案
- 菏泽风电项目可行性研究报告
- T/CCMA 0114-2021履带式升降工作平台
- DB32T 5124.1-2025 临床护理技术规范 第1部分:成人危重症患者目标温度管理
- 食管癌的护理查房知识课件
- 高三日语二轮复习阅读专题课件
- 《双重差分法与调节效应模型:解析绿色债券价值影响》12000字(论文)
- 2025届江苏省南通市高三下学期3月二模化学试题(含答案)
- 粉色小清新小红帽英语情景剧
评论
0/150
提交评论