javaee開發(fā)技術(shù)教學(xué)課件java-web分頁操作jspservletjavabean_第1頁
javaee開發(fā)技術(shù)教學(xué)課件java-web分頁操作jspservletjavabean_第2頁
javaee開發(fā)技術(shù)教學(xué)課件java-web分頁操作jspservletjavabean_第3頁
javaee開發(fā)技術(shù)教學(xué)課件java-web分頁操作jspservletjavabean_第4頁
javaee開發(fā)技術(shù)教學(xué)課件java-web分頁操作jspservletjavabean_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

評論

0/150

提交評論