`

JSP+JDBC_真分页(基于MySql数据库分页)

阅读更多
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
	<head>
		<title>分页显示</title>
	</head>
	<body>
		<center>
			<h1>人员列表</h1>
			<hr><br>
			<%
				// 进行乱码处理
				request.setCharacterEncoding("GB2312");
			%>
			<%!
				final String jspUrl = "list_person.jsp";
			%>
			<%
				// 定义如下分页变量
				// 1、定义每页要显示的记录数
				int lineSize = 10;
				// 2、定义当前页
				int currentPage = 1;
				// 计算出总页数
				int pageSize = 0;
				// 总记录数
				int allRecorders = 0;
				// 加入查询关键字变量
				String keyWord = "";
			%>
			<%
				// 接收查询关键字
				keyWord = request.getParameter("kw");
				// 接收传过来的当前页
				try {
					currentPage = Integer.parseInt(request.getParameter("cp"));
				} catch(Exception e) {
				}
			%>
			<%
				final String DBDRIVER = "org.gjt.mm.mysql.Driver";
				final String DBURL = "jdbc:mysql://localhost/test";
				final String DBUSER = "root";
				final String DBPASSWORD = "depravedAngel";
				Connection conn = null;
			%>
			<%
				try {
					Class.forName(DBDRIVER);
					conn = DriverManager.getConnection(DBURL, DBUSER, DBPASSWORD);
					String sql = null;
					PreparedStatement pstmt = null;
					ResultSet rs = null;
					if(keyWord == null || "".equals(keyWord)) {
						sql = "SELECT COUNT(*) FROM person";
					} else {
						sql = "SELECT COUNT(*) FROM person WHERE uid LIKE ? OR name LIKE ?";
						
					}
					pstmt = conn.prepareStatement(sql);
					if(!(keyWord == null || "".equals(keyWord))) {
						pstmt.setString(1,"%" + keyWord + "%");
						pstmt.setString(2,"%" + keyWord + "%");
					}
					rs = pstmt.executeQuery();
					if(rs.next()){
						allRecorders = rs.getInt(1);
					}
					rs.close();
					pstmt.close();
					
					// 计算总页数
      				pageSize = (allRecorders+lineSize-1)/lineSize;
      				if(keyWord == null || "".equals(keyWord)) {
      					sql = "SELECT id,uid,name,password FROM person limit "
      					      + (currentPage-1)*lineSize + "," + lineSize;
      				} else {
						sql = "SELECT id,uid,name,password FROM person WHERE uid LIKE ? OR name LIKE ? limit "
      					      + (currentPage-1)*lineSize + "," + lineSize;
					}
					 
					pstmt = conn.prepareStatement(sql);
					if(!(keyWord == null || "".equals(keyWord))) {
						pstmt.setString(1,"%" + keyWord + "%");
						pstmt.setString(2,"%" + keyWord + "%");
					}
					rs = pstmt.executeQuery();
			%>
			<script language="javaScript">
				function openPage(curpage)
				{
					document.spage.cp.value = curpage;
					document.spage.submit();	
				}
				function selOpenPage()
				{
					document.spage.cp.value = document.spage.selpage.value;
					document.spage.submit();
				}
			</script>
			<form name="spage" action="<%=jspUrl %>">
				输入查询关键字:<input type="text" name="kw" value="<%=keyWord %>">
				<input type="submit" value="查询">
				<br><br>
				<%
					if(allRecorders > 0) {
			    %>
					<input type="button" value="首页" onClick="openPage(1)"
					<%=currentPage==1?"disabled":"" %>>
					<input type="button" value="上一页" onClick="openPage(<%=currentPage-1 %>)"
					<%=currentPage==1?"disabled":"" %>>
					<input type="button" value="下一页" onClick="openPage(<%=currentPage+1 %>)"
					<%=currentPage==pageSize?"disabled":"" %>>
					<input type="button" value="尾页" onClick="openPage(<%=pageSize %>)"
					<%=currentPage==pageSize?"disabled":"" %>>
					<input type="hidden" name="cp" value="">
					<font color="red" size="5"><%=currentPage %></font>
					/
					<font color="red" size="5"><%=pageSize %></font>
					跳转到
						<select name="selpage" onChange="selOpenPage()">
						<%
							for(int x=1;x<=pageSize;x++){
							%>
							<option value="<%=x %>" <%=currentPage==x?"selected":"" %>><%=x %></option>
							<%
							}
						%>
						</select>
					页
				<%
					 }
				%>
			</form>
			
			<table border="1" width="80%">
				<tr>
					<td>编号</td>
					<td>登陆名称</td>
					<td>姓名</td>
					<td>密码</td>
					<td colspan="2">操作</td>
				</tr>
				<%
					int i = 0;
					 
					// 对于输出代码之前要求按显示的页数空出
					while(rs.next()) {
						i++;
						int id = rs.getInt(1);
						String uid = rs.getString(2);
						String name = rs.getString(3);
						String password = rs.getString(4);
				%>
				<tr>
					<td><%=id%></td>
					<td><%=uid%></td>
					<td><%=name%></td>
					<td><%=password%></td>
					<td>更新</td>
					<td>删除</td>
				</tr>
				<%
					}
						rs.close();
						pstmt.close();
						if (i == 0) {
				%>
				<tr>
					<td colspan="6">没有数据!!!</td>
				</tr>
				<%
					}
				%>
			</table>
			<%
				} catch (Exception e) {
				} finally {
					conn.close();
				}
			%>
		</center>
	</body>
</html>
分享到:
评论
1 楼 lucky16 2009-05-19  
谢谢了 啊
真需要的东西呢!

相关推荐

    JSP+JDBC_假分页

    在这个"JSP+JDBC_假分页"的主题中,我们将深入探讨如何在不使用数据库支持的分页功能下,通过JSP和JDBC实现一个简单的“假分页”机制。假分页通常指的是在服务器端一次性加载所有数据,然后在客户端(浏览器)进行...

    JSP+JDBC_真分页(基于Oracle数据库分页)笔记

    **JSP+JDBC真分页技术详解** 在Web开发中,为了提高用户体验,通常需要对大量的数据进行分页展示,而不是一次性加载所有数据。这涉及到两种主要的分页方式:假分页和真分页。这两种方法各有优缺点,适用于不同的...

    JSP+JDBC_真分页(基于MySQL数据库分页)

    **JSP + JDBC 真分页实现详解** ...综上所述,通过JSP和JDBC结合,我们可以实现在MySQL数据库上的真分页功能,提供高效的、用户友好的数据展示。在实际开发中,还可以结合缓存、负载均衡等技术,进一步提升系统性能。

    1-JSP+JDBC_假分页

    在Java Web开发中,JSP(JavaServer Pages)和JDBC(Java Database Connectivity)是两个重要的组件,常用于构建动态网页并与数据库交互。本项目"1-JSP+JDBC_假分页"就是利用这两者来实现一种常见的功能——假分页。...

    jsp+jdbc 真分页(mysql)

    在这个主题中,“jsp+jdbc 真分页(mysql)”指的是使用JSP和JDBC来实现MySQL数据库中的真实分页功能。在网页应用中,分页有助于提高用户体验,因为它允许用户逐步浏览大量的数据,而不是一次性加载所有内容。下面将...

    1-JSP+JDBC_假分页.rar

    内容: 本案例重点阐述了J2EE中分页代码的基本实现原理,通过假分页展示分页代码的开发,本章作为分页代码的一个开始单元,为后续代码的...产品:JDK 1.5、Tomcat 5.0、MySQL数据库 技术:JAVA、JSP内置对象、SQL语句

    JavaWeb+JSP+Servlet+JDBC分页查询和查询后分页

    项目主体结构是dao+db+filter+pojo+servlet, 使用技术Servlet转发,代码中有注释帮助学者理解,数据库为MySQL资源内含数据库的sql。实现的数据库内容分页,查询分页,对初学者难点是根据get请求的中的url地址进行...

    2-JSP_JDBC_真分页

    本资源“2-JSP_JDBC_真分页”聚焦于如何在JSP中实现真正的数据库分页功能,特别是基于MySQL数据库。分页在大型数据展示中至关重要,因为它提高了网页加载速度,改善了用户体验。 首先,我们需要理解JSP的基本概念。...

    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+Servlet_Oracle和Mysql分页

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

    Java 基于jsp+js+servlet+jdbc+mysql原生界面开发后台管理系统源码(分页,登录、注册、图片上传)等功能

    基于jsp+js+servlet+jdbc+mysql开发产品后台管理系统,实现用户增删改查、分页,登录,注册,图片上传等功能。 包括以下5个功能: 1、登录 用户默认主页index.jsp,可选择【登录】功能,若登录成功,则进入产品管理中...

    MLDN框架笔记大全

    MLDN框架笔记大全 JSP+JDBC_假分页 02 JSP+JDBC_真分页(基于MySQL数据库分页) 03 JSP+DAO和MVC+DAO(基于MySQL数据库分页) 04 Struts入门 05 使用Struts + DAO完成用户登陆 06 Struts标签-...

    Servlet+JSP+JDBC实现增删查(真分页)改j2ee小项目

    在本项目中,"Servlet+JSP+JDBC实现增删查(真分页)改j2ee小项目"是一个基于Java技术栈的Web应用程序,主要用于演示如何在J2EE环境中进行数据操作,包括添加、删除、查询和更新功能,并且实现了真正的分页功能。...

    Struts2+jdbc+mysq分页Demo

    在本"Struts2+jdbc+mysql分页Demo"中,我们将探讨如何使用Struts2框架配合JDBC和MySQL数据库实现动态网页的分页功能。 首先,我们需要理解分页的基本概念。分页是将大量数据分割成小块,以便用户可以逐步浏览和处理...

    jsp.rar_jsp 分页_jsp分页_jsp实现分页_分页

    "jsp.rar_jsp 分页_jsp分页_jsp实现分页_分页"这个压缩包显然包含了一套完整的 JSP 分页解决方案。下面我们将详细探讨 JSP 实现分页的相关知识点。 1. **JSP基本概念**: JSP 是一种基于 Java 的服务器端脚本语言...

    servlet+jsp+jdbc+mysql简单登录注册

    【标题】"servlet+jsp+jdbc+mysql简单登录注册" 涉及的技术栈是Web开发中的核心组件,主要用于构建动态网站应用。这个项目利用了以下四个关键技术和概念: 1. **Servlet**:Servlet是Java EE平台上的一个标准接口,...

    J2EE三大框架_笔记_a

    2-JSP+JDBC_真分页(基于Oracle数据库分页)笔记 3-JSP+DAO和MVC+DAO(基于MySQL数据库分页)-v笔记 4-Struts入门笔记 005_Struts+DAO登陆 6-Struts标签-BEAN标签笔记 7-Struts标签 -LOGIC标签笔记 8-Struts标签- HTML...

    J2EE框架_笔记_b

    2-JSP+JDBC_真分页(基于Oracle数据库分页)笔记 3-JSP+DAO和MVC+DAO(基于MySQL数据库分页)-v笔记 4-Struts入门笔记 005_Struts+DAO登陆 6-Struts标签-BEAN标签笔记 7-Struts标签 -LOGIC标签笔记 8-Struts标签- HTML...

    J2EE框架_笔记_c

    2-JSP+JDBC_真分页(基于Oracle数据库分页)笔记 3-JSP+DAO和MVC+DAO(基于MySQL数据库分页)-v笔记 4-Struts入门笔记 005_Struts+DAO登陆 6-Struts标签-BEAN标签笔记 7-Struts标签 -LOGIC标签笔记 8-Struts标签- HTML...

Global site tag (gtag.js) - Google Analytics