javaweb分页原理详解

发布时间 - 2026-01-11 00:34:09    点击率:

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

public class Page {
 private int currentPage;
 private int totalPage;
 private int count;
 private int PageSize;
 private List<Product> list;
 private String category;
 
 } 

servlet:

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:

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:

 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);
 }


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


# javaweb  # 分页  # JavaWeb入门教程之分页查询功能的简单实现  # JavaWeb分页的实现代码实例  # JavaWeb 简单分页实现代码  # JavaWeb中的简单分页完整代码(推荐)  # Javaweb使用thymeleaf局部刷新结合Layui插件实现Html分页  # 大家分享  # 具体内容  # 大家多多  # 为空  # enterprise  # javax  # inject  # annotation  # ServletException  # import  # web  # learning  # util  # IOException  # io  # WebServlet  # showProductByPage  # ProductService 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何在不使用负向后查找的情况下匹配特定条件前的换行符  EditPlus中的正则表达式 实战(4)  米侠浏览器网页图片不显示怎么办 米侠图片加载修复  极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?  如何在阿里云ECS服务器部署织梦CMS网站?  Laravel如何使用模型观察者?(Observer代码示例)  消息称 OpenAI 正研发的神秘硬件设备或为智能笔,富士康代工  利用JavaScript实现拖拽改变元素大小  Laravel怎么使用artisan命令缓存配置和视图  潮流网站制作头像软件下载,适合母子的网名有哪些?  如何彻底卸载建站之星软件?  网页设计与网站制作内容,怎样注册网站?  Laravel怎么集成Vue.js_Laravel Mix配置Vue开发环境  Laravel的.env文件有什么用_Laravel环境变量配置与管理详解  Laravel如何实现本地化和多语言支持_Laravel多语言配置与翻译文件管理  BootStrap整体框架之基础布局组件  Laravel如何创建和注册中间件_Laravel中间件编写与应用流程  如何快速搭建高效可靠的建站解决方案?  zabbix利用python脚本发送报警邮件的方法  如何在IIS管理器中快速创建并配置网站?  宙斯浏览器文件分类查看教程 快速筛选视频文档与图片方法  三星网站视频制作教程下载,三星w23网页如何全屏?  Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明  如何安全更换建站之星模板并保留数据?  Laravel如何使用Gate和Policy进行授权?(权限控制)  利用 Google AI 进行 YouTube 视频 SEO 描述优化  Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】  做企业网站制作流程,企业网站制作基本流程有哪些?  制作旅游网站html,怎样注册旅游网站?  网站制作软件有哪些,制图软件有哪些?  Laravel Blade模板引擎语法_Laravel Blade布局继承用法  Java解压缩zip - 解压缩多个文件或文件夹实例  laravel怎么为应用开启和关闭维护模式_laravel应用维护模式开启与关闭方法  Laravel Asset编译怎么配置_Laravel Vite前端构建工具使用  Laravel怎么自定义错误页面_Laravel修改404和500页面模板  Laravel DB事务怎么使用_Laravel数据库事务回滚操作  专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?  如何在 Python 中将列表项按字母顺序编号(a.、b.、c. …)  Edge浏览器怎么启用睡眠标签页_节省电脑内存占用优化技巧  php打包exe后无法访问网络共享_共享权限设置方法【教程】  东莞专业网站制作公司有哪些,东莞招聘网站哪个好?  郑州企业网站制作公司,郑州招聘网站有哪些?  详解CentOS6.5 安装 MySQL5.1.71的方法  Laravel如何使用Service Provider注册服务_Laravel服务提供者配置与加载  美食网站链接制作教程视频,哪个教做美食的网站比较专业点?  新三国志曹操传主线渭水交兵攻略  如何在自有机房高效搭建专业网站?  微信小程序 wx.uploadFile无法上传解决办法  JavaScript如何实现错误处理_try...catch如何捕获异常?  微信小程序制作网站有哪些,微信小程序需要做网站吗?