1、页面跳转以及重定向
redirect: 重定向
forward: 请求转发
//将当前请求(如果是POST方法) 转发 到用户信息的请求(也会是POST方法)
req.getRequestDispatcher("/user/list").forward(req.resp);
会带着地址/user/list 找到@WebServlet
找到之后就去找doPost方法resp.sendRedirect("user.list")
2、session
将数据保存到session
req.getSession().setAttribute("userList",userList);
再通过JSP页面获取session中的内容
List<User> userList = session.getAttribute("userList");
但是这样写会报错,需要进行强制转换,因为原型是Object需要转换为List
List<User> userList =(List<User>) session.getAttribute("userList");
2、MVC分页的处理
分页关键字limit
limi可以被用于强制 SELECT 语句返回指定的记录数。LIMIT 接受一个或两个数字参数。参数必须是一个整数常量。如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目。
Mysql 代码 :select * from student limit x y;
参数
student : 为数据表;
x: 为查询结果的索引值(默认从0开始);
y : 为查询结果返回的数量
总结:
pageNum:页码 pageSize:每页显示条数
第一参数x:( pageNum - 1 ) * pagesize
第二参数y:pageSize(每页显示条数)
例子:
一个参数的时候表示取前几条记录。分页查询,每页显示3条记录,查询第一页的数据
select * from student LIMIT 3;#只取前三条记录
分页查询,每页显示3条记录,查询第二页的数据
select *from student limit 3,3;
分页查询,每页显示3条记录,查询第三页的数据
select * from student limit 6,3;
计算总页数:totalPage
总记录数(total) / 每页记录数(pageSize)
13/5 = 2
13%5 == 0 ? 13/5 : (13/5) + 1
Math.ceil(1.0*total/pageSize)