`
weishaoxiang
  • 浏览: 96245 次
  • 性别: Icon_minigender_1
  • 来自: 广西
社区版块
存档分类
最新评论

jsp+javabean实现分页

    博客分类:
  • J2EE
阅读更多

此分页程序只用到三个文件test.jsp(用于显示分页结果的JSP页面)Pagination.java(用于封装分页程序)和DBConnect.java(用于连接SqlServer 2000数据库的JAVA),和一个简单数据库user的表username,测试用的web发布服务器为Tomcat 5.5.20).而且DBConnect.javaPagination.java放在WEB-INF下的classes目录下(注意,如果没有的话就新建一个),数据库用的是SqlServer 2000

1create database username ----------建立数据库username
  create table
username (name varchar(25));---------建立数据表username有一个字段name类型是字符型( 有关sql的操作请注意:   D:\学习资料\SQL server\课件\逍湘 SQL大全.doc  的数据库方面知识.)

2DBConnect.java---------------用于连接sqlserver 2000数据库

package net.xiaoxiang;

import java.sql.*;

/**
 * 数据库连接类---(JDBC)
 * @author 逍湘
 */
public class DBConnect
{
	
	// 设置驱动变量
	String		drivename	= "com.microsoft.jdbc.sqlserver.SQLServerDriver";
	// 创建连接,数据库名user
	String		URL			= "jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=user";
	// 这里替换成你自已的数据库用户名
	String		user		= "sa";
	// 这里替换成你自已的数据库用户密码
	String		password	= "123";
	Connection	conn		= null;
	ResultSet	rs			= null;
	
	/**
	 * 构造方法创建数据库连接 *
	 */
	public DBConnect ( ){
		try
		{
			Class.forName ( drivename );// 创建数据库驱动
			conn = DriverManager.getConnection ( URL, user, password );// 创建连接
		}
		catch ( java.lang.ClassNotFoundException e )
		{
			System.out.println ( "Jdbc_conn():" + e.getMessage ( ) );
		}
		catch ( SQLException ex )
		{
			System.out.println ( "sql.executeUpdate:" + ex.getMessage ( ) );
		}
	}
	
	/**
	 * 数据更新方法
	 * @param sql
	 * @throws Exception
	 */
	public void executeUpdate ( String sql ) throws Exception
	{
		sql = new String ( sql.getBytes ( "GBK" ), "ISO8859_1" );// 字符的转换
		try
		{
			Statement stmt = conn.createStatement ( );
			stmt.executeUpdate ( sql );
			conn.close ( );
			stmt.close ( );
		}
		catch ( SQLException ex )
		{
			System.out.println ( "sql.executeUpdate:" + ex.getMessage ( ) );
		}
	}
	
	/**
	 * 数据查询方法
	 * @param sql
	 * @return
	 * @throws Exception
	 */
	public ResultSet executeQuery ( String sql ) throws Exception
	{
		rs = null;
		sql = new String ( sql.getBytes ( "GBK" ), "ISO8859_1" );// 字符的转换
		try
		{
			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;
	}
	
	/**
	 * 测试
	 * @param args
	 */
	public static void main ( String args[] )
	{
		try
		{
			ResultSet rs_count = new DBConnect ( )
					.executeQuery ( "select count(*) as t from username" );// 传递进数据库处理的javabean
			rs_count.next ( );
			int resultconts = rs_count.getInt ( "t" );// 取得总的数据数
			System.out.print ( resultconts );
		}
		catch ( Exception ex )
		{
			System.out.println ( "sql.executeQuery:ok" + ex.getMessage ( ) );
		}
	}
}

 

 

Pagination.java封装分页类,在test.jsp里显示

3Pagination.java--------封装分页的类

package net.xiaoxiang;

import java.sql.*;
import javax.servlet.http.*;

/**
 * 封装分页程序
 * @author 逍湘
 */
public class Pagination
{
	
	private String	strPage	= null;	// page参数变量
	private int		current_Pages;	// 当前页数
	private int		page_record;	// 设置每页显示记录数
	private int		total_Pages;	// 总页数
	
	/**
	 * 取得xxx.jsp页面文件里的xxx.jsp?page=<%=current_Pages-1%>
	 * 或是page=<%=current_Pages+1%>的值给变量strPage
	 * @param request
	 * @param page
	 *            为跳转到的页号
	 * @return 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;
	}
	
	/**
	 * 设置要显示的当前页数
	 * @param strPage
	 * @return current_Pages(返回页面数)
	 */
	public int current_Pages ( String strPage )
	{
		try
		{
			if ( strPage == null )
			{ // 默认没有就设置是第一页
				current_Pages = 1;
			}
			else
			{
				current_Pages = Integer.parseInt ( strPage );// 取得strPage的整数值
				if ( current_Pages < 1 ) // 如果小于1,同样返回是第一页
					current_Pages = 1;
			}
		}
		catch ( Exception e )
		{
			System.out.print ( "current_Pages" );
		}
		return current_Pages;// 返回页面数
	}
	
	/**
	 * @param page_record
	 *            设置每页要显示的记录数
	 */
	public void setPage_record ( int page_record )
	{
		this.page_record = page_record;
	}
	
	/**
	 * 取得总页数
	 * @param total_record
	 *            总记录数(查询数据库获得)
	 * @return total_Pages 返回总页数
	 */
	public int getTotal_Pages ( int total_record )
	{
		int test;// 变量
		test = total_record % page_record;// 取得余数
		if ( test == 0 )
			total_Pages = total_record / page_record;// 每页显示的整数
		else
			total_Pages = total_record / page_record + 1;// 不是整数就加一
		return total_Pages;
	}
	
	/**
	 * 结果集的返回
	 * @param rs
	 *            结果集
	 * @param current_Pages
	 *            页数
	 * @return rs 结果集
	 */
	public ResultSet getPageSet ( ResultSet rs, int current_Pages )
	{
		if ( current_Pages == 1 )
		{
			return rs;// 如果就一页,就返回这个rs
		}
		else
		{
			int i = 1;
			try
			{
				while ( rs.next ( ) )
				{
					i = i + 1;
					if ( i > ( ( current_Pages - 1 ) * page_record ) )
						break;// 退出
				}
				return rs;// 从退出开始将结果集返回
			}
			catch ( Exception e )
			{
				System.out.print ( e.getMessage ( ) );
			}
		}
		return rs;
	}
}

 

 

 

4.test.jsp --------显示页面

<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%@ page import="java.sql.*"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
	<head>
		<title>分页显示</title>

		<meta http-equiv="pragma" content="no-cache">
		<meta http-equiv="cache-control" content="no-cache">
		<meta http-equiv="expires" content="0">
		<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
		<meta http-equiv="description" content="This is my page">
		<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

	</head>

	<body>
		<jsp:useBean id="m_pages" scope="page" class="bean.Pagination"></jsp:useBean>
		<jsp:useBean id="sql" scope="page" class="bean.DBConnect" />
		<%
			int curPages = m_pages.current_Pages ( m_pages.strPage ( request, "page" ) );
			m_pages.setPage_record ( 10 );//设置每页显示10条
		%>
		<%
		//传递进数据库处理的javabean
			ResultSet rs_count = sql.executeQuery ( "select count(*) as t from username" );
			rs_count.next ( );
			int resultconts = rs_count.getInt ( "t" );//取得总的数据数
			int totalPages = m_pages.getTotal_Pages ( resultconts );//取出总页数
			//获取指针的结果集参数是(结果集,页数)
			ResultSet rs = m_pages.getPageSet ( sql
					.executeQuery ( "select * from username" ), curPages );
		%>
		<p>
			分类表
		</p>
		<table border="1">
			<tr>
				<td>
					姓名
				</td>
			</tr>
			<%
				int i = 1;
			%>
			<%
				while ( rs.next ( ) )
				{
			%>
			<tr>
				<!-- <td> <%-- <%=rs.getString("id")%> --%> </td> -->
				<td><%=rs.getString ( "name" )%>
				</td>
			</tr>
			<%
				i = i + 1;
					if ( i > 10 )
						break;
				}
			%>
		</table>
		<p align="center">
			<%
				if ( curPages > 1 )
				{
			%><a href="test.jsp?page=<%=curPages - 1%>">上一页</a>
			<%
				}
			%>
			<%
				if ( curPages < totalPages )
				{
			%><a href="test.jsp?page=<%=curPages + 1%>">下一页</a>
			<%
				}
			%>
		</p>

	</body>
</html>

 

 

分享到:
评论

相关推荐

    利用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+javabean+servlet实现登录注册以及留言板

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

    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_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+ajax MVC模式,增删改查,数据分页显示

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

    jsp+servlet+javabean 分页

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

    JSP+JavaBean的分页组件

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

    JSP+servlet+javabean实现购物车

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

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

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

Global site tag (gtag.js) - Google Analytics