参数: int pageNow//当前页面
int pageCount //总页数
int recordCount //记录总数
int recordSize //一个页面的记录数
int pageFirst //页面第一页页码
int pageLast //页面最后一页
int pageSize //页面跨度
<!--先用户登录UserLogin.jsp-->
<%@page contentType = "text/html;charset=gb2312"%>
<html>
<title>
用户登录
</title>
<script language = "javascript">
function check(){
if(loginForm.username==null){
window.alert("用户名不能为空");
return false;
}
if(loginForm.password==null){
window.alert("密码不能为空");
return false ;
}
}
</script>
<%
int worngNum = 0 ;
String S_worngNum = request.getParameter("worngNum");
if(!S_worngNum.equals("")){
worngNum = Integer.parseInt(S_worngNum);
}
if(worngNum==1){
out.println("<h1 aglin = 'left'><font color = 'red' size = '10'>用户名或密码错误,请重新登录</font></h1>");
}
%>
<h2 align="center">用户登录</h2>
<center>
<body>
<form name = "loginForm" action = "UserCheck.jsp" method = "post">
<table border = "1" >
<tr><td>用户名:</td><td><input type = "text" name = "username"></td></tr>
<tr><td>密 码:</td><td><input type = "password" name = "password"></td></tr>
<tr><td><input type = "submit" value = "登录" onclick = "return check()"></td><td><input type = "reset" value = "重置"></td></tr>
</table>
</form>
</body>
</center>
</html>
//封装数据库javaBean
package com.cn.wang ;
import java.sql.*;
public class UserBean{
Connection conn = null ;
Statement st = null ;
ResultSet rs = null ;
public Statement getStatement(){
//连接数据库,一些参数初始化
String URL = "jdbc:mysql://127.0.0.1:3306/test" ;
String username = "root" ;
String password = "951357" ;
try{
//加载驱动
Class.forName("com.mysql.jdbc.Driver");
//建立连接
conn = DriverManager.getConnection(URL,username,password);
//创建Statement
st = conn.createStatement();
}catch(ClassNotFoundException e1){
System.out.println("Class not found");
}catch(SQLException e2){
e2.printStackTrace();
}
return st ;
}
}
<!--验证用户合法性UserCheck.jsp-->
<%@page contentType = "text/html;charset=gb2312" import ="java.sql.*"%>
<jsp:useBean id = "jdbcbean" class = "com.cn.wang.UserBean"/>
<html>
<title>
用户验证
</title>
<body>
<%
String username = request.getParameter("username");
String password = request.getParameter("password");
Statement st = jdbcbean.getStatement();
ResultSet rs = st.executeQuery("select username from userinfo where password = "+ password);
if(rs.next()){
if(rs.getString(1).equals(username)){
response.sendRedirect("BufferPage.jsp");
session.setAttribute("username",username);
}else{
response.sendRedirect("UserLogin.jsp?worngNum="+1);
}
}else{
response.sendRedirect("UserLogin.jsp?worngNum="+1);
}
%>
</body>
</html>
<!--缓冲页面BufferPage.jsp-->
<%@page contentType="text/html;charset=gb2312"%>
<html>
<title>
页面跳转
</title>
<center>
<body>
<%
out.print("<font size = "10" color = "red">你已成功登录,6秒钟将跳转到首页</font>");
%>
</body>
</center>
</html>
<!--登录成功,分页界面Welcome.jsp-->
<%@page contentType = "text/html;charset=gb2312"%>
<jsp:useBean id = "jdbcbean" class = "com.cn.wang.UserBean"/>
<html>
<title>
分页界面
</title>
<%
response.setHeader("refresh","6;url=Welcome.jsp");
String username = (String)session.getAttribute("username");//获得登录用户名
%>
<h1><font size = "10" color ="pink">欢迎<%=username%></font></h1><hr>
<%
int pageNow = 1 ;//当前页面
int pageCount = 0 ;//总页数
int recordCount = 0 ; //记录总数
int recordSize = 4 ; //一个页面的记录数
int pageFirst = 1 ; //页面第一页页码
int pageLast = 1 ;//页面最后一页
int pageSize = 9 ;//页面跨度
int size = (pageSize+1)/2 ;
Statement st = jdbcbean.getStatement(); //创建Statement
ResultSet rs = st.executeQuery("select count(*) from userinfo");//查询总记录数
if(rs.next()){
recordCount = rs.getInt(1);//得到记录数
}
//计算总的页面数
if(recordCount%recordSize==0){
pageCount = recordCount/recordSize ;
}else{
pageCount = recordCount/recordSize+1 ;
}
String S_pageNow = request.getParameter("pageNow");//取得用户指定的页数
if(S_pageNow!=null){
pageNow = Integer.parseInt(S_pageNow);
}
//计算第一页的页数
if(pageNow<=size){
pageFirst = 1 ;
}else{
pageFirst = pageNow - size ;
}
//计算最后一页的页数
if(pageCount<=(pageNow+size)){
pageLast = pageCount ;
}else{
pageLast = pageNow + size ;
}
%>
<body>
<table border = "1" align = "center" bgcolor = "pink">
<tr><td>用户编号</td><td>用户名</td><td>密码</td><td>权限</td></tr>
<%
//显示分页界面
rs = st.executQuery("select * from userinfo limit"+(pageNow-1)*recordSize+","+recordSize);
while(rs.next()){
out.print("<tr><td>"+rs.getInt(2)+"</td><td>"+rs.getString(3)+"</td><td>"+rs.getInt(4)+"</td><td>"+rs.getInt(5)+"</td></tr>");
}
%>
</table>
<hr>
<%
//判断是否显示上一页
if(pageNow>1){
out.print("<a href = Welcome.jsp?pageNow="+(pageNow-1)+">上一页</a>");
}
for(int i =pageFirst ;i<=pageLast ; i++){
if(i==pageNow){
out.print("<a href = Welcome.jsp?pageNow="+i+">[<font color = 'red'>"+i+"</font>]</a>");
}else
out.print("<a href = Welcome.jsp?pageNow="+i+">["+i+"]</a>");
}
//判断是否显示下一页
if(pageLast<pageCount){
out.print("<a href = Welcome.jsp?pageNow="+(pageNow+1)+">下一页</a>");
}
%>
</body>
</html>
分享到:
相关推荐
### JSP分页技术详解:初学者的完美指南 #### 引言 在现代Web开发中,数据展示的效率和用户体验至关重要。对于大型数据库或数据集的处理,一次性加载所有数据不仅消耗大量资源,还可能导致页面加载缓慢,严重影响...
### 目前最好的JSP分页技术:深入解析与最佳实践 #### 引言 在Web开发中,分页是一项常见的需求,特别是在处理大量数据时,分页能有效提升用户体验和系统性能。JSP(JavaServer Pages)作为早期流行的服务器端脚本...
本文件“JSP分页技术(多种方法)”中,将探讨几种常见的JSP分页实现方法。 1. **基于SQL的分页** 这是最基础的分页方法,通过在SQL查询语句中添加`LIMIT`和`OFFSET`或`ROWNUM`(根据数据库类型)来实现。例如,在...
### 基于JSP分页技术的研究 #### 一、引言 随着互联网技术的发展,特别是电子商务领域的兴起,Web应用程序需要处理的数据量急剧增加。面对海量数据的展示需求,如何高效、合理地呈现给用户成为了关键技术之一。...
**jsp分页技术算法详解** 在Web开发中,分页技术是必不可少的,尤其是在处理大量数据展示时。JSP(JavaServer Pages)作为Java的一种视图技术,提供了强大的功能来实现用户界面的动态生成。本篇文章将深入探讨JSP中...
"通过servlet实现jsp分页技术"的主题旨在讲解如何在Java Web环境下,利用Servlet和JSP进行数据的分页显示。下面将详细介绍这个过程,包括基本概念、步骤和关键点。 首先,我们需要理解分页的基本概念。分页是将大量...
### 目前最好的JSP分页技术解析 #### 一、引言 随着Web应用程序的发展,数据展示成为了网站用户体验中的重要一环。特别是在处理大量数据时,如何有效地进行分页显示,不仅能够提升用户体验,还能优化服务器资源的...
【标题】:jsp分页技术和购物车合集 在IT领域,尤其是Web开发中,`JSP(JavaServer Pages)`是一种广泛使用的动态网页技术,它允许开发者将HTML代码与Java代码结合,以便在服务器端生成动态内容。本合集重点讨论了...
**JSP分页技术**是Web开发中常用的一种技术,用于在网页上展示大量数据时进行数据的分块显示,提高用户体验。它允许用户按需加载数据,避免一次性加载所有数据导致页面响应慢或者内存压力过大。在此,我们将探讨JSP...
【JSP分页技术】是Web开发中常见的一种功能,用于在大量数据列表中提供用户友好的界面,让用户能够逐步浏览而不是一次性加载所有内容。在JSP中实现分页技术通常涉及后端数据库查询和前端页面展示两部分。 在描述中...
jsp分页技术及其对数据库两张表的增删查改和模糊查询 jsp分页技术是指在Web应用程序中实现对数据库数据的分页展示的技术。分页技术的主要目的是为了提高数据的查询效率和用户体验。jsp分页技术可以与数据库的增删...
JSP分页技术是实现大数据量展示时必不可少的一种优化手段,它可以帮助用户更有效地浏览和管理大量的信息,比如数据库查询结果、论坛帖子等。本资源提供了JSP分页的源代码,并附有详细注释,方便开发者理解和使用。 ...
**JSP分页技术** 在Web开发中,尤其是在处理大量数据时,分页技术显得尤为重要。JSP(JavaServer Pages)结合Struts框架提供了一种高效、用户友好的方式来展示数据并进行分页操作。这不仅可以提升用户体验,避免一...
JSP分页技术是Web开发中处理大量数据展示的关键手段,尤其在数据库查询结果需要按页展示时。本文档主要探讨如何在JSP中实现高效、兼容性好的分页功能。 首先,JDBC(Java Database Connectivity)规范在早期版本中...
### JSP分页技术概述 在Web开发领域中,分页技术是提高用户体验、优化数据展示效率的关键技术之一。尤其是在处理大量数据时,通过合理的分页可以显著提升系统的响应速度和资源利用率。JSP(JavaServer Pages)作为...
jsp分页技术ppt 掌握分页打造最好人机交互web网站
### JSP分页技术详解 在Web开发中,分页是一项常见的需求,尤其是在处理大量数据时,为了提高用户体验和服务器性能,将数据分成多个页面显示是必要的。JSP(Java Server Pages)作为一种广泛使用的服务器端脚本语言...
### jsp分页技术的实现 #### 知识点一:JSP分页技术概述 在Web开发中,为了提高用户体验、减少服务器负担并优化页面加载速度,分页技术成为了一项重要的技术手段。JSP(JavaServer Pages)作为Java平台上的动态...
在这个"JavaWeb_jsp分页技术实例"中,我们将深入探讨如何在JavaWeb应用中实现分页功能,特别是使用JSP(JavaServer Pages)进行开发。 分页通常涉及到两个主要部分:前端展示和后端处理。前端负责展示当前页的数据...