javaweb分页原理详解

2025-05-29 0 97

本文实例为大家分享了javaweb分页原理的具体实现代码,供大家参考,具体内容如下

?

1

2

3

4

5

6

7

8

9
public class Page {

private int currentPage;

private int totalPage;

private int count;

private int PageSize;

private List<Product> list;

private String category;

}

servlet:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44
package com.learning.web.servlet;

import java.io.IOException;

import java.util.List;

import javax.enterprise.inject.New;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import com.learning.domain.Page;

import com.learning.domain.Product;

import com.learning.service.ProductService;

@WebServlet("/showProductByPage")

public class ShowProductByPage extends HttpServlet {

private static final long serialVersionUID = 1L;

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

int currentPage=1;

int pageSize=4;

//第一次取为空

String currentPageString=request.getParameter("currentPage");

if (currentPageString!=null) {

currentPage=Integer.parseInt(currentPageString);

}

String category = request.getParameter("category");

if ("".equals(category)) {

category=null;

}

ProductService productService=new ProductService();

Page page=productService.showProductByPage(currentPage,pageSize,category);

request.setAttribute("page", page);

request.getRequestDispatcher("/product_list.jsp").forward(request, response);

}

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

doGet(request, response);

}

}

service:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17
public Page showProductByPage(int currentPage, int pageSize, String category) {

try {

Page page=new Page();

int count=productDao.count(category);

page.setCount(count);

page.setList(productDao.findProductsByPage(currentPage,pageSize,category));

int totalPage=(int) Math.ceil(1.0*count/pageSize);

page.setPageSize(pageSize);

page.setCurrentPage(currentPage);

page.setTotalPage(totalPage);

page.setCategory(category);

return page;

} catch (SQLException e) {

e.printStackTrace();

}

return null;

}

Dao:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21
public int count(String category) throws SQLException {

QueryRunner queryRunner=new QueryRunner(C3P0Util.getDataSource());

String sql=" select count(*) from products ";

if (category!=null) {

sql+=" where category='"+category+"'";

}

long l= (Long)queryRunner.query(sql, new ScalarHandler(1));

return (int) l;

}

public List<Product> findProductsByPage(int currentPage, int pageSize, String category) throws SQLException {

QueryRunner queryRunner=new QueryRunner(C3P0Util.getDataSource());

String sql=" select * from products ";

if (category!=null) {

sql+=" where category='"+category+"'";

}

sql+=" limit ?,?";

return queryRunner.query(sql, new BeanListHandler<Product>(Product.class),(currentPage-1)*pageSize,pageSize);

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持快网idc。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 javaweb分页原理详解 https://www.kuaiidc.com/117472.html

相关文章

发表评论
暂无评论