⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 第8章(2).txt

📁 第一章JSP简介 例子1(效果如图1.1所示) Example1_1.jsp: < @ page contentType="text/html charset=GB2312" &gt
💻 TXT
📖 第 1 页 / 共 2 页
字号:
浏览书目页面所用的beans
PageNumber.java:
public class PageNumber
{  int  rowCount=1,   //总的记录数。
        pageSize=1,  //每页显示的记录数。
        showPage=1,  //设置欲显示的页码数。
        pageCount=1; //分页之后的总页数。
   public void setRowCount(int n)
       { rowCount=n;
       } 
   public int getRowCount()
       { return rowCount;
       }
   public void setPageCount(int r,int p)
       { rowCount=r;
         pageSize=p;
         int n=(rowCount%pageSize)==0?(rowCount/pageSize):(rowCount/pageSize+1) ;
         pageCount=n;
       } 
   public int getPageCount()
       {return pageCount;
       }
   public void setShowPage(int n)
       {showPage=n;
       }
   public int getShowPage()
       { return showPage;
       }
   public void setPageSize(int n)
       { pageSize=n;
       }
   public int getPageSize()
       { return pageSize;
       }
}

浏览书目页面(效果如图8.13所示)
showBookList.jsp:
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.sql.*" %>
<%@ page import="Login" %>
<%@ page import="PageNumber" %>
<%@ page import="java.io.*" %>
<jsp:useBean id="handlePage" class="PageNumber" scope="session" >
</jsp:useBean>
<jsp:useBean id="login" class="Login" scope="session" >
</jsp:useBean>
<% //如果客户直接进入该页面将被转向登录页面。
   if(session.isNew())
    {response.sendRedirect("userLogin.jsp"); 
    }
   //如果没有成功登录将被转向登录页面
   String success=login.getSuccess();
         if(success==null)
         {success="";
         } 
   if(!(success.equals("ok")))
     {response.sendRedirect("userLogin.jsp"); 
     }
%>
<HTML>
<BODY ><Font size=1>
<%@ include file="head.txt" %>
<P> 图书目录:
 <%! //声明一个共享的连接对象:
    Connection con=null;
    //显示数据库记录的方法:
    public void showList(ResultSet rs,javax.servlet.jsp.JspWriter  out,int n,String buybook)
     {try
      { 
        out.print("<Table Border>");
         out.print("<TR>");
          out.print("<TH width=50>"+"<Font size=1>"+"id"+"</FONT>");
          out.print("<TH width=50>"+"<Font size=1>"+"订购号"+"</FONT>");
          out.print("<TH width=70>"+"<Font size=1>"+"书名"+"</FONT>");
          out.print("<TH width=60>"+"<Font size=1>"+"作者"+"</FONT>");
          out.print("<TH width=60>"+"<Font size=1>"+"出版社"+"</FONT>");
          out.print("<TH width=50>"+"<Font size=1>"+"出版时间"+"</FONT>");
          out.print("<TH width=20>"+"<Font size=1>"+"价钱"+"</FONT>");
          out.print("<TH width=50>"+"<Font size=1>"+"分类"+"</FONT>");
          out.print("<TH width=50>"+"<Font size=1>"+"添加到订单"+"</FONT>");
         out.print("</TR>");
       for(int i=1;i<=n;i++)
       {   out.print("<TR>");
             String id=rs.getString(1);//图书id号。
             out.print("<TD >"+id+"</TD>"); 
             out.print("<TD >"+rs.getString(2)+"</TD>");
             out.print("<TD >"+rs.getString(3)+"</TD>"); 
             out.print("<TD >"+rs.getString(4)+"</TD>");
             out.print("<TD >"+rs.getString(5)+"</TD>"); 
             out.print("<TD >"+rs.getDate(6)+"</TD>"); 
             out.print("<TD >"+rs.getString(7)+"</TD>");
             out.print("<TD >"+rs.getString(8)+"</TD>"); 
            //在本书的的后面显示一个表单,该表单将内容提交到buybook.jsp,
            //将id号提交给buybook.jsp,以便订购该书:
            String s1="<Form action="+buybook+" method=get>";
            String s2="<input type=hidden name=id  value="+id+">";
            String s3="<input type=submit value=订购></FORM> ";
            String s=s1+s2+s3;
            out.print("<TD >"+s+"</TD>");
           out.print("</TR>") ;
         rs.next(); 
        }
       out.print("</Table>");
      }
      catch(Exception e1) {}
    }
  %>
 <% Statement sql=null; 
    ResultSet rs=null; 
   int rowCount=0;   //总的记录数。
    //第一个客户负责建立连接对象:
    if(con==null)
      { try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
           }
           catch(ClassNotFoundException e)
           {out.print(e);
           }
        try
          {con=DriverManager.getConnection("jdbc:odbc:shop","","");
           sql=
    con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
           rs=sql.executeQuery("SELECT * FROM book");//返回可滚动的结果集。
            rs.last();//将游标移动到最后一行。
           int number=rs.getRow();//获取最后一行的行号。
            rowCount=number; //获取记录数。
           handlePage.setPageSize(3); //设置每页显示的记录数。
           handlePage.setPageCount(rowCount,handlePage.getPageSize());//计算总页数。
           out.print("共有"+handlePage.getPageCount()+"页,");
           out.print("每页显示"+ handlePage.getPageSize()+"条记录");   
          }
        catch(SQLException e) 
          {out.print(e);
          }
      }
     //其它客户通过同步块使用这个连接:
     else
      { synchronized(con)
        {  try { sql=
    con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
           rs=sql.executeQuery("SELECT * FROM book"); //返回可滚动的结果集。
            rs.last();           //将游标移动到最后一行。
           int number=rs.getRow();//获取最后一行的行号。
            rowCount=number; //获取记录数。
           handlePage.setPageSize(3); //设置每页显示的记录数。
            handlePage.setPageCount(rowCount,handlePage.getPageSize());//计算总页数。
           out.print("共有"+handlePage.getPageCount()+"页,");  
           out.print("每页显示"+ handlePage.getPageSize()+"条记录"); 
          }
        catch(SQLException e) 
          {out.print(e);
          }
        }
      }
  %> 
  <%--选择显示某页的表单 --%>
