首先在com.zhongruan下新建一个pojo文件夹
同时在文件夹下创建PageInfo文件
代码如下:
package com.zhongruan.pojo;
import com.zhongruan.model.User;
import java.util.List;
public class PageInfo {
private int currentPage;
private int size;
private List<User> list;
private int totalPage;
private int totaCount;
public int getCurrentPage() {
return currentPage;
}
public void setCurrentPage(int currentPage) {
this.currentPage = currentPage;
}
public int getSize() {
return size;
}
public void setSize(int size) {
this.size = size;
}
public List<User> getList() {
return list;
}
public void setList(List<User> list) {
this.list = list;
}
public int getTotalPage() {
return totalPage;
}
public void setTotalPage(int totalPage) {
this.totalPage = totalPage;
}
public int getTotaCount() {
return totaCount;
}
public void setTotaCount(int totaCount) {
this.totaCount = totaCount;
}
@Override
public String toString() {
return "PageInfo{" +
"currentPage=" + currentPage +
", size=" + size +
", list=" + list +
", totalPage=" + totalPage +
", totaCount=" + totaCount +
'}';
}
}
在servlet下新建FindByPageServlet,代码如下:
package com.zhongruan.servlet;
import com.zhongruan.pojo.Pageinfo;
import com.zhongruan.service.IUserService;
import com.zhongruan.service.impl.UserServiceImpl;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
public class FindByPageServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
HttpSession session = req.getSession();
String searchname = (String) session.getAttribute("searchname");
String c = req.getParameter("currentPage");
int currentPage = Integer.parseInt(c);
String s = req.getParameter("size");
int size = Integer.parseInt(s);
IUserService userService = new UserServiceImpl();
Pageinfo pageinfo = null;
pageinfo= userService.findByPage(searchname, currentPage, size);
session.setAttribute("pageinfo", pageinfo);
req.getRequestDispatcher("allUser.jsp").forward(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String searchname = req.getParameter("searchname");
int currentPage = 1;
int size = 5;
IUserService userService = new UserServiceImpl();
Pageinfo pageinfo = null;
pageinfo = userService.findByPage(searchname, currentPage, size);
HttpSession session = req.getSession();
session.setAttribute("searchname", searchname);
session.setAttribute("pageinfo", pageinfo);
req.getRequestDispatcher("allUser.jsp").forward(req, resp);
}
}
再新建SearchServlet文件,代码如下:
package com.zhongruan.servlet;
import com.zhongruan.model.User;
import com.zhongruan.pojo.PageInfo;
import com.zhongruan.service.IUserService;
import com.zhongruan.service.Impl.UserServiceImpl;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.util.List;
public class SearchServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
IUserService userService=new UserServiceImpl();
String username=request.getParameter("username");
List<User> users=userService.search(username);
HttpSession session=request.getSession();
PageInfo pageInfo =new PageInfo();
pageInfo.setList(users);
session.setAttribute("pageInfo",pageInfo);
request.getRequestDispatcher("/allUser.jsp").forward(request,response);
}
}
在·UserServiceimpl中新增方法findByPage
@Override
public Pageinfo findByPage(String searchname, int currentPage, int size) {
Pageinfo pageInfo=new Pageinfo();
pageInfo.setCurrentPage(currentPage);
pageInfo.setSize(size);
int start=(currentPage-1)*size;
List<User> users = userDao.findByPage(searchname,start, size);
pageInfo.setList(users);
int count = userDao.selectCount(searchname);
pageInfo.setTotalCount(count);
Double c=Double.valueOf(count);
Double ceil = Math.ceil(c / size);
pageInfo.setTotalPage(ceil.intValue());
return pageInfo;
}