第1章 带有分页查看分类下的商品信息
1.1 分析SQL语句实现
#查看类别cid为1的商品的信息带有分页
SELECT * FROM product WHERE cid = 1 LIMIT ? ,?
#统计类别为1的商品的数量
SELECT COUNT(*) FROM product WHERE cid = 1
1.2 原理
1.3 步骤实现
1_准备工作 /jsp/header.jsp
“+obj.cname+”";
2_ProductServlet_____>findProductsByCidWithPage
获取cid,num
调用业务层功能:以分页形式查询当前类别下商品信息
返回PageModel对象(1_当前页商品信息2_分页3_url)
将PageModel对象放入request
转发到/jsp/product_list.jsp
3_ProductService
创建PageModel对象 目的:计算分页参数
关联集合
关联url
4_ProductDao
1_统计当前类别下商品个数
2_统计当前类别的当前页中的商品信息
5_/jsp/product_list.jsp
获取了当前类别下的当前页中的分类数据和分页参数
约定: 1_当前页: num
2_ 向request放入PageModel属性名称page
第2章 购物模块_模型抽取
2.1 抽取购物车模型
购物项:(图片路径,商品名称,商品价格,这类商品购买的数量,这类商品总价小计)
class CartItem{
private Product product; //携带图片路径,商品名称,商品价格
private int num; //当前类别商品的数量
private double subTotal;//小计,当前这类商品总共价格 经过计算获取到
}
购物车(个数不确定的购物项)
class Cart{
//List list=new ArrayList(); 个数不确定的购物项
//Map map=new HashMap(); 个数不确定的购物项
double total; //总计/积分 :可以经过计算获取到
方法:清空购物车
方法:移除购物车上的购物项
方法:添加商品到购物车
}
总结:
购物项(商品对象,数量,小计) 小计经过计算获取
购物车(2个属性3个方法)
2个属性: Map<String,CartItem> 个数不确定的购物项
Total:总计
3个方法
清空购物车 移除购物项 添加购物项到购物车
总计是经过计算获取到的
第3章 购物模块_添加商品到购物车
3.1 购物车内存分析
3.2 添加购物项到购物车原理分析
3.3 步骤实现
1_准备工作
*/jsp/product_list.jsp 修改连接
*/jsp/product_info.jsp
自己设置form表单,设置form method,action
设置隐藏域向服务端传递商品pid
PS:如果一个表单中有多个按钮,点击不同的按钮提交到不同路径
var form= document.getElementById(“formId”);
form.submit();
2_CartServlet____>addCartgItemToCart
从session获取购物车
如果获取不到,创建购物车对象,放在session中
如果获取到,使用即可
获取到商品id,数量
通过商品id查询都商品对象
获取到待购买的购物项
调用购物车上的方法
重定向到/jsp/cart.jsp
3_ /jsp/cart.jsp 获取购物车上商品信息
重定向/转发
区别:1_ 一次还是两次请求响应 request域数据丢失
2_路径显示问题
3_第二次访问位置
第4章 4_购物模块_移除购物项
4.1 原理分析
4.2 步骤实现
1_准备工作
为购物车上的删除链接绑定了点击事件
$(function(){
//页面加载完毕之后获取到class的值为delete元素,为其绑定点击事件
$(".delete").click(function(){
if(confirm("确认删除?")){
//获取到被删除商品pid
var pid=this.id;
window.loaction.href="/store_v5/CartServlet?method=removeCartItem&id="+pid;
}
});
});
2_CartServlet___>removeCartItem
获取待删除商品pid
获取到购物车
调用购物车删除购物项方法
重定向到/jsp/cart.jsp
第5章 5_购物模块_清空购物车
5.1 原理分析
5.2 步骤实现
1_准备工作
/jsp/cart.jsp 修改连接
清空购物车
2_ CartServlet___>clearCart
获取购物车
调用购物车的清空方法
重定向到/jsp/cart.jsp页面