婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > jsp讀取數據庫實現分頁技術簡析

jsp讀取數據庫實現分頁技術簡析

熱門標簽:四川正規外呼系統軟件 汝南縣地圖標注app 湖北地圖標注公司 福建電銷貓機器人收費 地圖標注專業和非專業 甘肅銷售電銷機器人公司 智能電話機器人銷售話術 外呼直播語音系統 山東ai外呼電銷機器人好用嗎
這篇文章介紹的是用javabean和jsp頁面來實現數據的分頁顯示,例子中所使用的數據庫是Mysql。

1、先看javabean
類名:
databaseBean.java:
以下為databaseBean.java的代碼:
復制代碼 代碼如下:

package database_basic;
import java.sql.*;
import java.util.*;
public class databaseBean
{
//這是默認的數據庫連接方式
private String DBLocation="jdbc:mysql://localhost/onestoptech?user=rootpassword=passworduseUnicode=truecharacterEncoding=GB2312";
private String DBDriver="org.gjt.mm.mysql.Driver";
private Connection conn=null;
public databaseBean(){}
//通過set方法可以靈活設置數據庫的連接
public void setDBLocation(String location){DBLocation=location;}
public void setDBDriver(String driver){DBDriver=driver;}
public void setconn(Connection conn){this.conn=conn;}
public String getDBLocation(){return(DBLocation);}
public String getDBDriver(){return(DBDriver);}
public Connection getconn(){return(conn);}
/*public String DBConnect(){}
public String DBDisconnect(){}
public ResultSet query(String sql){}
public int getTotalPage(String sql,int pageSize){}
public ResultSet getPagedRs(String sql,int pageSize,int pageNumber){}
public String execute_sql(String sql){}*/
//建立連接
public String DBConnect()
{
String strExc="Success!";//strExc默認為Success,如果有例外拋出,即數據庫連接不成功,則下面幾個catch中被賦予其他拋出信息
try
{
Class.forName(DBDriver);
conn=DriverManager.getConnection(DBLocation);
}
catch(ClassNotFoundException e)
{
strExc="數據庫驅動沒有找到,錯誤提示:br>" +e.toString();
}
catch(SQLException e)
{
strExc="sql語句錯誤,錯誤提示br>" +e.toString();
}
catch(Exception e)
{
strExc="錯誤提示:br>" +e.toString();
}
return (strExc);
}//then end of DBConnect
//斷開連接
public String DBDisconnect()
{
String strExc="Success!";//strExc默認為Success,如果有例外拋出,即數據庫斷開連接不成功,則下面幾個catch中被賦予其他拋出信息
try
{
if(conn!=null)conn.close();
}
catch(SQLException e)
{
strExc=e.toString();
}
return (strExc);
}
//通過傳入sql語句來返回一個結果集
public ResultSet query(String sql) throws SQLException,Exception
{
ResultSet rs=null;
if (conn==null)
{
DBConnect();
}
if (conn==null)
{
rs=null;
}
else
{
try
{
Statement s=conn.createStatement();
rs=s.executeQuery(sql);
}
catch(SQLException e){throw new SQLException("Cound not execute query.");}
catch(Exception e){throw new Exception("Cound not execute query.");}
}//then end of if
return(rs);
}//then end of the function executeQuery
//通過傳入sql語句和pageSize(每頁所顯示的結果數目)計算并返回總共的頁數
public int getTotalPage(String sql,int pageSize)
{
ResultSet rs=null;
int totalRows=0;
if (conn==null)
{
DBConnect();
}
if (conn==null)
{
rs=null;
}
else
try
{
Statement s=conn.createStatement();
rs=s.executeQuery(sql);//通過傳入的sql得到結果集
while(rs.next())
totalRows++;//讓rs一個個數,數完一遍,通過totalRows++也就計算出了返回結果集中總的條目數
}
catch(SQLException e){}
rs=null;
//由這個算法得出總頁數(totalRows-1)/pageSize+1,并返回結果。totalRows是指返回結果集中的總的條目數,pageSize是指每頁顯示的條目數
return((totalRows-1)/pageSize+1);
}
//通過傳入sql語句,每頁顯示的條目數(pageSize)和頁碼,得到一個結果集
public ResultSet getPagedRs(String sql,int pageSize,int pageNumber)
{
ResultSet rs=null;
int absoluteLocation;
if (conn==null)
{
DBConnect();
}
if (conn==null)
{
rs=null;
}
else
try
{
Statement s=conn.createStatement();
//pageSize*pageNumber每頁顯示的條目數乘以頁碼,計算出最后一行結果的編號,任何編號大于這個maxrows的結果都會被drop
s.setMaxRows(pageSize*pageNumber);
rs=s.executeQuery(sql);
}
catch(SQLException e){}
//absoluteLocation=pageSize*(pageNumber-1)這個表達式計算出上一頁最后一個結果的編號(如果有本頁的話,上一頁的顯示的結果條目數肯定是pageSize)
absoluteLocation=pageSize*(pageNumber-1);
try
{
//這個for循環的作用是讓結果集rs定位到本頁之前的最后一個結果處
for(int i=0;iabsoluteLocation;i++)
{
rs.next();
}
}
catch(SQLException e) { }
//此時返回的結果集被兩頭一夾,就是該頁(pageNumber)要顯示的結果
return(rs);
}
public String execute_sql(String sql){
String strExc;
strExc="Success!";
if(conn!=null)
{
try{
PreparedStatement update;
update=conn.prepareStatement(sql);
update.execute();
}
catch(SQLException e)
{
strExc=e.toString();
}
catch(Exception e)
{
strExc=e.toString();
}
}
else
{
strExc="Connection Lost!";
}
return(strExc);
}//execute_sql

2、分析jsp頁面
頁面名稱:
admin_show.jsp
頁面代碼:
復制代碼 代碼如下:

%@ page errorPage="error.jsp"%>
%@ page contentType="text/html;charset=gb2312"%>
%@ page import="java.util.*"%>
%@ page import="java.sql.*"%>
//導入database_basic包下面的databaseBean類,別名是basicDB
jsp:useBean id="basicDB" class="database_basic.databaseBean" scope="page"/>
%
String sql;
ResultSet rs;
int id;
String reply,Exc;
Exc=basicDB.DBConnect();//建立連接,若成功,則返回Success!若失敗,則返回相應出錯信息
if(!Exc.equals("Success!"))
{
//basicDB.DBDisconnect();
throw new Exception(Exc);
}
int pageSize=10; //定義每頁顯示的數據條數
int currentPage=1; //當前頁(第一次顯示的肯定是第一頁啦!~),以后的“當前頁”由下面出現的頁面中的pages參數傳入
int allPage=-1;
String pages=request.getParameter("pages");//取得頁面中pages參數,此參數代表的頁面的就是要顯示的“當前頁面”
if(pages!=null) currentPage=Integer.valueOf(pages).intValue();//這是一個Integer型轉int型的例子,第一次執行這個頁面的時候,pages這個參數是null,currentPage=1;當再次執行這個頁面的時候,參數pages將被賦值,currentPage=pages的int值
sql="select * from gbook order by id desc";//這樣返回的結果集會采用desc降序排列,好處是,顯示在前面的是最新的信息
allPage=basicDB.getTotalPage(sql,pageSize);//得到總頁碼數
rs=basicDB.getPagedRs(sql,pageSize,currentPage);//得到當前頁面要顯示的結果集
%>
table border="0" cellspacing="1" cellpadding="3" width="590" bgcolor="#ffffff">
%
while(rs.next()){
id=rs.getInt("id");//得到數據庫(結果集)中id編號
%>
tr bgcolor="#FF6600" style="color:white">
td >Name:%=rs.getString("leaver")%>/td>
td >Time:%=rs.getString("leave_date")%>/td>
td >Email:%=rs.getString("email")%>/td>
td >div style="width:150;overflow:hidden;">Home:%=rs.getString("homepage")%>/div>/td>
/tr>
tr bgcolor="#FFE3B9">
td colspan=4>FONT COLOR="#FF6600">Content:/FONT>BR>BR>%=rs.getString("content")%> /td>
/tr>
%}%>
tr>td height="1">/td>/tr>
tr>
td colspan=4 align=right bgcolor="#FF6600" style="color:white;">
現在是第%=currentPage%>頁,
%if(currentPage>1){%>
!--如果不在第一頁,則顯示出“首頁”鏈接-->
A HREF="admin_show.jsp?pages=%=(currentPage-1)%>">首頁/A>
%}
for(int i=1;i=allPage;i++)
{
//顯示出1、2、3、4……到最后一頁的鏈接
out.println("a href=admin_show.jsp?pages="+i+">"+i+"/a>");
}
%>
%if(currentPageallPage){%>
!--如果不在最后一頁,則顯示出“末頁”鏈接-->
A HREF="admin_show.jsp?pages=%=(currentPage+1)%>">末頁/A>
%}%>/td>
/tr>
/table>
}//then end of the class

