源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

javaweb分页原理详解

  • 时间:2020-07-28 21:52 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:javaweb分页原理详解
本文实例为大家分享了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);
 }


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程素材网。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部