《java ee開發(fā)技術(shù)教學(xué)課件》java-web分頁操作(jsp servlet javabean)_第1頁
《java ee開發(fā)技術(shù)教學(xué)課件》java-web分頁操作(jsp servlet javabean)_第2頁
《java ee開發(fā)技術(shù)教學(xué)課件》java-web分頁操作(jsp servlet javabean)_第3頁
《java ee開發(fā)技術(shù)教學(xué)課件》java-web分頁操作(jsp servlet javabean)_第4頁
《java ee開發(fā)技術(shù)教學(xué)課件》java-web分頁操作(jsp servlet javabean)_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論