




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Java-web分頁操作(jsp+servlet+javaBean)一 分頁操作分析分頁在web項(xiàng)目中是非常重要的技術(shù),打開每一個(gè)網(wǎng)頁都可以看到分頁1疑問的出現(xiàn)在寫分頁前要了解什么是分頁,分頁一共有多少個(gè)方法、多少個(gè)參數(shù),應(yīng)該如何編寫方法的實(shí)現(xiàn)和定義參數(shù)的變量2疑問的解決 分頁一般分為首頁、上一頁、下一頁、末頁,還要得到總記錄數(shù),總頁數(shù),下面來詳細(xì)介紹一下它們的概念 如果設(shè)當(dāng)前頁為newPage (1)當(dāng)前頁 - 打開網(wǎng)頁時(shí)看到的頁面(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條記錄二 功能的實(shí)現(xiàn)1首先創(chuàng)建數(shù)據(jù)庫 id name address 設(shè)置為int varchar varchar 類型的,并插入多條數(shù)據(jù),以便于分頁的操作2創(chuàng)建功能模塊,先實(shí)現(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實(shí)現(xiàn)類的編寫-對(duì)數(shù)據(jù)有條件的讀取,其中包括查詢指定頁數(shù)、獲取總記錄數(shù)、獲取總頁數(shù)。 (1)創(chuàng)建一個(gè)接口,用于寫這幾個(gè)抽象方法 -
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)建一個(gè)類,用于繼承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ū)動(dòng) 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ù)處理對(duì)象 pstmt = conn.prepareStatement(sql); / 為占位符賦值 / 執(zhí)行更新語句 rs = pstmt.executeQuery(); / 判斷 if (rs.next() count = rs.getInt(con); / 計(jì)算出總頁數(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ù)處理對(duì)象 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等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 珠寶銷售活動(dòng)方案
- 物流運(yùn)輸活動(dòng)方案
- 愛心書屋捐贈(zèng)活動(dòng)方案
- 煎餅禮盒活動(dòng)方案
- 環(huán)保紙杯活動(dòng)方案
- 煤礦三反活動(dòng)方案
- 球拍抽獎(jiǎng)活動(dòng)方案
- 物理課教研活動(dòng)方案
- 父親節(jié)朗讀活動(dòng)方案
- 烤鴨五一活動(dòng)方案
- 推理小說簡(jiǎn)介
- 輸尿管結(jié)石診療指南
- 基坑開挖專項(xiàng)施工方案
- 熱射病的診斷與治療
- 2023年安順市公共資源交易服務(wù)中心事業(yè)單位工作人員招聘筆試題庫及答案解析
- GB/T 9074.18-2017自攻螺釘和平墊圈組合件
- 變壓器培訓(xùn)資料
- 斷絕子女關(guān)系協(xié)議書模板(5篇)
- 村規(guī)民約范文大全三篇村規(guī)民約范文大全
- 赤水市轄區(qū)內(nèi)楓溪河(風(fēng)溪河)、寶沅河(寶源河)、丙安河
- 胸腔積液PPT.ppt 課件
評(píng)論
0/150
提交評(píng)論