`
azrael6619
  • 浏览: 578263 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

javaBean实现分页

阅读更多

 此分页程序用到三个文件test.jsp和Pagination.java和DBConnect.java,和一个简单数据库test的表test,测试用的web发布服务器为resin-2.1.6)其中test用于显示分页结果,DBConnect.java用于连接mysql数据库,Pagination.java用于封装分页程序,而且DBConnect.java和Pagination.java放在WEB-INF下的classes(注意,如果没有的话就新建一个),数据库用的是mysql.

1、create database test ----------建立数据库test
  create table test(id int not null,name varchar(25));---------建立数据表test有两个字段,id和name类型分别是整形 和 字符型(有关mysql的操作请注意本站的数据库方面)

2、DBConnect.java

import java.sql.*;
public class DBConnect{
   String sDBDriver="org.gjt.mm.mysql.Driver";//设置驱动变量(jdbc的驱动程序放在WEB-INF下的lib目录下)
   String sConnStr="jdbc:mysql://127.0.0.1:3306/test?user=root&password=";//创建连接,数据库名test,连接mysql的用户名是root,密码为空(如果你的mysql有用户名和密码请填上你的用户名和密码)
   Connection conn=null;
   ResultSet rs=null;
  
   public DBConnect(){
   try{
           Class.forName(sDBDriver);// 创建数据库驱动
       }
       catch(java.lang.ClassNotFoundException e){
           System.out.println("Jdbc_conn():"+e.getMessage());
       }
   }
   // 数据更新,本文只用到查询。
   public void executeUpdate(String sql)throws Exception{
       sql=new String(sql.getBytes("GBK"),"ISO8859_1");
       try{
           conn=DriverManager.getConnection(sConnStr);
           Statement stmt=conn.createStatement();
           stmt.executeUpdate(sql);
           conn.close();
           stmt.close();
       }
       catch(SQLException ex){
           System.out.println("sql.executeUpdate:"+ex.getMessage());
       }
   }
   // 查询
   public ResultSet executeQuery(String sql)throws Exception{
       rs=null;
       try{
           sql=new String(sql.getBytes("GBK"),"ISO8859_1");// 字符的转换
           conn=DriverManager.getConnection(sConnStr);// 创建连接
           Statement stmt=conn.createStatement();// 数据操作对象
           rs=stmt.executeQuery(sql);//执行sql
           conn.close();// 关闭连接
           stmt.close();// 关闭对象
       }
       catch(SQLException ex){
           System.out.println("sql.executeQuery:"+ex.getMessage());
       }
       return rs;
   }
}

用Pagination.java封装分页类,在test.jsp里显示
2、Pagination.java--------封装分页的类
import java.sql.*;
import javax.servlet.*;// 引入servlet包
import javax.servlet.http.*;
import java.math.*;

public class  Pagination{
   private String strPage = null;// page参数变量
   private int curPages;// page参数内部的值
   private int m_rows; // 设置每页显示的页数
   private int pages;// 总页数
   // 取得test.jsp里的test.jsp?page=<%=curPages-1%>或是page=<%=curPages+1%>的值给变量strPage
   public String strPage(HttpServletRequest request, String page){
      try{
       strPage = request.getParameter(page);// request对象取得page的值
      }
      catch(Exception e){
           System.out.println("delcolumn"+e.getMessage());   
      }
      return strPage;// 返回这个值。
   }
   // 页面数
   public int curPages(String strPage){
       try{
           if(strPage == null){// 默认没有就设置是第一页
               curPages = 1;
           }
           else{
               curPages = Integer.parseInt(strPage);// 取得strPage的整数值
               if(curPages < 1)// 如果小于1,同样返回是第一页
                   curPages = 1;
           }
       }
       catch(Exception e){
           System.out.print("curPages");
       }
       return curPages;// 返回页面数
   }
   // 设置每页要显示的记录数
   public void setRows(int rows){
       m_rows=rows;
   }
   // 取得页数
   public int getPages(int rowcounts){
       int test;// 变量
       test=rowcounts%m_rows;// 取得余数
       if(test==0)
           pages = rowcounts/m_rows;// 每页显示的整数
           else
           pages=rowcounts/m_rows+1;// 不是的话就加一
       return pages;// 返回页数
   }
   // 结果集的返回
   public ResultSet getPageSet(ResultSet rs,int curPages){
       if(curPages==1){
           return rs;// 如果是就一页的话,就返回这个rs
       }
       else{
           int i=1;
           try{
               while(rs.next()){
                   i=i+1;
                   if(i>((curPages-1)*m_rows))
                       break;// 退出
               }
               return rs;// 从退出开始将结果集返回
           }
           catch(Exception e){
               System.out.print(e.getMessage());
           }
       }
       return rs;
   }
}

3.test.jsp --------显示页面
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<jsp:useBean id="m_pages" scope="page" class="Pagination"/>
<jsp:useBean id="sql" scope="page" class="DBConnect"/>
<%
   int curPages = Pagination.curPages(Pagination.strPage(request,"page"));//Pagination.strPage(request,"page")取page值传递给curPages()方法
   Pagination.setRows(10);//设置每页显示10条
%>

<%
   ResultSet rs_count=sql.executeQuery("select count(*) as t from test");//传递进数据库处理的javabean
   rs_count.next();
   int resultconts=rs_count.getInt("t");//取得总的数据数
   int totalPages = Pagination.getPages(resultconts);//取出总页数
   ResultSet rs=m_pages.getPageSet(sql.executeQuery("select * from test"),curPages);//获取指针的结果集参数是(结果集,页数)
%>
   <p>分类表</p>
   <table border="1">
   <tr>
   <td>1</td>
   <td>2</td>
   <td>3</td>
   </tr>
   <%int i=1;%>
   <%while (rt.next()){%>
   <tr>
   <td><%=rt.getString("id")%> </td>
   <td><%=rt.getString("name")%>  </td>
   </tr>
   <%
   i=i+1;
   if(i>10)
       break;
   }
   %>
   </table>
   <p align="center"><%if(curPages>1){%><a href="testBean.jsp?page=<%=curPages-1%>">上一页</a><%}%><%if(curPages<totalPages){%><a href="testBean.jsp?page=<%=curPages+1%>">下一页</a><%}%></p>

分享到:
评论

相关推荐

    jsp+javabean实现分页

    总结来说,"jsp+javabean实现分页"项目通过结合JSP的视图渲染能力与JavaBeans的业务逻辑处理,实现了一个高效、灵活的分页解决方案。对于初学者,理解这个项目的代码结构和工作流程,有助于深入掌握Web开发中的数据...

    mysql分页 jsp实现 servlet+javabean+jsp三级架构

    然后,文章详细介绍了如何使用Java实现分页技术,包括定义分页接口、实现分页接口、连接数据库等步骤。 一、分页技术的重要性 在软件开发中,分页技术是一个非常常用的功能,特别是在处理大量数据时。例如,在公告...

    javabean实现分页

    简单的javabean实现的分页,源码注释很详细

    mysql+jsp+javabean实现分页技术

    总的来说,实现分页技术需要结合数据库查询、JavaBean以及JSP页面的处理。这个项目为我们提供了一个基础的实现框架,但实际应用中可能需要考虑更多的优化,如缓存、性能优化、错误处理等。在设计分页系统时,要确保...

    JSP+JavaBean分页实现方案

    总结,通过JSP和JavaBean实现的分页方案,我们可以灵活地在任何支持JDBC的数据库上实现数据分页。这种方式结合了JSP的视图渲染能力和JavaBean的业务逻辑封装,使代码结构清晰,易于维护。但要注意,随着项目复杂度...

    Jsp中利用JavaBean技术实现分页功能

    ### JSP中利用JavaBean技术实现分页功能详解 #### 一、背景介绍与目标设定 在Web开发中,为了提升用户体验以及优化服务器资源管理,数据分页展示成为了一种非常重要的技术手段。本文旨在详细介绍如何在JSP(Java...

    javabean分页的例子

    javabean分页程序,适合初学jsp的朋友 &lt;br&gt;1、数据库表中有GoodsType表 2、新建TypeList.jsp页面 3、新建GoodsType的实体类 4、新建GoodsTypeDAO的操作类 5、在BusinessDelegate类中注册相应的方法...

    JSP+JavaBean+servlet实现分页

    本主题将深入探讨如何使用JSP、JavaBean和Servlet技术来实现分页功能。这三个组件是Java Web应用程序中的核心元素,它们共同作用于服务器端,处理请求,管理业务逻辑,并向客户端展示数据。 首先,我们来看JSP...

    jsp+JavaBean+Servlet_Oracle和Mysql分页

    本项目聚焦于使用JSP、JavaBean和Servlet技术,结合Oracle与MySQL两种主流关系型数据库实现分页功能。以下将详细介绍这些技术及其在分页中的应用。 1. JSP(JavaServer Pages):JSP是一种动态网页技术,允许开发...

    基于JavaBean的分页技术

    在Java Web开发中,通常采用JSP结合JavaBean的方式实现分页功能。 #### 2. JavaBean在分页中的应用 JavaBean是Java的一种组件模型,主要用于封装数据和业务逻辑。在分页技术中,JavaBean可以用于封装每一页的数据,...

    jsp javabean 分页

    本文将详细介绍如何在JSP中使用JavaBean实现分页。 首先,我们需要理解分页的基本原理。分页是将一个大的数据集分割成多个小的部分,每部分称为一页。在JSP中,我们通常通过查询数据库获取一定数量的数据(如10条)...

    JavaBean分页显示

    本文详细介绍了如何使用JavaBean实现分页功能,包括核心概念、重要属性和方法、以及具体的代码实现。通过这些内容的学习,开发者可以更好地理解和应用分页技术,从而提高Web应用程序的性能和用户体验。

    jsp+javabean分页

    **四、JSP+JavaBean实现分页** 1. **数据获取**:首先,`JavaBean`负责从数据库中查询数据,根据每页大小和当前页码计算出起始和结束索引,然后执行相应的SQL查询。 2. **数据封装**:查询结果封装到一个JavaBean...

    利用servlet+jsp+javabean进行分页查询

    分页查询的实现步骤通常包括: 1. 用户在前端页面上输入页码或选择每页显示的数量,然后提交请求。 2. Servlet接收到请求后,解析请求参数,计算出offset和limit值。 3. 调用javabean的分页查询方法,传入offset和...

    jsp和JavaBean实现数据分页

    总结来说,通过JSP和JavaBean实现数据分页,我们可以将业务逻辑和视图层分离,提高代码的可读性和维护性。在实际项目中,还可以考虑引入缓存机制,进一步优化性能。同时,对于大型项目,Spring框架的Data JPA和...

    java+javabean+servlset分页

    本主题主要关注如何使用JavaBean实现分页效果,类似于百度搜索引擎的分页展示方式。 首先,我们需要理解分页的基本概念。分页是将一个大的数据集分为多个较小的部分,每次只加载一部分数据到页面上,用户可以逐页...

    jsp+javabean分页技术.pdf

    总结来说,JSP结合JavaBean实现分页技术,需要完成数据库连接、分页查询和JSP页面展示这三个主要步骤。通过这种方式,我们可以有效地管理大量数据,并提供用户友好的浏览体验。在实际开发中,还需要考虑到性能优化和...

    用jsp实现分页技术

    本文将基于给定的文件信息,深入探讨如何利用JSP(Java Server Pages)结合JavaBean实现分页功能。 ### 分页技术概述 分页技术主要是指在展示大量数据时,将数据分割成多个页面,每次只显示其中一部分,通过用户...

    JSP+JavaBean+Servlet实现分页技术

    本项目“JSP+JavaBean+Servlet实现分页技术”利用了经典的Java Web开发模型,结合Mysql数据库、Tomcat服务器以及MyEclipse开发工具,实现了高效、灵活的分页功能。下面我们将详细探讨其中涉及的关键知识点。 1. JSP...

Global site tag (gtag.js) - Google Analytics