您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业文化 > JAVA第7章-实验1
1实验7-1:查询记录要求在webapps目录下新建一个Web服务目录:practice7。除特别要求外,实验所涉及的JSP页面均保存在practice7中;Tag文件保存在practice7\WEB-INF\tags目录中。实验中所用的数据库为Student,其中的表为message表。在进行实验之前首先完成下列任务。使用MySQL创建一个数据库Student。在数据库Student中创建名字为message的表,表的各个字段及属性见图7-1。将数据库Student设置名字为redsun的数据源。假设访问MySQL数据库的用户名为sa(或root),该用户的密码是sa(或admin)。图7-1message表1.相关知识点本实验使用JDBC-ODBC桥接器方式和数据库建立连接,那么查询数据库中表的记录的步骤是:(1)与数据源redsun建立连接。Connectioncon=DriverManager.getConnection(“jdbc:odbc:redsun”,”sa”,”sa”);(2)返回Statement对象。Statementsql=con.createStatement();(3)向数据库发送关于查询记录的SQL语句,返回查询结果,即ResultSet对象。ResultSetrs=sql.executeQuerty(查询message表的SQL语句);2.实验目的本实验的目的是让学生掌握使用JDBC查询数据库中表的记录。3.实验要求编写三个JSP页面:inputCondition.jsp、byNumber.jsp和byName.jsp页面。编写两个Tag文件:NumberCondition.tag和NameCondition.tag。(1)inputCondition.jsp的具体要求inputCondition.jsp页面提供两个表单。其中一个表单允许用户输入要查询的学生的学号,即输入message表中number字段的查询条件,然后将查询条件提交给byNnuber.jsp,另一个表单允许用户输入要查询的学生的姓名,即输入message表中name字段的查询条件,然后将查询条件提交给byName.jsp。inputCondition.jsp页面效果见图7-2。2图7-2inputCondition.jsp页面的效果(2)byNumber.jsp的具体要求byNumber.jsp页面首先获得inputCondition.jsp页面提交的关于number字段的查询条件,然后使用Tag标记调用Tag文件ByNumber.tag,并将number字段的查询条件传递给ByNumber.tag。(3)byName.jsp的具体要求byname.jsp页面首先获得inputCondition.jsp页面提交的关于name字段的查询条件,然后使用Tag标记调用Tag文件ByName.tag,并将name字段的查询条件传递给ByName.tag。(4)NumberCondition.tag的具体要求NumberCondition.tag文件使用attribute指令获得byNumber.jsp页面传递过来的number字段的查询条件,然后和数据源redsun建立连接,根据得到查询条件查询message表。NumberCondition.tag文件使用variable指令将查询结果返回给byNumber.jsp页面。(5)NameCondition.tag具体要求NameCondtion.tag文件使用attribute指令获得byName.jsp页面传递过来的name字段的查询条件,然后和数据源redsun建立连接,根据得到的查询条件查询message表。NameCondition.tag文件使用variable指令将查询结果返回给byName.jsp页面。4.参考代码代码仅供参考,学生可按着实验的要求,参考本代码编写代码。JSP页面参考代码如下:inputCondition.jsp%@pagecontentType=text/html;charset=GB2312%HTMLBODYFONTsize=2FORMaction=byNumbermethod=post根据学号查询BR输入学号:INPUTtype=textname=numberInputtype=submitname=gvalue=”提交”/FORM根据姓名(模糊)查询BR姓名含有Inputtype=textname=”name”size=5Inputtype=submitvalue=”提交”/Form/FONT/BODY/HTMLbyNumber.jsp%@pagecontentType=text/html;charset=GB2312%@taglibtagdir=”/WEB-INF/tags”prefix=”look”HTMLBODYbgcolor=CYANFONTsize=2根据学号查询输入学号:根据姓名(模糊)查询姓名含有提交提交3%Stringname=request.gfetParameter(“number”);%look:NumberConditionnumber=”%=number%”/根据学号%=number%查询到的记录:BR%=queryResultByNumber%/FONT/BODY/HTMLbyName.jsp%@pagecontentType=text/html;charset=GB2312%@taglibtagdir=”/WEB-INF/tags”prefix=”look”HTMLBODYbgcolor=pinkFONTsize=2%Stringname=request.gfetParameter(“name”);bytebb[]=name.getBytes(“iso-8859-1”);name=newString(bb);%look:NameConditionname=”%=name%”/姓名含有”%=name%”的记录:BR%=queryResultByName%/FONT/BODY/HTMLTag文件参考代码如下:NumberCondition.tag%@tagpageEncoding=GB2312%%@tagimport=”java.sql.*”%%@attributename=”number”required=”true”%%@variablename-given=”queryResultByNumber”scope=”AT-END”%%StringBuffer=result;result=newStringBuffer();try{Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);}catch(ClassNotFondExceptione){out.print(e);}Connectioncon;Statementsql;ResultSetrs;intn=0;try{result.append(“tableborder=1”);con=DriverManager.getConnection(“jdbc:odbc:redsun”,”sa”,”sa”);DatabaseMataDatametadata=con.getMetaData();ResutSetrs1=metadata.getColumns(null,null),”message”,null);int字段个数=0;result.append(“tr”);4while(rs1.next()){字段个数++;StringclumnName=rs1.getString(4);result.append(“td”+clumnName+”/td”);}result.append(“/tr”);sql=con.createStatement();Stringcondition=”SELECT*FROMmessageWherenumberLike‘%”+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(“/table”);con.close();}catch(SQLExceptione){result.append(e);}jspContext.setAttribute(“queryResultByNumber”,newString(Result));%NameCondition.tag%@tagpageEncoding=GB2312%%@tagimport=”java.sql.*”%%@attributename=”number”required=”true”%%@variablename-given=”queryResultByNumber”scope=”AT-END”%%StringBuffer=result;result=newStringBuffer();try{Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);}catch(ClassNotFondExceptione){out.print(e);}Connectioncon;Statementsql;ResultSetrs;intn=0;try{result.append(“tableborder=1”);con=DriverManager.getConnection(“jdbc:odbc:redsun”,”sa”,”sa”);DatabaseMataDatametadata=con.getMetaData();ResutSetrs1=metadata.getColumns(null,null),”message”,null);int字段个数=0;5result.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(“/table”);con.close();}catch(SQLExceptione){result.append(e);}jspContext.setAttribute(“queryResultByNumber”,newString(Result));%6实验7-2:更新记录要求在webapps目录下新建一个Web服务目录:practice7。除特别要求外,实验所涉及的JSP页面均保存在practice7中。Tag文件保存在practice7\WEB-INF\tags目录中。实验7-2中所用的数据库为实验7-1中的Student,其中的表为message表。1.相关知识点本实验使用JDBC-ODB
本文标题:JAVA第7章-实验1
链接地址:https://www.777doc.com/doc-7194161 .html