index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
Insert title here
fenye.jsp
<%--
Created by IntelliJ IDEA.
User: 11603
Date: 2022/3/5
Time: 12:40
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
Title
| id | 名称 | 价格 | 数量 |
| ${p.product_id} | ${p.product_name} | ${p.product_price} | ${p.product_number} |
pageServlet.java
package com.hbpu.servlet;
import com.hbpu.dao.ProductDao;
import com.hbpu.entity.Page;
import com.hbpu.entity.Product;
import com.hbpu.service.PageService;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;
import java.sql.SQLException;
import java.util.List;
@WebServlet(name = "pageServlet", value = "/pageServlet")
public class pageServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String npage = request.getParameter("newPage");
if (npage==null)
npage="1";
PageService pageService=new PageService();
List products=null;
int countRecord=0;
int countPage=0;
try {
products= pageService.findLimitPage(new Integer(npage));
countRecord=pageService.getCountRecord();
countPage=pageService.getCountPage();
System.out.println(products);
System.out.println("总页数"+countPage);
System.out.println("总记录数"+countRecord);
} catch (SQLException e) {
e.printStackTrace();
}
request.setAttribute("products",products);
request.setAttribute("newPage",npage);
request.setAttribute("countPage",countPage);
request.setAttribute("countRecord",countRecord);
request.getRequestDispatcher("/fenye.jsp").forward(request,response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
PageService.java
package com.hbpu.servlet;
import com.hbpu.dao.ProductDao;
import com.hbpu.entity.Page;
import com.hbpu.entity.Product;
import com.hbpu.service.PageService;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;
import java.sql.SQLException;
import java.util.List;
@WebServlet(name = "pageServlet", value = "/pageServlet")
public class pageServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String npage = request.getParameter("newPage");
if (npage==null)
npage="1";
PageService pageService=new PageService();
List products=null;
int countRecord=0;
int countPage=0;
try {
products= pageService.findLimitPage(new Integer(npage));
countRecord=pageService.getCountRecord();
countPage=pageService.getCountPage();
System.out.println(products);
System.out.println("总页数"+countPage);
System.out.println("总记录数"+countRecord);
} catch (SQLException e) {
e.printStackTrace();
}
request.setAttribute("products",products);
request.setAttribute("newPage",npage);
request.setAttribute("countPage",countPage);
request.setAttribute("countRecord",countRecord);
request.getRequestDispatcher("/fenye.jsp").forward(request,response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
Product.java
package com.hbpu.entity;
public class Product {
private String product_id;
private String product_name;
private double product_price;
private String product_message;
private String product_pic;
private int product_number;
public int getProduct_number() {
return product_number;
}
public void setProduct_number(int product_number) {
this.product_number = product_number;
}
public String getProduct_id() {
return product_id;
}
public void setProduct_id(String product_id) {
this.product_id = product_id;
}
public String getProduct_name() {
return product_name;
}
public void setProduct_name(String product_name) {
this.product_name = product_name;
}
public double getProduct_price() {
return product_price;
}
public void setProduct_price(double product_price) {
this.product_price = product_price;
}
public String getProduct_message() {
return product_message;
}
public void setProduct_message(String product_message) {
this.product_message = product_message;
}
public String getProduct_pic() {
return product_pic;
}
public void setProduct_pic(String product_pic) {
this.product_pic = product_pic;
}
}
ProductDao.java
package com.hbpu.dao;
import java.sql.SQLException;
import java.util.List;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;
import org.apache.commons.dbutils.handlers.BeanListHandler;
import com.hbpu.entity.Product;
import com.hbpu.utils.DataSourceUtils;
import org.apache.commons.dbutils.handlers.ScalarHandler;
public class ProductDao {
public int totalProduct() throws SQLException {
String sql="select count(*) from product";
QueryRunner runner = new QueryRunner(DataSourceUtils.getDataSource());
Object obj=runner.query(sql, new ScalarHandler());
int count=Integer.parseInt(String.valueOf(obj));
return count;
}
public List findPage(int newPage,int size ) throws SQLException {
String sql="select * from product limit ?,?";
QueryRunner runner = new QueryRunner(DataSourceUtils.getDataSource());
return runner.query(sql,new BeanListHandler(Product.class),newPage,size);
}
}
mysql
运行结果:



