`

jsp+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>

分享到:
评论

相关推荐

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

    在Java Web开发中,"利用servlet+jsp+javabean进行分页查询"是一个常见的技术实践,主要用于处理大量数据的展示,提升用户体验并减轻服务器压力。本篇将详细讲解这个过程中的关键知识点。 首先,我们需要理解...

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

    MySQL分页JSP实现Servlet+JavaBean+JSP三级架构 本文档对MySQL分页技术进行了总结,讨论了在JSP实现中使用Servlet+JavaBean+JSP三级架构的分页技术的实现方式。文章首先讨论了分页技术的重要性,并且提出了一个基本...

    JSP+JavaBean分页实现方案

    本文将详细介绍如何使用JSP(JavaServer Pages)和JavaBean来实现一个通用的分页功能,适合任何数据库系统。 首先,我们需要理解JSP和JavaBean的基本概念。JSP是一种动态网页技术,它允许我们在HTML页面中嵌入Java...

    JSP+JavaBean+servlet实现分页

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

    JSP+JavaBean+Servlet实现分页技术

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

    jsp+javabean 分页程序

    jsp+javabean 分页程序jsp+javabean 分页程序jsp+javabean 分页程序jsp+javabean 分页程序jsp+javabean 分页程序jsp+javabean 分页程序jsp+javabean 分页程序 简单实用供初学者参考

    mysql+jsp+javabean实现分页技术

    本项目是关于如何使用MySQL数据库、JavaServer Pages(JSP)和JavaBean来实现网页上的分页功能。这里我们将深入探讨这些组件以及它们在实现分页中的作用。 **MySQL分页** MySQL数据库提供了`LIMIT`和`OFFSET`...

    jsp+servlet+javabean+jdbc+mysql实现增删改查和分页功能

    5.Servlet + JSP +JavaBean + JDBC(DBUtils)+ mysql 6.数据库 create database day19; use day19; create table t_customer( id varchar(40) primary key, username varchar(20), gender varchar(10), ...

    jsp+javabean分页源码

    jsp+javabean分页源码,功能强大,运行OK!已经被应用在了本人的一个网站前台开发的项目中。代码注释详细,配有readme.txt说明,非常适合刚刚步入J2EE的程序员朋友,也可以用来作为J2EE高手做网站前台或者其他小型...

    jsp+javabean+servlet实现登录注册以及留言板

    jsp+javabean+servlet使用简单的MVC模式实现登录注册、留言板、分页的功能。model(javabean)层实现读写数据库,数据库名为webapp,没有密码;view(JSP)实现展示信息;controller(servlet)层联系model和view,...

    jsp+JavaBean+Servlet_Oracle和Mysql分页

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

    JSP+JavaBean+Servlet实现分页

    文章整理: www.diybl.com 文章来源: 网络 去论坛 建我的blog 今天给同学用JSP+JavaBean+Servlet做了个分页。用的是MySQL+Tomcat+MyEclispe环境。

    使用JSP+JavaBean+Servlet实现数据分页

    本教程将详细讲解如何利用JSP(JavaServer Pages)、JavaBean和Servlet技术来实现数据分页功能。我们将讨论以下几个关键知识点: 1. **JSP基础**:JSP是Java的一种动态网页技术,它允许我们在HTML页面中嵌入Java...

    JSP+Servlet+JavaBean查询分页

    "JSP+Servlet+JavaBean查询分页"的主题涵盖了如何在处理大量数据时,有效地展示信息并允许用户进行分页浏览。在这个主题中,我们将深入探讨这三个关键组件在分页查询中的应用。 首先,JSP是Java的一个标准视图技术...

    jsp+servlet+javabean 分页

    总结起来,“jsp+servlet+javabean 分页”方案是Java Web开发中常见的分页实现方式。它充分利用了JSP的视图呈现能力,Servlet的请求处理功能以及JavaBean的数据封装特性,形成了一套清晰的职责划分。这种模式不仅...

    JSP+JavaBean的分页组件

    本项目以"JSP+JavaBean"的技术栈,实现了一个简单易用的分页组件。以下是这个组件的核心知识点及详细说明: 1. **JavaBean**: JavaBean是一种遵循特定规范的Java类,它主要用于封装数据和业务逻辑。在这个分页组件...

    jsp+servlet+javabean+ajax MVC模式,增删改查,数据分页显示

    本文将深入探讨`JSP(JavaServer Pages)、Servlet、JavaBean`以及`Ajax`如何在MVC架构下实现数据的增删改查与分页显示,并涉及`SmartUpload`组件用于文件和图片的上传。 首先,`MVC`模式是一种软件设计模式,它将...

    JSP+servlet+javabean实现购物车

    本项目以"JSP+servlet+javabean实现购物车"为主题,旨在演示如何使用这些技术来创建一个功能完整的购物车系统。下面我们将深入探讨这些知识点。 1. **JSP(JavaServer Pages)**:JSP是一种服务器端脚本语言,用于...

    jsp+servlet+javabean实现网上商城项目完整源码

    网上商城项目是现代电子商务的重要组成部分,本项目采用经典的JSP、Servlet和JavaBean技术进行实现,提供了完整的源码,旨在帮助开发者理解和学习如何构建一个功能完备、界面美观的网上购物平台。下面将对这个项目的...

Global site tag (gtag.js) - Google Analytics