《JSP程序设计》第六章作业答案

结合课本第6章例子6-1至6-7集成做一个小型产品管理,实现一定的查询功能。(代码见文末

 

实现效果图:

 

主界面

《JSP程序设计》第六章作业答案_第1张图片

 

浏览所有记录

《JSP程序设计》第六章作业答案_第2张图片

 

多样查询界面

《JSP程序设计》第六章作业答案_第3张图片

 

顺序查询

《JSP程序设计》第六章作业答案_第4张图片

 

随机查询

《JSP程序设计》第六章作业答案_第5张图片

《JSP程序设计》第六章作业答案_第6张图片

条件查询

《JSP程序设计》第六章作业答案_第7张图片

《JSP程序设计》第六章作业答案_第8张图片

 

排序查询

《JSP程序设计》第六章作业答案_第9张图片

《JSP程序设计》第六章作业答案_第10张图片

选择查询

《JSP程序设计》第六章作业答案_第11张图片

更新记录

《JSP程序设计》第六章作业答案_第12张图片

《JSP程序设计》第六章作业答案_第13张图片

 

源代码

Guide.jsp

<%@ page contentType="text/html;charset=gb2312" %>









    




       

    queryGuide.jsp <%@ page contentType="text/html;charset=gb2312" %>        
       
       

example6_1.jsp

<%@ page contentType="text/html;charset=GB2312" %>

<%@ page import="java.sql.*" %>







 <% Connection con;

    Statement sql;

    ResultSet rs;

    try{  Class.forName("com.mysql.jdbc.Driver");

    }

    catch(Exception e){}

    try { String uri= "jdbc:mysql://127.0.0.1/warehouse";

          String user="root";

          String password="123";

          con=DriverManager.getConnection(uri,user,password);

          //也可以写成con=DriverManager.getConnection(uri+"?user=root&password=");

          sql=con.createStatement();

          rs=sql.executeQuery("SELECT * FROM product ");

          out.print("");

          out.print("");

            out.print("");

          while(rs.next()){

            out.print("");

              out.print("");

              out.print("");

              out.print("");

              out.print("");

            out.print("") ;

          }

          out.print("
"+"产品号");             out.print(""+"名称");             out.print(""+"生产日期");             out.print(""+"价格");           out.print("
"+rs.getString(1)+""+rs.getString(2)+""+rs.getDate("madeTime")+""+rs.getFloat("price")+"
");           con.close();     }     catch(SQLException e){           out.print(e);     }  %>  
    example6_3.jsp <%@ page contentType="text/html;charset=GB2312" %> <%@ taglib tagdir="/WEB-INF/tags" prefix="random"%>

随机查询记录

   输入查询的记录数:     

example6_4.jsp

<%@ page contentType="text/html;charset=GB2312" %>







     根据产品号查询     
输入产品号:     

     根据价格查询     
价格在至      之间     

    byNumber.jsp <%@ page contentType="text/html;charset=GB2312" %> <%@ taglib tagdir="/WEB-INF/tags" prefix="inquire"%> <% String number=request.getParameter("number");    if(number==null)       number ="";    byte [] bb =number.getBytes("iso-8859-1");    number=new String(bb); %> 根据产品号<%=number%>查询到的记录:
<%=queryResultByNumber%>  <%--queryResultByNumber是Tag文件返回的对象--%>
   

    byPrice.jsp <%@ page contentType="text/html;charset=GB2312" %> <%@ taglib tagdir="/WEB-INF/tags" prefix="inquire"%> <% String min=request.getParameter("priceMin");    String max=request.getParameter("priceMax"); %>    价格在<%=min%>至 <%=max%>之间的记录:  
<%=queryResultByPrice%>  <%--queryResultByPrice是Tag文件返回的对象--%>
   

   

example6_5.jsp

<%@ page contentType="text/html;charset=GB2312" %>

<%@ taglib tagdir="/WEB-INF/tags" prefix="inquire"%>







   排序记录:按价格(price)排序    按生产日期(madeTime)排序   
<% String orderType=request.getParameter("orderType");    if(orderType==null)      orderType=""; %>     根据排序方式:<%=orderType%>,排序的记录:
<%=orderResult%>  <%-- orderResult是Tag文件返回的对象 --%>
   

example6_6.jsp

<%@ page contentType="text/html;charset=GB2312" %>

<%@ taglib tagdir="/WEB-INF/tags" prefix="inquire"%>







   选择:    含有:        
<%  String ziduan=request.getParameter("ziduan");     String keyWord=request.getParameter("keyWord");     if(ziduan==null||keyWord==null){        ziduan="";        keyWord="";     }     byte bb[]=keyWord.getBytes("iso-8859-1");     keyWord=new String(bb);     out.println("关键字 "+keyWord); %>    查询到的记录:

<%=foundResult%>  <%--foundResult是Tag文件返回的对象 --%>
   

   

example6_7.jsp

<%@ page contentType="text/html;charset=GB2312" %>

<%@ taglib tagdir="/WEB-INF/tags" prefix="inquire"%>







     
输入要更新的产品的产品号:
输入新的名称:
输入新的生产日期:
输入新的价格:


product表更新前的数据记录是:
<%=queryResult %>
   

inquire.jsp

<%@ page contentType="text/html;charset=GB2312" %>

<%@ taglib tagdir="/WEB-INF/tags" prefix="inquire"%>







<% String database=new String("warehouse");

   String tableName=new String("product");

   String user=new String("root");

   String password=new String("123");

%>



在<%=biao%>表查询到记录:  <%--biao是Tag文件返回的对象--%>


<%=queryResult %>   <%--queryResult是Tag文件返回的对象--%>
   

newResult.jsp

<%@ page contentType="text/html;charset=GB2312" %>

<%@ taglib tagdir="/WEB-INF/tags" prefix="renew"%>

<%@ taglib tagdir="/WEB-INF/tags" prefix="inquire"%>







<% String nu=request.getParameter("number");

   String na=request.getParameter("name");

   String mT=request.getParameter("madeTime");

   String pr=request.getParameter("price");

   byte bb[]=na.getBytes("iso-8859-1");

   na=new String(bb);

%>

 

 
product表更新后的数据记录是:  
<%=queryResult %>
   

random.jsp

<%@ page contentType="text/html;charset=GB2312" %>

<%@ taglib tagdir="/WEB-INF/tags" prefix="random"%>







<%

   String n=request.getParameter("count");

%>




在<%=biao%>表查询到<%=randomCount%>条记录:  <%--biao和randomCount是Tag文件返回的对象--%>
<%=queryResult %>   <%--queryResult是Tag文件返回的对象--%>
   

   

KeyWord.tag

<%@ tag pageEncoding="GB2312" %>

<%@ tag import="java.sql.*" %>

<%@ attribute name="keyWord" required="true" %>

<%@ attribute name="ziduan" required="true" %>

<%@ variable name-given="foundResult" scope="AT_END" %>

<% 

    String condition="SELECT * FROM product Where "+ziduan+

                   " like '%"+keyWord+"%'";

    StringBuffer result;

    result=new StringBuffer();

    try{   Class.forName("com.mysql.jdbc.Driver");

    }

    catch(Exception e){}

    Connection con;

    Statement sql;

    ResultSet rs;

    int n=0;

    try{  result.append("");

          String uri=

         "jdbc:mysql://127.0.0.1/warehouse?"+

          "user=root&password=123&characterEncoding=gb2312";

          con=DriverManager.getConnection(uri);

          DatabaseMetaData metadata=con.getMetaData();

          ResultSet rs1=metadata.getColumns(null,null,"product",null);

          int 字段个数=0;

          result.append("");

          while(rs1.next()){

             字段个数++;

             String clumnName=rs1.getString(4);

             result.append("");

          }

          result.append("");

          sql=con.createStatement();

          rs=sql.executeQuery(condition);

          while(rs.next()){

             result.append("");

             for(int k=1;k<=字段个数;k++)

                result.append("");

             result.append("");

          }

          result.append("
"+clumnName+"
"+rs.getString(k)+"
");           con.close();      }      catch(SQLException e){         result.append("请输入模糊查询条件
");      }      //返回foundResult对象:      jspContext.setAttribute("foundResult",new String(result)); %>

NewRecord.tag

<%@ tag pageEncoding="GB2312" %>

<%@ tag import="java.sql.*" %>

<%@ attribute name="number" required="true" %>

<%@ attribute name="name" required="true" %>

<%@ attribute name="madeTime" required="true" %>

<%@ attribute name="price" required="true" %>

<%  float p=Float.parseFloat(price);

    String condition1="UPDATE product SET name= '"+name+

                   "' WHERE number="+"'"+number+"'" ,

           condition2="UPDATE product SET madeTime= '"+madeTime+

                   "' WHERE number="+"'"+number+"'",

           condition3="UPDATE product SET price= "+price+

                      " WHERE number="+"'"+number+"'" ;

    try{   Class.forName("com.mysql.jdbc.Driver");

    }

    catch(Exception e){}

    Connection con;

    Statement sql;

    ResultSet rs;

   try{  String uri=

        "jdbc:mysql://127.0.0.1/warehouse?"+

         "user=root&password=123&characterEncoding=gbk";

         con=DriverManager.getConnection(uri);

         sql=con.createStatement();

         sql.executeUpdate(condition1);

         sql.executeUpdate(condition2);

         sql.executeUpdate(condition3);

         con.close();

   }

   catch(Exception e){

         out.print(""+e);

   }

%>

NumberConditon.tag

<%@ tag pageEncoding="GB2312" %>

<%@ tag import="java.sql.*" %>

<%@ attribute name="number" required="true" %>

<%@ variable name-given="queryResultByNumber" scope="AT_END" %>

<%  StringBuffer result;

    result=new StringBuffer();

    try{   Class.forName("com.mysql.jdbc.Driver");

    }

    catch(Exception e){}

    Connection con;

    Statement sql;

    ResultSet rs;

    int n=0;

    try{  result.append("");

          String uri=

          "jdbc:mysql://127.0.0.1/warehouse?"+

          "user=root&password=123&characterEncoding=gb2312";

          con=DriverManager.getConnection(uri);

          DatabaseMetaData metadata=con.getMetaData();

          ResultSet rs1=metadata.getColumns(null,null,"product",null);

          int 字段个数=0;

          result.append("");

          while(rs1.next()){

             字段个数++;

             String clumnName=rs1.getString(4);

             result.append("");

          }

          result.append("");

          sql=con.createStatement();

          String condition=

          "SELECT * FROM product Where number ='"+number+"'";

          rs=sql.executeQuery(condition);

          while(rs.next()){

             result.append("");

             for(int k=1;k<=字段个数;k++)

               result.append("");

               result.append("");

          }

          result.append("
"+clumnName+"
"+rs.getString(k)+"
");           con.close();     }     catch(SQLException e){           result.append(e);     }     jspContext.setAttribute("queryResultByNumber",new String(result)); %>

PriceConditon.tag

<%@ tag pageEncoding="GB2312" %>

<%@ tag import="java.sql.*" %>

<%@ attribute name="priceMax" required="true" %>

<%@ attribute name="priceMin" required="true" %>

<%@ variable name-given="queryResultByPrice" scope="AT_END" %>

<%  float max=Float.parseFloat(priceMax);

    float min=Float.parseFloat(priceMin);

    StringBuffer result;

    result=new StringBuffer();

    try{   Class.forName("com.mysql.jdbc.Driver");

    }

    catch(Exception e){}

    Connection con;

    Statement sql;

    ResultSet rs;

    int n=0;

    try{  result.append("");

          String uri="jdbc:mysql://127.0.0.1/warehouse";

          con=DriverManager.getConnection(uri,"root","123");

          DatabaseMetaData metadata=con.getMetaData();

          ResultSet rs1=metadata.getColumns(null,null,"product",null);

          int 字段个数=0;

          result.append("");

          while(rs1.next()){

             字段个数++;

             String clumnName=rs1.getString(4);

             result.append("");

          }

          result.append("");

          sql=con.createStatement();

          String condition=

         "SELECT * FROM product Where price <="+

          max+" AND "+"price >= "+min;

          rs=sql.executeQuery(condition);

          while(rs.next()){

             result.append("");

             for(int k=1;k<=字段个数;k++)

                result.append("");

             result.append("");

           }

          result.append("
"+clumnName+"
"+rs.getString(k)+"
");           con.close();     }     catch(SQLException e){          result.append(e);     }     jspContext.setAttribute("queryResultByPrice",new String(result)); %>

QueryTag.tag

<%@ tag pageEncoding="GB2312" %>

<%@ tag import="java.sql.*" %>

<%@ attribute name="dataBaseName" required="true" %>

<%@ attribute name="tableName" required="true" %>

<%@ attribute name="user" required="true" %> 

<%@ attribute name="password" required="true" %> 

<%@ variable name-given="biao" scope="AT_END" %>

<%@ variable name-given="queryResult" scope="AT_END" %>

<%  StringBuffer result;    

    result=new StringBuffer();

    try{ 

        Class.forName("com.mysql.jdbc.Driver");

    }

    catch(Exception e){}

    Connection con;

    Statement sql;

    ResultSet rs;

    try{  result.append("");

          String uri="jdbc:mysql://127.0.0.1/"+dataBaseName;

          con=DriverManager.getConnection(uri,user,password);

          DatabaseMetaData metadata=con.getMetaData();

          ResultSet rs1=metadata.getColumns(null,null,tableName,null);

          int 字段个数=0;

          result.append("");

          while(rs1.next()){

             字段个数++;

             String clumnName=rs1.getString(4);

             result.append("");

          }

          result.append("");

          sql=con.createStatement();

          rs=sql.executeQuery("SELECT * FROM "+tableName);

          while(rs.next()){

               result.append("");

               for(int k=1;k<=字段个数;k++)

                  result.append("");

               result.append("");

          }

          result.append("
"+clumnName+"
"+rs.getString(k)+"
");           con.close();     }     catch(SQLException e){           out.print(e); } //返回对象queryResult:     jspContext.setAttribute("queryResult",new String(result));     jspContext.setAttribute("biao",tableName);          //返回biao对象 %>

RandomQuery.tag

<%@ tag pageEncoding="gb2312" %>

<%@ tag import="java.sql.*" %>

<%@ tag import="java.util.*" %>

<%@ attribute name="count" required="true" %>

<%@ variable name-given="biao" scope="AT_END" %>

<%@ variable name-given="queryResult" scope="AT_END" %>

<%@ variable name-given="randomCount" scope="AT_END" %>

<%

    String tableName;

    tableName=new String("product");

    Vector vector=new Vector();

    StringBuffer result;

    result=new StringBuffer();

    try{  

        Class.forName("com.mysql.jdbc.Driver");

    }

    catch(Exception e){}

    Connection con;

    Statement sql;

    ResultSet rs;

    int n=0;

    try{  result.append("");

          String uri="jdbc:mysql://127.0.0.1/warehouse";

          con=DriverManager.getConnection(uri,"root","123");

          DatabaseMetaData metadata=con.getMetaData();

          ResultSet rs1=metadata.getColumns(null,null,tableName,null);

          int 字段个数=0;

          result.append("");

          while(rs1.next()){

             字段个数++;

             String clumnName=rs1.getString(4);

             result.append("");

          }

          result.append("");

          sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,

                                    ResultSet.CONCUR_READ_ONLY);

          rs=sql.executeQuery("SELECT * FROM "+tableName);

          rs.last();

          int rowNumber=rs.getRow();

          int number=rowNumber;    //获取记录数

          for(int i=1;i<=number;i++)

             vector.add(new Integer(i));

          int m=Math.min(Integer.parseInt(count),number);

          n=m;

          while(m>0){

              int i=(int)(Math.random()*vector.size()); 

              //从vector中随机抽取一个元素:

              int index=((Integer)vector.elementAt(i)).intValue();

              rs.absolute(index);           //游标移到这一行

              result.append("");

              for(int k=1;k<=字段个数;k++)

                 result.append("");

              result.append("");

              m--;

              vector.removeElementAt(i);   //将抽取过的元素从vector中删除

           }

           result.append("
"+clumnName+"
"+rs.getString(k)+"
");            con.close();     }     catch(SQLException e){           result.append("请输入正确的用户名和密码");     }     jspContext.setAttribute("queryResult",new String(result));//返回queryResult对象     jspContext.setAttribute("biao",tableName);//返回biao对象     jspContext.setAttribute("randomCount",String.valueOf(n));//返回randomCount对象 %>

SortTag.tag

<%@ tag pageEncoding="GB2312" %>

<%@ tag import="java.sql.*" %>

<%@ attribute name="orderType" required="true" %>

<%@ variable name-given="orderResult" scope="AT_END" %>

<%  String orderCondition=

           "SELECT * FROM product ORDER BY "+orderType;

    StringBuffer result;

    result=new StringBuffer();

    try{   Class.forName("com.mysql.jdbc.Driver");

    }

    catch(Exception e){}

    Connection con;

    Statement sql;

    ResultSet rs;

    int n=0;

    try{  result.append("");

          String uri="jdbc:mysql://127.0.0.1/warehouse";

          con=DriverManager.getConnection(uri,"root","123");

          DatabaseMetaData metadata=con.getMetaData();

          ResultSet rs1=metadata.getColumns(null,null,"product",null);

          int 字段个数=0;

          result.append("");

          while(rs1.next()){

             字段个数++;

             String clumnName=rs1.getString(4);

             result.append("");

          }

          result.append("");

          sql=con.createStatement();

          rs=sql.executeQuery(orderCondition);

          while(rs.next()){

             result.append("");

             for(int k=1;k<=字段个数;k++)

               result.append("");

             result.append("");

          }

          result.append("
"+clumnName+"
"+rs.getString(k)+"
");           con.close();     }     catch(SQLException e){           result.append("");     }      //返回orderResult对象 :     jspContext.setAttribute("orderResult",new String(result)); %>

 

你可能感兴趣的:(《JSP程序设计》第六章作业答案)