代码里删除了部分信息,不会影响思路,
看代码的朋友把相应的补全就行了,
如果有不足的地方,望各位提出意见
Servlet代码
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ShowServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
List list = List集合
// 下面为固定写法
String page = request.getParameter("page");
String beginpages = request.getParameter("begin");
//转向路径
String url="转向你的jsp页面路径";
int pagesize = 8;// 每页条数
PageUtil.pageSet(request, response, pagesize, page, beginpages, listAffiche, url);
} catch (SQLException e) {
e.printStackTrace();
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request,response);
}
}
jsp页面代码:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>test</title>
<style type="text/css">
.table_border td{border-top:1px #DDD solid;border-right:1px #DDD solid;}
.table_border{border-bottom:1px #DDD solid;border-left:1px #DDD solid;}
</style>
</head>
<body>
<div align="center">
<table class="table_border">
<!--标签里都是固定的写法,与util工具类对应-->
<c:forEach items="${list}" var="temp" begin="${begin}" end="${end-1}">
<tr>
<td >${temp.property1 }</td>
<td>${temp.property2 }</td>
<td>${temp.property3 }</td>
</tr>
</c:forEach>
<tr>
<td colspan="2" align="right">
共${pageNum}页 每页${pagesize }条 共 ${sumCount} 条记录
</td>
<td colspan="3" align="right">
<a href="showSerlvet.do?page=first&begin=${begin}">首页</a>
<a href="showSerlvet.do?page=last&begin=${begin}">上一页</a>
<a href="showSerlvet.do?page=next&begin=${begin}">下一页</a>
<a href="showSerlvet.do?page=end&begin=${begin}">尾页</a>
</td>
</tr>
</table>
</div>
</body>
</html>
PageUtil--工具类代码
import java.io.IOException;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* @类名称:PageUtil
* @类描述:分页工具类
* @创建人:Ray
* @修改人:Ray
* @version 1.0
*
*/
public class PageUtil {
private static int[] fpage(String page, int beginpage, int pagesize,
List list) {
if (page != null) {
if (page.equals("first")) {
beginpage = 0;
} else if (page.equals("last")) {
if (beginpage == 0) {
} else {
beginpage = beginpage - pagesize;
}
} else if (page.equals("next")) {
if (beginpage < list.size() - pagesize) {
beginpage = beginpage + pagesize;
}
} else if (page.equals("end")) {
if ((list.size() % pagesize) == 0) {
beginpage = list.size() - pagesize;
} else {
pagesize = list.size() % pagesize;
beginpage = list.size() - pagesize;
}
}
}
int[] set = { beginpage, pagesize };
return set;
}
/**
* 描述:统计 页数和记录条数
* @param int pagesize List listObj
* @return int[0] 页数 int[1] 记录条数
*/
private static int[] getTongji(int pagesize, List listObj) {
int sumCount = listObj.size();
int pageNum = (int) sumCount / pagesize;
if (sumCount % pagesize > 0) {// 如果有余数
pageNum = pageNum + 1;
}
int[] set = { pageNum, sumCount };
return set;
}
/***
* 描述:分页的设置及处理
* @author Ray
* @param int pagesize--每页条数
* String page --固定写法
* String beginpages--固定写法
* List list--要分页的List集合
* String --转向路径
*
* */
public static void pageSet(HttpServletRequest request,
HttpServletResponse response, int pagesize, String page,
String beginpages, List list, String url) throws ServletException,
IOException {
int[] tongji = getTongji(pagesize, list);
int pageNum = tongji[0];
int sumCount = tongji[1];
request.setAttribute("pageNum", pageNum);
request.setAttribute("sumCount", sumCount);
request.setAttribute("list", list);
int beginpage = 0;
if (beginpages != null) {
beginpage = Integer.parseInt(beginpages);
}
request.setAttribute("pagesize", pagesize);
int[] aa = fpage(page, beginpage, pagesize, list);
request.setAttribute("begin", aa[0]);
if (aa[0] * aa[1] == 0) {
request.setAttribute("end", aa[1]);
} else {
request.setAttribute("end", aa[0] + pagesize);
}
request.getRequestDispatcher(url).forward(request, response);
}
}
分享到:
相关推荐
本篇文章将详细讲解如何利用Servlet和JSP来实现图片的上传功能,这是一个常见的用户交互需求,例如在社交媒体、电子商务网站等应用场景。 Servlet是Java EE规范中定义的一种服务器端组件,它能接收并处理HTTP请求,...
自己初学java,利用之前的项目经验而写出来的一套基础的用户权限管理系统。用到了javaWeb 最底层的servlet 及 jdbc .对初学java的童鞋具有很大的参考意义。页面是用了bootstrap。可以完整的运行。
可借鉴此优质项目实现复刻,也可基于此项目来扩展开发出更多功能 #注 1. 本资源仅用于开源学习和技术交流。不可商用等,一切后果由使用者承担 2. 部分字体及插图等来自网络,若是侵权请联系删除,本人不对所涉及的...
综合以上,"Serlvet+Jdbc+Extjs 用户管理微型系统,完整包及数据库"是一个使用Java后端技术和JavaScript前端框架构建的小型Web应用,它实现了用户管理的基本功能,并包含了与之配套的数据库资源。该系统利用Servlet...
框架:html + css + javascript(js) +jquery +jsp + serlvet + java + ssm + mysql 前端:html + css + javascript(js) +jquery +jsp 后端:serlvet + java + ssm + mysql 开发工具:ideaIC-2022.3.2.exe + jdk1.8 +...
总的来说,"jsp+serlvet+mysql学生宿舍管理系统"是一个很好的JavaWeb实践项目,它涵盖了Web开发的基本元素,有助于学习者理解和掌握Web应用的开发流程,同时也能满足实际管理需求,提高工作效率。对于初学者来说,这...
框架:html + css + javascript(js) +jquery +jsp + serlvet + java + ssm + mysql 前端:html + css + javascript(js) +jquery +jsp 后端:serlvet + java + ssm + mysql 开发工具:ideaIC-2022.3.2.exe + jdk1.8 +...
在构建Web应用程序时,"Jquery+Serlvet+jdbc,管理系统筐架"是一个常见的技术栈,用于创建高效、可扩展的管理平台。这个压缩包提供的框架为开发者提供了一个基础,以便他们能够根据需求进行二次开发,快速实现自己的...
为新学习 JSP 的开发爱好者小白写下这篇文章,教你若何创建一个自己的学生信息管理系统,可能有很多小白也在迷茫中,建议你不要灰心啊,在下面我讲给你叙述如何进行完成一套自己的系统,并且提供两套版本,一套为 ...
Servlet+jdbc 网上商城购物车程序是一个基于Java ...总的来说,"Serlvet+jdbc 网上商城购物车程序"是一个涵盖了Web开发、数据库操作、用户交互等多个方面的项目,对开发者来说,这是一个很好的实践Java Web技术的实例。
系统采用技术:Servlet+jsp+mysql+jQuery+bootstrap+面向接口编程 系统管理员: 个人信息管理,课程管理,成绩管理,学生信息管理,教师管理,所有账号管理等。 教师: 个人信息管理,课程管理,成绩管理,...
将这个项目导入Eclipse或IDEA等开发环境中,开发者可以进一步了解和学习如何整合JSP、Servlet和MySQL,实现一个完整的Web应用。此外,通过调试和阅读代码,可以加深对MVC设计模式的理解,掌握如何处理HTTP请求、如何...
为新学习 JSP 的开发爱好者小白写下这篇文章,教你若何创建一个自己的学生信息管理系统,可能有很多小白也在迷茫中,建议你不要灰心啊,在下面我讲给你叙述如何进行完成一套自己的系统,并且提供两套版本,一套为 ...
JSP+Servlet+JavaBean的MVC管理员登录后可列表显示所有图书信息,包括书籍ISBN编号、书名、作者、价格、出版时间、折扣、库存量等信息;能添加、修改和能批量删除图书信息,能对上述主要字段进行查询,其中价格和...
项目比较小,不过还是设计一些基础的知识,比较适合刚入门的学生们作为参考!
总结来说,"Serlvet+Hibernate 进销存系统"是一个集成了Servlet和Hibernate两大核心技术的实战项目,对初学者来说极具价值。通过实际操作,不仅可以深入理解这两项技术,还能提升对企业级应用开发的整体认识,为日后...
在本文中,我们将深入探讨如何使用JavaServer Pages(JSP)技术来构建一个简单的聊天系统。JSP是一种基于Java的动态网页技术,它允许开发者在HTML页面中嵌入Java代码,以便实现服务器端的逻辑处理。 首先,让我们...