分页
需求: 登录成功后,展现全部时,出现分页.
思路:
前端
1 设置分页按钮,以及分页数据(页码,总页数,总条数)
2 设置分页请求,即点击上一页,下一页时发请求
后端
3 web.xml映射,映射到Servlet能接收请求
1 设置分页按钮,以及数据展现的位置
2 数据此时就需要展现
--> 即登录成功查询全部展现时,就需要查出多少条数据,总共多少页
3 第一次登录成功,查询全部时,已经分页展现了,默认展现的是第一页
![](https://img-blog.csdnimg.cn/20210914223935383.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5LiA5Y-qSmF2YeWwj-eZvTExMTE=,size_20,color_FFFFFF,t_70,g_se,x_16)
登录成功后,做的动作
1 获得当前页码,没有获得的到当前页码,认为是第一页pageNo=1
2 获得了总条数 total(从数据库中查询)
3 计算出了总页数 pageCount
4 计算出了limit所需要的,limit start,end
start = (pageNo-1)*pageSize
end = pageSize
5 根据start,end,查询数据库,查出当前页中的pageSize条(3条)数据
6 将一系列数据(pageNo,total,pageCount,list)放到请求域中,在首页取出展现
点击下一页时,发出请求/user/list?pageNo=${pageNo+1}
即/user/list?pageNo=2
![](https://img-blog.csdnimg.cn/2021091422333079.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5LiA5Y-qSmF2YeWwj-eZvTExMTE=,size_17,color_FFFFFF,t_70,g_se,x_16)
此时,Servlet接收请求,
1 获得当前页码,获得的到当前页码2
2 获得了总条数 total
3 计算出了总页数 pageCount
4 计算出了limit所需要的,limit start,end
start = (pageNo-1)*pageSize
end = pageSize
5 根据start,end,查询数据库,查出当前页中的pageSize条(3条)数据
6 将一系列数据(pageNo,total,pageCount,list)放到请求域中,在首页取出展现
模糊查询(select * from user where username = ? limit ?,?)
需求: 在展现全部时,输入关键字,搜索数据
固定字段模糊查询
需求: 输入框,只能输入名字.即只能根据名字查询
前端
1 在首页设置输入框,输入名字
2 设置搜索按钮,点击将”关键字”发送到后台 à form表单发请求,将数据发送到Servlet
后端
3 修改UserListServlet类
接收模糊查询关键字
设置参数传递到Dao
Dao要根据参数,进行动态SQL处理
可选条件的模糊查询
前端
设置选择下拉框,可以根据下拉选择要搜索的条件
搜索的条件要和关键词一起发送到后台
![](https://img-blog.csdnimg.cn/20210914222656739.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5LiA5Y-qSmF2YeWwj-eZvTExMTE=,size_12,color_FFFFFF,t_70,g_se,x_16)
后台
接收搜索条件字段,并进行判断从新赋值
![](https://img-blog.csdnimg.cn/20210914222709104.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5LiA5Y-qSmF2YeWwj-eZvTExMTE=,size_12,color_FFFFFF,t_70,g_se,x_16)
拼接sql语句进行搜索查询
![](https://img-blog.csdnimg.cn/20210914222721293.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5LiA5Y-qSmF2YeWwj-eZvTExMTE=,size_12,color_FFFFFF,t_70,g_se,x_16)
模糊查询后分页功能及分页数据
模糊查询后的条数
满足条件拼接字符串,进行筛选查询
![](https://img-blog.csdnimg.cn/20210914222735766.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5LiA5Y-qSmF2YeWwj-eZvTExMTE=,size_12,color_FFFFFF,t_70,g_se,x_16)
模糊查询后的页数
模糊查询后的下一页等