




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、java-web分頁操作(jsp+servlet+javabean)一 分頁操作分析分頁在web項(xiàng)目中是非常重要的技術(shù),打開每一個網(wǎng)頁都可以看到分頁1疑問的出現(xiàn)在寫分頁前要了解什么是分頁,分頁一共有多少個方法、多少個參數(shù),應(yīng)該如何編寫方法的實(shí)現(xiàn)和定義參數(shù)的變量2疑問的解決 分頁一般分為首頁、上一頁、下一頁、末頁,還要得到總記錄數(shù),總頁數(shù),下面來詳細(xì)介紹一下它們的概念 如果設(shè)當(dāng)前頁為newpage (1)當(dāng)前頁 -
2、打開網(wǎng)頁時看到的頁面(2)首頁 - 第一頁 newpage=1(3)上一頁 - 當(dāng)前頁-1 newpage-1 (4)下一頁 - 當(dāng)前頁+1 newpage+1(5)末頁 - 當(dāng)前頁=總頁數(shù) countpage=newpage
3、(6)總記錄數(shù) - select count(*) from 表名(7)總頁數(shù) - 總記錄數(shù)%每頁顯示的記錄數(shù)=0 ? 總記錄數(shù)/每頁顯示的記錄數(shù): 總記錄數(shù)/每頁顯示的記錄數(shù)+1(8)顯示當(dāng)前頁的分析 每頁顯示10條記錄 第1頁:newpage=1 起始記錄為0 10
4、60; 第2頁:newpage=2 起始記錄 10 10 第3頁:newpage=3 起始記錄 20 10 第4頁:newpage=
5、1 起始記錄為30 10 第5頁:newpage=2 起始記錄 40 10 第6頁:newpage=3
6、60; 起始記錄 50 第n頁 newpage=n (newpage-1)*pagesize (9)查詢指定的頁面 select id,title,content from new limit 0,10 注:從0開始查詢,每頁顯示10條記錄二
7、; 功能的實(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;
8、 private string address; public paging() super(); public paging(integer id, string name, string address) super();
9、0; this.id = id; = name; this.address = address; public integer getid() return id;
10、public void setid(integer id) this.id = id; public string getname() return name; public void setname(string name)
11、160; = name; public string getaddress() return address; public void setaddress(string address) this.address = address;
12、 override public string tostring() return "paging id=" + id + ", name=" + name + ", address=" + address
13、60; + "" 3實(shí)現(xiàn)類的編寫-對數(shù)據(jù)有條件的讀取,其中包括查詢指定頁數(shù)、獲取總記錄數(shù)、獲取總頁數(shù)。 (1)創(chuàng)建一個接口,用于寫這幾個抽象方法 - pagingdao package com.csdn.paging.dao;import java.util.list;import com.csdn.paging.domain.paging; public interface pagingdao /顯示總的記錄條數(shù)
14、60; integer getcountrecord(); /根據(jù)當(dāng)前頁到結(jié)束頁的查詢 list<paging> findiimitpage(integer newpage); /總的頁數(shù) integer getcountpage();(2)創(chuàng)建一個類,用于繼承pagingdao接口 - pagingdaoimplpackage com.csdn.paging.dao;import java.sq
15、l.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 static f
16、inal 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;privat
17、e preparedstatement pstmt;private resultset rs; static try / 加載驅(qū)動 class.forname("com.mysql.jdbc.driver"); / 建立連接
18、60; conn = drivermanager.getconnection(url); catch (classnotfoundexception e) / todo auto-generated catch block e.printstacktrace(); catch (sqlexception e)
19、; / todo auto-generated catch block e.printstacktrace(); public integer getcountrecord() / 設(shè)置返回值 integer count = 0; / 獲取連接
20、160; / 定義sql語句 查詢出一共的記錄條數(shù) string sql = "select count(*) as con from paging" try / 創(chuàng)建預(yù)處理對象 pstmt = conn.preparestatement(sql); &
21、#160; / 為占位符賦值 / 執(zhí)行更新語句 rs = pstmt.executequery(); / 判斷 if (rs.next() c
22、ount = rs.getint("con"); / 計(jì)算出總頁數(shù),并從getcountpage方法中獲取 this.countpage = (count % pagesize) != 0 ? (count / pagesize + 1) : (count / pagesize);
23、0; / 釋放資源 if (rs != null) rs.close(); if (pstmt != null) &
24、#160; pstmt.close(); catch (sqlexception e) / todo auto-generated catch block e.printstacktrace(); &
25、#160; return count;/ 得到總的頁數(shù)public integer getcountpage() / todo auto-generated method stub return countpage; / 根據(jù)傳過來的數(shù)值條件查詢public list<paging> findiimitpage(integer newpage) / 修改返回值 list<paging> entities = new
26、 arraylist<paging>(); / 獲取連接 / 定義sql語句 string sql = "select id,name,address from paging limit ?,?" try / 創(chuàng)建預(yù)處理對象 pstmt = conn.p
27、reparestatement(sql); / 為占位符賦值 int index = 1; pstmt.setobject(index+, (newpage - 1) * pagesize); pstmt.setobject(index+, pagesize);&
28、#160; / 執(zhí)行更新 rs = pstmt.executequery(); / 判斷 while (rs.next() paging entity =
29、 new paging(); entity.setid(rs.getint("id"); entity.setname(rs.getstring("name"); entity.setaddress(
30、rs.getstring("address"); entities.add(entity); / 釋放資源 if (rs != null)
31、60; rs.close(); if (pstmt != null) pstmt.close(); catch (sqlexception
32、 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)入
33、標(biāo)簽<% taglib uri=" prefix="c"%> <body> /通過超鏈接連接到servlet層上,并為newpage傳參數(shù) <a href="$pagecontext.request.contextpath/paging?newpage=1">查看所有信息</a>
34、160; <table border="1"> 、 <c:foreach items="$entities" var="entity">
35、0; <tr> <td> $entity.id &
36、#160; </td> <td>
37、160; $ </td> <td>
38、160; $entity.address </td>
39、0; </tr> </c:foreach> </table> <a href="$pagecontext.request.contextpath/paging?newpage=1">首頁</a> &
40、#160; <a href="$pagecontext.request.contextpath/paging?newpage=$newpage-1<=1?1:newpage-1">上一頁</a> <a h
41、ref="$pagecontext.request.contextpath/paging?newpage=$newpage+1>=countpage?countpage:newpage+1">下一頁</a> <a href="$pagecontext.request.contextpath/paging?newpage=$countpage">末頁</a> </body></html> 5.servlet層的使用 - pagingservlet.java public void dopost(httpservletrequest request, https
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司加油卡管理規(guī)定
- 行政法律測試題庫及答案
- 新課標(biāo)教師語文考試試題及答案
- 跨界合作股權(quán)交割與品牌整合協(xié)議
- 跨界合作網(wǎng)絡(luò)小說IP改編授權(quán)協(xié)議
- 2025年學(xué)生會年底總結(jié)大會發(fā)言稿模版
- 碳中和戰(zhàn)略實(shí)施中的企業(yè)綠色投資合作協(xié)議
- 氣胸護(hù)理系統(tǒng)化討論
- 網(wǎng)絡(luò)游戲運(yùn)營風(fēng)險控制補(bǔ)充協(xié)議
- 家庭成員子女監(jiān)護(hù)權(quán)確認(rèn)與保障合同
- 2025年中考政治總復(fù)習(xí)必考重點(diǎn)知識復(fù)習(xí)提綱
- 河南省安陽市(百師聯(lián)盟)2023-2024學(xué)年高一下學(xué)期5月大聯(lián)考數(shù)學(xué)試題(人教版)(解析版)
- 屋面防水及改造工程投標(biāo)方案(技術(shù)方案)
- 口腔正畸考試試題及答案
- 血液透析患者內(nèi)瘺感染的護(hù)理
- 河道治理及生態(tài)修復(fù)工程施工方案與技術(shù)措施
- 山東省棗莊市山亭區(qū)2023年小升初數(shù)學(xué)試卷(含答案)
- 2025高考語文名校作文題立意與例文參考11篇
- 申報企業(yè)高級工程師職稱述職報告
- 2025年長沙銅官窯遺址管理處招考(臨聘)高頻重點(diǎn)模擬試卷提升(共500題附帶答案詳解)
- 中國老年患者術(shù)后譫妄-
評論
0/150
提交評論