注册功能
1,建立模型
2,写dao
数据库连接池c3p0
- 写个xml配置
- 写c3p0工具类
登录功能
- dao
findUserByUserNameAndPassword - service
login()
3.servlet
LoginServlet
用户信息的修改
- 把修改页面的数据显示正确
- 查找用户(findUserById)
- 把用户放在request中
- 跳转回modifyuserinfo.jsp
- 修改用户的信息到数据库
- dao
- service
- servlet
- jsp: 修改表单的action
商品的分页显示
- servlet: ShowProductByPage?category=?&page=?()
如果不写默认为page是第一页 - 数据的封装
public class PageResult<T>{
private List<T> list; //数据的集合
private long totalCount; //总条数
private int pageSize; //一页展示的数量
private int totalPage; //总页数
private int currentPage; //当前页
}
- 写dao
count(); //计算总记录数
List<Product> findBooks(String category, int page);//一页里面的所有的查询数据
- service
封装PageResult
商品的图片显示
- 给数据添加图片路径
- 更新jsp图片显示的链接
产品详情界面
- 写servlet
ProductInfoServlet - 通过id查询数据库
dao/service - 跳转到product_info.jsp进行数据展示
购物车功能
- 数据的显示
- 数据的加减功能的实现
- 监听按钮的点击事件
- 判断加减的数量是否能够执行
- 如果可以进行加减,我们对session里面的数据进行修改
ChangeNumServlet?id=2&num=3
//id 商品的id
//num 更改后的购物数据
//pnum 库存
function changeNum(id, num, pnum) {
//alert("id: " + id + "num: " + num + "pnum: " + pnum)
//1,购买的数量不能大于库存
if (num > pnum) {
alert("库存不足")
return;
}
//2,如果购买的数量为0,从购物车移除
if (num == 0) {
var b = confirm("是否将该商品从购物车移除")
if (b == false) {
return
}
//3,如果可以进行加减,对session的数据进行更新}
//3,如果可以进行加减,对session的数据进行更新
location.href = "${pageContext.request.contextPath}/changeNum?id="
+ id + "&num=" + num;
}
下订单
-
把数据插入到order表
-
把数据插入orderitem表
-
订单生成,修改商品的库存
表单数据封装成模型
order
orderItem -
表单提交servlet
CreateOrderServlet