JavaWeb实现分页哦

本文介绍了JavaWeb项目中实现分页功能的步骤,包括分析所需数据、编写业务逻辑及展示代码示例,通过JDBC操作数据库,并展示了servlet及JSP页面的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JavaWeb实现分页哦

分页是现在项目必备的功能,那我们来看看哦

1.首先分析分页需要哪些数据???

1.总记录数totalpageCount
   sql语句 select count(*)from 表名
2.每页显示的数量 pageSize
                 1.客户端进行传递
				 2.由页面进行传递
3.总页数  totalPage
   总记录数/每页显示的数量
   注意:如果总记录数/每页的数量>0,则总页码+1
4.当前页currentPage
  客户端进行传递的
5.每页的数据 <List>
   通过sql语句求得:
   select * from 表名 limit begin pageSize
   begin可以由公式求得:(currentPage-1)*pageSizes

2.知道了数据之后,我们来写业务逻辑

业务逻辑:
1.编写page类
2.点击当前页的时候,需要传递两个参数:currentPage和pageSize
   servlet页面:1.接受参数
                2.调用service查询page
				   1.创建空的page对象
				   2.设置当前页面属性curentPage和每页显示的数量pageSize
				   3.调用dao查询总记录数pageTotalCount
				   4.调用dao查询list集合
				     (int begin,int pageSize)
				   5.计算总页码
				     总记录数/每页显示的数量
					 totalPage/pageSize
					 
					(dao层)
					1.查询总记录数的方法 
					2.查询每页显示的数据的方法(int begin,int pageSize)
				3.将page存入request
				4.转发list.jsp显示

3.直接上代码

实体Page类

package com.cn.pojo;

import java.util.List;

public class Page<T> {

	// 当前页
	private int currentPage;
	// 每一页的数量
	private int pageSize;
	// 总记录数
	private int totalPageCount;
	// 总页数
	private int totalPage;
	// 每一页的数据------泛型
	private List<T> list;

	public Page() {
		super();
	}

	public Page(int currentPage, int pageSize, int totalPageCount, int totalPage, List<T> list) {
		super();
		this.currentPage = currentPage;
		this.pageSize = pageSize;
		this.totalPageCount = totalPageCount;
		this.totalPage = totalPage;
		this.list = list;
	}

	public int getCurrentPage() {
		return currentPage;
	}

	public void setCurrentPage(int currentPage) {
		this.currentPage = currentPage;
	}

	public int getPageSize() {
		return pageSize;
	}

	public void setPageSize(int pageSize) {
		this.pageSize = pageSize;
	}

	public int getTotalPageCount() {
		return totalPageCount;
	}

	public void setTotalPageCount(int totalPageCount) {
		this.totalPageCount = totalPageCount;
	}

	public int getTotalPage() {
		return totalPage;
	}

	public void setTotalPage(int totalPage) {
		this.totalPage = totalPage;
	}

	public List<T> getList() {
		return list;
	}

	public void setList(List<T> list) {
		this.list = list;
	}
}

servlet页面 BookPageServlet

package com.cn.servlet;

import java.io.IOException;
import java.sql.SQLException;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.omg.CosNaming.NamingContextExtPackage.StringNameHelper;

import com.cn.pojo.Book;
import com.cn.pojo.Page;
import com.cn.service.BookService;

/**
 * Servlet implementation class BookPageServlet
 */
public class BookPageServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public BookPageServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	 
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		request.setCharacterEncoding("UTF-8");
		//获得前端的值
		String currentPage = request.getParameter("currentPage");
		String pageSize = request.getParameter("pageSize");
		
		//防止空指针异常
		if(currentPage == null || "".equals(currentPage)) {
			currentPage="1";
		}
		if(pageSize == null || "".equals(pageSize)) {
			pageSize="5";
		}
		
		//存到request里
		try {
			Page<Book> page = BookService.findPage(currentPage, pageSize);
			request.setAttribute("page", page);
			//转发你想要的页面
			request.getRequestDispatcher("bookall.jsp").forward(request, response);
		} catch (SQLExcept
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值