<%String str=response.encodeURL("showBookList.jsp");
  String buybook=response.encodeURL("buybook.jsp");
%>
 <Form action="<%=str%>" method="post" >
  显示下一页:<Input Type="hidden" name="a" value="next">
    <Input type=submit value="next">
  </FORM>
  <Form action="<%=str%>" method="post" >
  显示上一页:<Input Type="hidden" name="a" value="previous">
  <Input type="submit" value="previous">
  </FORM>
  <Form action="<%=str%>" method="post" >
  输入欲要显示的页<Input type="text"  name="a" value="1">
  <Input type="submit" value="submit">
  </FORM>
 <% //获取表单提交的信息:
    String s=request.getParameter("a");
       if(s==null)
          {s="1";
          }
    if(s.equals("next"))
        { int n=handlePage.getShowPage(); //获取目前的页数。
              n=(n+1); //将页数增1。
           if(n>handlePage.getPageCount())
              { n=1;
              }
           handlePage.setShowPage(n);              //显示该页。
          out.print("目前显示第"+handlePage.getShowPage()+"页");
          //将游标移到:
          rs.absolute((n-1)*handlePage.getPageSize()+1);
         showList(rs,out,handlePage.getPageSize(),buybook); //显示第该页的内容。
         }
    else if(s.equals("previous"))
        { int n=handlePage.getShowPage(); //获取目前的页数。
              n=(n-1); //将页数减1。
          if(n<=0)
              { n=handlePage.getPageCount();
              }    
           handlePage.setShowPage(n);              //显示该页。
          out.print("目前显示第"+handlePage.getShowPage()+"页");
          rs.absolute((n-1)*handlePage.getPageSize()+1);  //移动游标。
         showList(rs,out,handlePage.getPageSize(),buybook); //显示第该页的内容。
       }
    else
        { int m=Integer.parseInt(s);
          handlePage.setShowPage(m);
          out.print("目前显示第"+handlePage.getShowPage()+"页");
          int n=handlePage.getShowPage();

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -