[TOC]
## 問題01:為什么要進行分頁顯示?
數據庫中很多情況下都存在**大量數據**,一次顯示所有數據不僅造成**數據庫負擔過重**,同時增加網頁**渲染負擔**,且網頁內容太多也會造成**用戶體驗差**。
## 問題02:分頁顯示的方法和原理?
1. 邏輯分頁(代碼邏輯上的分頁)
2. 物理分頁(數據庫查詢層面的分頁)
## 問題03:實現物理分頁。
物理分頁:使用數據庫查詢的關鍵字**limit**,在查詢的時候就只查詢需要的部分數據即可。
優點:每次查詢到的**數據量都較小**(只有一頁的數據量)
缺點:每次翻頁都是一次數據庫連接和查詢,**頻繁連接數據庫**。
1. 所需參數:當前頁面page ;
2. 所需參數:每頁顯示的條數PAGE_SIZE ;
3. 獲取數據:當前頁page的所有數據list ;
4. 計算獲得:數據總條數count ;
5. 計算獲得:數據總頁數pages ;
6. 創建頁碼:列出所有頁碼以及當前頁StringBuffer。
## 問題04:實現邏輯分頁。
邏輯分頁:將數據所有數據都查詢出來之后,用過代碼來控制集合的分割來實現數據分割。
優點:如果將查詢結果保存到session,則可以較少翻頁時的查詢次數,**減少數據庫操作次數**。
缺點:緩存了數據,可能造成**數據不一致**,且查詢到的**數據量大**,依舊是全部數據。
1. 所需參數:當前頁面page;
2. 所需參數:每頁顯示的條數PAGE_SIZE;
3. 獲取數據:所有數據list ;
4. 計算獲得:當前頁page的所有數據pagelist ;
5. 創建頁碼:列出所有頁碼以及當前頁StringBuffer 。
## 問題05:創建導航欄
1. 在視圖增加導航欄容器,接收導航欄
2. 在控制器中生成導航欄所有內容,包括頁面、鏈接等
3. 控制器調用工具類對導航欄進行處理,需要參數pages、count、currentPage
- 1課程概述
- 2環境配置
- 3MVC
- 3.1View
- 3.1.1前端基礎
- 3.1.2JSP語法
- 3.1.3JSP內置對象1
- 3.1.4JSP內置對象2
- 3.2Bean
- 3.3Controller
- 3.3.1Servlet
- 3.3.2Filter
- 3.3.3Listener
- 3.4EL&JSTL
- 4三層架構
- 4.1數據庫操作
- 4.1.1JDBC
- 4.1.2JDBC優化
- 4.2三層架構設計
- 4.3程序優化
- 4.3.1數據庫連接優化
- 4.3.2數據庫操作優化
- 4.4安全專題
- 4.4.1Ajax異步查詢
- 4.4.2CAPTCHA
- 4.4.3MD5&SHA
- 4.4.4Cookie
- 4.4.5分頁顯示
- 4.4.6文件上傳
- 4.4.7發送郵件
- 5企業級框架
- 5.0Maven
- 5.1MyBatis
- 5.2Spring
- 5.3SpringMVC
- 6實踐項目
- 6.1實驗1-用戶登錄(MVC)
- 6.2實驗2-訪問統計(Servlet高級)
- 6.3實驗3-三層架構
- 6.4實驗4-安全信息系統