版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、Java-web分頁操作(jsp+servlet+javaBean)一 分頁操作分析分頁在web項目中是非常重要的技術(shù),打開每一個網(wǎng)頁都可以看到分頁1疑問的出現(xiàn)在寫分頁前要了解什么是分頁,分頁一共有多少個方法、多少個參數(shù),應(yīng)該如何編寫方法的實現(xiàn)和定義參數(shù)的變量2疑問的解決 分頁一般分為首頁、上一頁、下一頁、末頁,還要得到總記錄數(shù),總頁數(shù),下面來詳細(xì)介紹一下它們的概念 如果設(shè)當(dāng)前頁為newPage (1)當(dāng)前頁 - 打開網(wǎng)頁時看到的頁面(2)首頁 - 第一頁 newPage=1(3)上一頁 - 當(dāng)前頁-1 newPage-1 (4)下一頁 - 當(dāng)前頁+1 newPage+1(5)末頁 - 當(dāng)前頁
2、=總頁數(shù) countPage=newPage(6)總記錄數(shù) - select count(*) from 表名(7)總頁數(shù) - 總記錄數(shù)%每頁顯示的記錄數(shù)=0 ? 總記錄數(shù)/每頁顯示的記錄數(shù): 總記錄數(shù)/每頁顯示的記錄數(shù)+1(8)顯示當(dāng)前頁的分析 每頁顯示10條記錄 第1頁:newpage=1 起始記錄為0 10 第2頁:newpage=2 起始記錄 10 10 第3頁:newpage=3 起始記錄 20 10 第4頁:newpage=1 起始記錄為30 10 第5頁:newpage=2 起始記錄 40 10 第6頁:newpage=3 起始記錄 50 第n頁 newpage=n (newpa
3、ge-1)*pageSize (9)查詢指定的頁面 Select id,title,content from new limit 0,10 注:從0開始查詢,每頁顯示10條記錄二 功能的實現(xiàn)1首先創(chuàng)建數(shù)據(jù)庫 id name address 設(shè)置為int varchar varchar 類型的,并插入多條數(shù)據(jù),以便于分頁的操作2創(chuàng)建功能模塊,先實現(xiàn)domain層 - 用于封裝數(shù)據(jù)庫中的數(shù)據(jù),代碼如下package com.csdn.paging.domain;public class Paging private Integer id; private String name; private
4、String address; public Paging() super(); public Paging(Integer id, String name, String address) super(); this.id = id; = name; this.address = address; public Integer getId() return id; public void setId(Integer id) this.id = id; public String getName() return name; public void setName(Stri
5、ng name) = name; public String getAddress() return address; public void setAddress(String address) this.address = address; Override public String toString() return Paging id= + id + , name= + name + , address= + address + ; 3實現(xiàn)類的編寫-對數(shù)據(jù)有條件的讀取,其中包括查詢指定頁數(shù)、獲取總記錄數(shù)、獲取總頁數(shù)。 (1)創(chuàng)建一個接口,用于寫這幾個抽象方法 -
6、PagingDao package com.csdn.paging.dao;import java.util.List;import com.csdn.paging.domain.Paging;public interface PagingDao /顯示總的記錄條數(shù) Integer getCountRecord(); /根據(jù)當(dāng)前頁到結(jié)束頁的查詢 List findIimitPage(Integer newPage); /總的頁數(shù) Integer getCountPage();(2)創(chuàng)建一個類,用于繼承PagingDao接口 - PagingDaoImplpackage com.csdn.pag
7、ing.dao;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.List;import com.csdn.paging.domain.Paging;public class PagingDaoImpl implements PagingDao private stat
8、ic final Integer pageSize = 5;private Integer countRecord;/ 共有多少條記錄private Integer countPage;/ 共有多少頁private static final String URL = jdbc:mysql:/localhost:3306/paging?user=root&password=qiao&useUnicode=true&characterEncoding=utf-8;private static Connection conn;private PreparedStatement pstmt;priva
9、te ResultSet rs;static try / 加載驅(qū)動 Class.forName(com.mysql.jdbc.Driver); / 建立連接 conn = DriverManager.getConnection(URL); catch (ClassNotFoundException e) / TODO Auto-generated catch block e.printStackTrace(); catch (SQLException e) / TODO Auto-generated catch block e.printStackTrace(); public Integer
10、 getCountRecord() / 設(shè)置返回值 Integer count = 0; / 獲取連接 / 定義sql語句 查詢出一共的記錄條數(shù) String sql = select count(*) as con from paging; try / 創(chuàng)建預(yù)處理對象 pstmt = conn.prepareStatement(sql); / 為占位符賦值 / 執(zhí)行更新語句 rs = pstmt.executeQuery(); / 判斷 if (rs.next() count = rs.getInt(con); / 計算出總頁數(shù),并從getCountPage方法中獲取 this.countP
11、age = (count % pageSize) != 0 ? (count / pageSize + 1) : (count / pageSize); / 釋放資源 if (rs != null) rs.close(); if (pstmt != null) pstmt.close(); catch (SQLException e) / TODO Auto-generated catch block e.printStackTrace(); return count;/ 得到總的頁數(shù)public Integer getCountPage() / TODO Auto-generated met
12、hod stub return countPage;/ 根據(jù)傳過來的數(shù)值條件查詢public List findIimitPage(Integer newPage) / 修改返回值 List entities = new ArrayList(); / 獲取連接 / 定義SQL語句 String sql = select id,name,address from paging limit ?,?; try / 創(chuàng)建預(yù)處理對象 pstmt = conn.prepareStatement(sql); / 為占位符賦值 int index = 1; pstmt.setObject(index+, (n
13、ewPage - 1) * pageSize); pstmt.setObject(index+, pageSize); / 執(zhí)行更新 rs = pstmt.executeQuery(); / 判斷 while (rs.next() Paging entity = new Paging(); entity.setId(rs.getInt(id); entity.setName(rs.getString(name); entity.setAddress(rs.getString(address); entities.add(entity); / 釋放資源 if (rs != null) rs.cl
14、ose(); if (pstmt != null) pstmt.close(); catch (SQLException e) / TODO Auto-generated catch block e.printStackTrace(); return entities;4布局顯示的jsp頁面,在此頁面上給servlet傳參數(shù),并通過跳轉(zhuǎn)頁面返回到j(luò)sp頁面,servlet層是業(yè)務(wù)邏輯層,用于處理和Dao的連接Jsp頁面 paging.jsp注意導(dǎo)入標(biāo)簽 /通過超鏈接連接到servlet層上,并為newPage傳參數(shù) 查看所有信息 、 $entity.id $ $entit
15、y.address 首頁 a href=$pageContext.request.contextPath/paging?newPage=$newPage-1上一頁 =countPage?countPage:newPage+1下一頁 末頁 5.servlet層的使用 - PagingServlet.javapublic void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException request.setCharacterEncoding(utf-8); response.setContentType(text/html;charset=utf-8); String npage = request.getParameter(newPage); List entities = pageService.findIimitPage(new Integer(npage); int countRecord = pageService.getCountRecord(); int countPage = pageService.getCountPage();
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 浙江經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院《與實踐》2023-2024學(xué)年第一學(xué)期期末試卷
- 中國民航大學(xué)《建筑概論B》2023-2024學(xué)年第一學(xué)期期末試卷
- 小學(xué)學(xué)校微信公眾號管理細(xì)則
- 浙江財經(jīng)大學(xué)《現(xiàn)代商務(wù)管理學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 缺陷管理與環(huán)境影響評估報告
- 新蘇教版一年級數(shù)學(xué)下冊第六單元《簡單的數(shù)量關(guān)系(一)》教案(共2課時)
- 大學(xué)生學(xué)生會主席離職工作總結(jié)報告演講稿王召鵬的
- 二零二五版建筑工程防水工程質(zhì)量檢測協(xié)議2篇
- 重慶市西南大學(xué)附屬中學(xué)2024-2025學(xué)年高一上學(xué)期定時檢測(二)物理試題(含答案)
- 2025屆湖南省衡陽縣第四中學(xué)高三上學(xué)期期末考試歷史試題(含答案)
- 2024年貴州省公務(wù)員錄用考試《行測》真題及答案解析
- 江蘇省南京市聯(lián)合體2024-2025學(xué)年九年級上學(xué)期期中學(xué)情分析化學(xué)試卷(無答案)
- 二位數(shù)乘二位數(shù)600道
- 病例討論-病毒性肝炎
- 動環(huán)監(jiān)控系統(tǒng)介紹文檔
- 獸藥經(jīng)營管理制度
- 第一單元 史前時期 原始社會與中華文明的起源 單元檢測試題 2024-2025學(xué)年統(tǒng)編版七年級歷史上冊
- 計算機(jī)網(wǎng)絡(luò)基礎(chǔ)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 2024中國華電集團(tuán)限公司校園招聘高頻500題難、易錯點模擬試題附帶答案詳解
- 2024年國家公務(wù)員考試行測真題及答案(完整版)
- 五年級上冊小數(shù)乘除豎式計算題200道及答案
評論
0/150
提交評論