首先,提到分頁就要先明確乙個概念,何為真分頁何謂假分頁。
假分頁:一次性從資料庫讀出表的所有資料一次性的返回給客戶端,由js來控制每一頁的顯示。
真分頁:由程式控制,每一次只返回一頁大小的資料,顯示到客戶端。
由此可以很清楚的分辨出真假分頁各自的優缺點:
假分頁:由於一次性讀出所有資料並返回給客戶端,如果資料量龐大,所以這一次的動作可能是非常消耗伺服器資源和頻寬的,
但是返回給客戶端以後就非常輕鬆了,客戶在一段時間內不會再像伺服器端請求資源。但不代表可能出現一些意外情況,
比如說客戶將瀏覽器關閉,重新訪問**等。所以,如果資料量相當龐大,不建議使用用真分頁。
真分頁:假分頁每次只取需要的資料返回給客戶端,比起真分頁沒有那麼大的資料庫壓力。但也因為這個工作特性,所以假分頁
的方法需要頻繁和伺服器端進行互動。既然頻繁互動,自然也會給伺服器帶來負擔。
簡述實現思路業務流程:
首先:客戶端帶著page引數請求客戶端,若沒有帶page引數,說明是第一次訪問,則page引數預設為0;
其次:服務端根據page引數,呼叫相關函式,從資料庫中取出表中資料,封裝成相關物件,返回給客戶端,並且返回新page引數及總頁數;
。資料庫操作類:
public class dbbean catch(classnotfoundexception e)
}public void prepareconnection()catch(sqlexception e)
}//關閉連線
public void close() catch (sqlexception e)
con = null;
try catch (sqlexception e)
pstmt = null;
}//設定引數
private void setparems(string parems)
public void setid(long id)
public string getname()
public void setname(string name)
public string getphone()
public void setphone(string phone)
public int getage()
public void setage(int age)
public int getscore()
public void setscore(int score)
}
學生資料操作類:
public class studentdao implements studentdaoin
} catch (sqlexception e)
return list;
}@override
public int usercount() catch (sqlexception e)
return count;
}}
相關業務邏輯:
前台jsp**:
id
姓名年齡
**成績
$$$$
$
共 $頁 當前 第$頁
1}">
本例是真分頁的乙個簡單實現,有著明顯的缺點。
例如:1.在後台相關業務邏輯處,只對page做了簡單的判斷,因為查詢相關page時,引數是寫入前台a標籤中的,所以懂技術的使用者,可以隨意改動其值
由此查詢資料庫可能帶來意想不到的錯誤。
另外:實現假分頁時可以結合ajax和json。以此可實現無重新整理翻頁,看起來功能和真分頁一樣。。。
Jsp分頁例項 真分頁
網頁的分頁功能的實現比較簡單,實現方法也多種多樣。今天總結乙個簡單的jsp真分頁例項。首先,提到分頁就要先明確乙個概念,何為真分頁何謂假分頁。假分頁 一次性從資料庫讀出表的所有資料一次性的返回給客戶端,由js來控制每一頁的顯示。真分頁 由程式控制,每一次只返回一頁大小的資料,顯示到客戶端。由此可以很...
jsp 簡單分頁
總記錄數 int count persondao.getcount 每頁顯示5條 int pagesize 5 當前頁 int currentpage 1 int pagecount count pagesize 1 pagesize string currentpgae request.getpa...
高效簡單的jsp分頁
標題 作者 型別 點選 加入時間 int i int ipage 5 分頁單位 int allpage 總頁數 int pages 接受的頁碼變數 int cpage 1 當前頁 int spage 開始頁 int allcol 0 vector v null 資料庫連線宣告 connection ...