javaweb分页的后端实现

先上demo图

servlet实现部分:

package servlet;

import java.io.IOException;
import java.util.List;

import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import model.User;
import service.UserService;

@SuppressWarnings("serial")
@WebServlet(urlPatterns ="/user")
public class UserServlet extends HttpServlet {
	@Override
	public void doPost(HttpServletRequest req, HttpServletResponse resp) {
		this.doGet(req, resp);
	}
	/*
	/* json    {"users":[{"id":1,"name":"mercy","age":22,"sex":3},{"id":2,"name":"lily","age":23,"sex":2},{"id":3,"name":"mily","age":23,"sex":3},{"id":4,"name":"lucy","age":25,"sex":3},{"id":5,"name":"john","age":24,"sex":2}],"total":6}
	*/
	@Override
	public void doGet(HttpServletRequest req, HttpServletResponse resp) {
		UserService service=new UserService();
		String name=req.getParameter("name");
		int page=Integer.parseInt(req.getParameter("page"));
		int size=Integer.parseInt(req.getParameter("size"));
		byte sex=Byte.parseByte(req.getParameter("sex"));
		page=page-1;
		List<User> list=service.queryDataLimit(page, size, sex, name);
		long count=service.queryAll(sex, name);
		//build json
		StringBuilder builder=new StringBuilder("{\"users\":[");
		String results="";
		if(!list.isEmpty()) {
			for(User u:list) {
				  String  result = "{\"id\":"+u.getId()+",\"name\":"+"\""+u.getName()+"\""+",\"age\":"+u.getAge()+",\"sex\":"+u.getSex()+"},";
				  builder.append(result);
			}
			//get count
			results=builder.toString();
			results=results.substring(0, results.length()-1)+"]";
			results=results+",\"total\":"+count+"}";
		}else {
			results="{\"users\":[],"+"\"total\":"+count+"}";
		}
		System.out.println(results);
		try {
			//set cross domain
			resp.setHeader("Access-Control-Allow-Origin", "*");
			resp.getWriter().write(results);
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}

前端的话找个分页插件就ok了,效果图为

代码地址:

链接:https://pan.baidu.com/s/18ypR3uEwvGImCmDngn0ugA
提取码:ilul

原文地址:https://www.cnblogs.com/JAYIT/p/10482373.html

时间: 2024-10-19 13:39:36

javaweb分页的后端实现的相关文章

住javaWeb分页实现(模拟百度首页)

本文来源于 http://blog.csdn.net/tjpu_lin/article/details/41050475 近期在开发一个项目,项目中有非常多数据展示的模块.所以要用到分页,网上搜了非常多分页的样例,可是非常多实现的方法和自身的代码实例耦合度太高.导致直接拿来用根本不行. 于是自己仅仅能亲自上阵了,关于分页实现大体逻辑是前台须要和后台相互传递页面參数(比如当前页面,页面大小.总共页数等),后台主要接受前台穿过来的pageNum(当前页码),进行数据查询,然后查完数据后返回给前台的同

JavaWeb分页显示内容——数据库分页查询

转载请注明原文地址: 在开发过程中,经常做的一件事,也是最基本的事,就是从数据库中查询数据,然后在客户端显示出来.当数据少时,可以在一个页面内显示完成.然而,如果查询记录是几百条.上千条呢?直接一个页面显示完全的话,表格得多长啊......这时,我们可以用分页技术. 何为分页?效果图如下: 这里总共查询了100条记录,如果一次性显示的话表格会很多行,用户体验不佳.而我们采用分页显示的话,一页显示10条记录,共十页.用户可以自行翻阅,记录少,清晰显示. 下面谈谈分页效果的实现,思路有两种: 其一:

详谈javaWeb分页的实现(模拟百度分页)

本文出自 http://blog.csdn.net/tjpu_lin/article/details/41050475 最近在开发一个项目,项目中有很多数据展示的模块,所以要用到分页,网上搜了很多分页的例子,但是很多实现的方法和自身的代码实例耦合度太高,导致直接拿来用根本不行. 于是自己只能亲自上阵了,关于分页实现大体逻辑是前台需要和后台相互传递页面参数(例如当前页面,页面大小,总共页数等),后台主要接受前台穿过来的pageNum(当前页码),进行数据查询,然后查完数据后返回给前台的同时也要将页

MySQL---数据库从入门走向大神系列(十六)-JavaWeb分页技术实例演示1

分页,是一种将所有数据分段展示给用户的技术.用户每次看到的不 是全部数据,而是其中的一部分,如果在其中没有找到自己想要的内容,用户可以通过指定页码或是点上/下一页的方式进行翻页. 本例演示静态分页,也就是先设置好每页显示10行,再根据总行数,来算出总页数,将所有页数的页号都显示出来. 相关算法(技术): 总行数(num): select count(1) from stud; 每页显示的行数(n): 固定值---已知的一个常量 页数: pageSize= num/n +( (num%n==0)?

MySQL---数据库从入门走向大神系列(十七)-JavaWeb分页技术实例演示2

分页,是一种将所有数据分段展示给用户的技术.用户每次看到的不 是全部数据,而是其中的一部分,如果在其中没有找到自己想要的内容,用户可以通过指定页码或是点上/下一页的方式进行翻页. 本例演示静态分页,也就是先设置好每页显示10行,再根据总行数,来算出总页数,并且只显示10个页码.增加查询功能,并且查询后的页面也进行分页.页码也进行分页 ! 查询功能的实现,需要我们在servlet向后台传输一个person,封装我们的查询条件 相关算法(技术): 总行数(num): select count(1)

关于Javaweb分页处理以及导航栏实现小记

对于搜索功能结果展示的分页处理,首先应该明确的是目前页,每页显示数据的条数,以及总的数据数目. 接下来,通过这些数据来计算出总的显示页数,以及数据库语句limit查询的范围. Object result:是分页显示的数据,这里设置为Object的目的是为了方便通过JSON传输. 1 public class PageBean { 2 private int pageNum; // 当前页,从请求那边传过来 3 private int pageSize; // 每页显示的数据条数 4 privat

JavaWeb分页

平时我们查询的必要参数是写在Dao层的,但这样是不合理的,Dao层只是用来访问和操作数据库,不应该包含其他信息,所以通用做法创建一个Page对象,将分页信息全部放到里面 Page对象 public class Page { private List<Object> list; //存放查询的数据 private int currentPage; //当前页数 private int pageSize; //每页显示的数据条数 private int totalRecord; //总数据条数 p

JavaWeb分页的实现

分页的分类 分页的实现分为真分页和假分页两种. 1.真分页(物理分页): 实现原理: SELECT * FROM xxx [WHERE...] LIMIT ?, 10;第一个参数是开始数据的索引位置10是要查询多少条数据,即每页显示的条数 优点: 不会造成内存溢出 缺点: 翻页的速度比较慢 2.假分页(逻辑分页): 实现原理: 一次性将所有的数据查询出来放在内存之中,每次需要查询的时候就直接从内存之中去取出相应索引区间的数据 优点: 分页的速度比较快 缺点: 可能造成内存溢出 分页的一些术语:

如何在开发时部署和运行前后端分离的JavaWeb项目

在开发中大型的JavaEE项目时,前后端分离的框架逐渐成为业界的主流,传统的单机部署前后端在同一个项目中的工程项目越来越少.这类JavaWeb项目的后端通常都采用微服务的架构,后端会被分解为诸多个小项目,然后使用dubbo+zookeeper或者springCloud来构建微服务,前端则会是一个单独的项目,前台的请求通过微服务来调用.但是,不同与传统的web项目,这类前后端分离的项目如何在开发中部署和运行呢? 当前后端分离时,后端项目一定会被加载到tomcat的webapp目录下面,但是前端的资