3、總結
這個實現分頁顯示的程序中,有幾個算法和實現方法是比較固定且經典的,對沒寫過分頁程序的人來說,應該有所啟發。
您可能感興趣的文章:
  • jsp分頁顯示的實現代碼
  • JSP分頁顯示的實例代碼
  • 一個實用的JSP分頁代碼
  • jsp hibernate的分頁代碼
  • JSP實現的簡單分頁示例
  • JSP自定義分頁標簽TAG全過程
  • 一個通用的jsp分頁PageBean
  • jsp+servlet+javabean實現數據分頁方法完整實例
  • jsp分頁顯示完整實例
  • 簡單實現JSP分頁顯示效果

標簽:臨沂 昌都 南充 白銀 吳忠 肇慶 梅州 黔東

巨人網絡通訊聲明:本文標題《jsp讀取數據庫實現分頁技術簡析》,本文關鍵詞  jsp,讀取,數據庫,實現,分頁,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《jsp讀取數據庫實現分頁技術簡析》相關的同類信息!
  • 本頁收集關于jsp讀取數據庫實現分頁技術簡析的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    日本福利一区二区| 国产欧美日韩视频在线观看| 欧美久久久久久久久中文字幕| 久久综合九色综合欧美亚洲| 一区二区在线看| 成年人国产精品| 久久综合视频网| 韩国毛片一区二区三区| 欧美一二三区在线观看| 日韩成人av影视| 欧美一区二区三区视频免费| 视频在线观看91| 日韩一卡二卡三卡四卡| 国内精品伊人久久久久av影院 | 91在线高清观看| 亚洲欧美在线另类| 色中色一区二区| 亚洲成av人影院| 欧美一区二区三区在线观看| 久热成人在线视频| 久久久精品一品道一区| 成人夜色视频网站在线观看| 国产精品久久久久aaaa樱花 | 成人免费高清在线观看| 一区二区三区产品免费精品久久75| 在线视频中文字幕一区二区| 亚洲综合一区二区精品导航| 91精品欧美综合在线观看最新| 99精品国产视频| 亚洲一区二区三区不卡国产欧美| 欧美日韩成人在线| 国产成人精品综合在线观看 | 99久久精品久久久久久清纯| 一区二区不卡在线播放| 日韩一区二区免费在线电影| 粉嫩在线一区二区三区视频| 亚洲一区在线观看视频| 久久精品欧美日韩精品 | 丁香六月久久综合狠狠色| |精品福利一区二区三区| 欧美日韩dvd在线观看| 激情综合网激情| 伊人一区二区三区| 欧美一区二区观看视频| 不卡免费追剧大全电视剧网站| 亚洲不卡av一区二区三区| 欧美国产丝袜视频| 色激情天天射综合网| 国产一区二区三区综合| 亚洲国产精品影院| 中文字幕第一区综合| 精品免费国产一区二区三区四区| 色天天综合色天天久久| 成人午夜激情影院| 国产真实乱偷精品视频免| 日韩精品一二三区| 午夜精品久久久久久久99水蜜桃| 亚洲老司机在线| 亚洲女与黑人做爰| 国产精品久久久久精k8| 国产精品的网站| 欧美国产激情二区三区| 国产精品美女久久久久久久久久久 | 天堂在线亚洲视频| 亚洲一区二区在线免费看| 18成人在线视频| 国产精品进线69影院| 日本一区二区三区免费乱视频| 欧美精三区欧美精三区| 在线观看亚洲专区| 在线欧美小视频| 成人激情文学综合网| 日本欧美在线看| 亚洲欧美另类综合偷拍| 国产午夜精品一区二区三区四区| 国产中文字幕一区| 国产亚洲综合色| 综合久久久久久| 99久久精品国产一区二区三区| 亚洲美女一区二区三区| 欧美精品日韩综合在线| 国产一区激情在线| 亚洲欧美自拍偷拍色图| 欧美日韩视频第一区| 精品一区二区在线看| av不卡在线播放| 日韩精品一级中文字幕精品视频免费观看 | 亚洲综合丝袜美腿| 日韩一区二区高清| 日韩一区二区三区av| 大尺度一区二区| 亚洲成人一区在线| 久久精品亚洲精品国产欧美 | 午夜精品一区二区三区电影天堂| 日日噜噜夜夜狠狠视频欧美人| 久久久99久久| 在线国产电影不卡| 精品亚洲国内自在自线福利| 日本一区二区成人| 欧美日韩成人综合在线一区二区| 国产麻豆精品在线| 亚洲国产一区二区视频| 亚洲国产成人午夜在线一区| 777午夜精品视频在线播放| 亚洲蜜臀av乱码久久精品蜜桃| 久久99精品国产麻豆婷婷 | 成人激情动漫在线观看| 亚洲成人动漫在线观看| 国产精品成人免费在线| 欧美精品日日鲁夜夜添| 91社区在线播放| 国产精品538一区二区在线| 午夜视黄欧洲亚洲| 亚洲天堂a在线| 91蜜桃传媒精品久久久一区二区| 99久久国产免费看| 国产一区二区h| 蜜臀久久99精品久久久画质超高清| 亚洲日本护士毛茸茸| 国产日产欧美一区二区三区| 日韩精品一区二区三区四区视频| 欧美调教femdomvk| 91在线看国产| 99热这里都是精品| 国产成人精品www牛牛影视| 久久中文字幕电影| 成人动漫在线一区| 久久久蜜臀国产一区二区| 日韩精品一区二区三区蜜臀| 欧美另类变人与禽xxxxx| 色久优优欧美色久优优| 亚洲欧美综合另类在线卡通| 久久天堂av综合合色蜜桃网| 91精品国产综合久久久久久| 欧美日韩在线三区| 亚洲美女屁股眼交3| 91女人视频在线观看| 色综合久久天天| 91丝袜美腿高跟国产极品老师| 不卡av在线网| 波多野结衣中文一区| 不卡av电影在线播放| 色综合网色综合| 91精品福利在线| 在线成人午夜影院| 91久久一区二区| 亚洲主播在线播放| 婷婷中文字幕综合| 久久国产精品99精品国产| 久久黄色级2电影| 国产麻豆精品久久一二三| av在线不卡网| 欧美性猛片aaaaaaa做受| 67194成人在线观看| 久久人人爽人人爽| 精品国产一二三| 国产99精品在线观看| 色综合久久中文字幕| 91精品国产一区二区| 日韩欧美视频一区| 国产精品白丝在线| 亚洲成在人线免费| 国产精品888| 欧美特级限制片免费在线观看| 91精品国产综合久久小美女| 91在线云播放| 同产精品九九九| 成人av电影在线| 欧美日本一道本| 国产色综合久久| 欧美aaaaa成人免费观看视频| 成人av手机在线观看| 3751色影院一区二区三区| 欧美在线观看视频一区二区三区 | 中文字幕一区二区不卡| 欧美亚洲一区二区三区四区| 久久婷婷色综合| 天天做天天摸天天爽国产一区 | 精品一区二区影视| 91理论电影在线观看| 日韩精品一区二区三区视频| 中文字幕在线不卡| 国产一区二区三区在线观看免费| 欧美性猛交xxxxxx富婆| 欧美二区三区91| 97se亚洲国产综合自在线不卡 | 男男视频亚洲欧美| 亚洲女人****多毛耸耸8| 国产福利91精品一区二区三区| 欧美亚洲自拍偷拍| 亚洲欧美在线另类| 成人av免费在线| 久久久99免费| 日本va欧美va精品发布| 欧美亚洲一区二区在线| 欧美日韩国产一区二区三区地区| 成人av影院在线| 国产精品理论片| 国产精品一区三区| 亚洲国产精品一区二区久久恐怖片|