# 使用JDBC实现简单购物车、简单分页查询
# 一、任务介绍
## 1.1 任务描述
网上购物是人们日常生活的重要事情之一。在超市中有很多日常生活的用品,如电饭煲、蒸锅、洗衣机、电冰箱等。
本任务要求,通过所学Servlet、JavaBean和JDBC知识读取数据库数据,以JSP页面的形式呈现数据,用于数据浏览。
**备注**:
- 本任务需要编写2个JSP页面、2个Servlet文件(处读取商品列表信息和指定商品信息)、1-2个JavaBean文件、1个dao文件、1个service文件(实现功能)和1个数据库连接文件
- 本任务所需要的类文件,需要按如右图所示结构创建
- 当首次登录购买页面(访问相应的Servlet文件)时可以跳转到商品列表页面,当首次登录购物车页面(访问相应的Servlet文件)时可以有相应提示信息输出
- 单击某商品图片,进入商品详细页面,并且能有分页功能
- 要求商品列表页面,能够根据价格区间输入的价格范围筛选出相应的商品
## 1.2 运行结果
**商品列表页面**
![](http://www.writebug.com/myres/static/uploads/2021/10/19/ba02c126c6b3211afb7844b609e2c277.writebug)
**价格筛选后的商品列表页面**
![](http://www.writebug.com/myres/static/uploads/2021/10/19/d97d3eb6bebcb8d8dce42c6761f63506.writebug)
**商品详细页面**
![](http://www.writebug.com/myres/static/uploads/2021/10/19/b748a8a632bcaae40cd7b677eeb5361c.writebug)
## 1.3 任务目标
- 学会分析“实现购物车”程序的实现思路
- 根据思路独立完成“实现购物车”的源代码编写、编译和运行
- 掌握Servlet和JSP运行原理
- 掌握JavaBean、EL表达式和JSP标签库(JSTL)的使用
- 掌握分页技术的原理以及实现
- 熟练应用Servlet技术、JavaBean和JDBC技术完成数据访问。
# 二、实现思路
- **单击某商品图片,进入商品详细页面思路**
在<img>外层嵌套<a>标签,<a>标签设置herf属性,该属性存放商品详细信息页面的路径。
- **能有分页功能思路**
在servlet中通过SQL语句的limit关键字实现分页查询,查询结果存放在list中,以及存放currentPage当前页面属性、totalPage总页面属性;将该数据利用request.setAttribute(string,value );传至前端页面。
在JSP页面中通过${}表达式遍历输出list集合中的数据,设置4个button分别对应首页、前一页、下一页、尾页;编写<script>脚本实现点击事件的函数、分别为firstPage、previousPage、nextPage、lastPage;当条件满足时实现跳转显示下一页。【不跳转的条件,在首页按首页、前一页;在尾页按下一页、尾页】
- **根据价格区间输入的价格范围筛选出相应的商品思路**
在servlet中利用request.getParameter("string");获取前端的价格区间的输入信息,在servlet实现查询信息存储在list中request.setAttribute(string,value );传至前端页面。
# 三、实现代码以及运行效果
**Pagination(servelt)**
![](http://www.writebug.com/myres/static/uploads/2021/10/19/286692180d1b28d042bf42390e5248d6.writebug)
**sy2Allbook(servlet)**
![](http://www.writebug.com/myres/static/uploads/2021/10/19/21b27f0aa2fa0abf743b49b0e7324278.writebug)
**sy2SearchServelet**
![](http://www.writebug.com/myres/static/uploads/2021/10/19/2dd4781c4fefb9a9046c97ea858cbe06.writebug)
# 四、总结或感悟
## 4.1 错误总结
- 对分页查询不熟练导致在程序显示错误
- 在<script>脚本中无法跳转servlet();
![](http://www.writebug.com/myres/static/uploads/2021/10/19/bc38c67ad1fa49587f3b4ad696a5f8d7.writebug)
- 在SQLyog无法保存修改的数据
## 4.2 错误解决
- 利用最简单的limit关键词实现分页查询
- 在csdn中学习他人方法,即在路径在加 ”./”。
![](http://www.writebug.com/myres/static/uploads/2021/10/19/2258c147a65dabdd2b8c392b5b21d0b3.writebug)
## 4.3 未解决错误
- 在SQLyog无法保存修改的数据
## 4.4 总结感悟
本次实验学习到简单的分页显示功能,对<script>脚本语言的简单复习,经过这次的实验,在实验中学习到了我对前端的请求相应有了更深的理解。本实验存在不足之处在价格区间查询时未进行分页显示而是将所有信息显示在页面中,由于SQLyog的无法保存修改数据,部分的商品详细信息链接并未实现。