JavaWeb - 仿小米商城网(6): 商品添加到购物车
1 功能描述
2.功能分析
商品购物车是面向数据库中的tb_cart表,在购物车列表页面点击结算将数据添加到数据表. 在开发三层架构体系建立对应的CartServlet类CartServiceImpl类,CartDaoImpl类
功能逻辑抽象
商品购物车功能
POJO(Plain Ordinary Java Object)简单的Java对象,实际就是普通JavaBeans(规范),pojo是业务称呼
entity:实体类,一个类,属性严格对应一个表格的行数据
domain:封装数据库的javabean对象,一个对象可以封装多个表格数据.(domain的范围大于entity)
DTO:专门负责接收前端表格数据的对应结构的javabean.
vo:view object,视图对象,ajax要什么,就封装什么
POJO与JavaBean的比较:
pojo:用于数据的临时传递,它只能装载数据,作为数据存储的载体,不具有业务逻辑的处理能力。
javaBean:与pojo相比,它里面可以有其他方法。
JavaBean是可重用组件,需要符合以下条件:这个类必须有一个公共的缺省构造函数
这个类的属性使用getter和setter来访问设置数据,其他方法遵从标准命名规范
这个类可以序列化
3.前端
3.1.1修改商品详情a链接地址
获取的值用于创建购物车表单对象
新建类
3.1.2编写cart.html代码
主要的是实现跳转和加减商品的功能, 获取和处理数据由servlet完成
//加一
function pNum(pid,p,no){
var nums = $("#num_count"+no).val();
if (Number(nums)>=5){
alert("每个商品每人限购5件")
}else {
nums= parseInt(nums) + 1;//购买的数量不能超过总库存
}
$.ajax({
url:"cart.do?action=updateCartNum&pid="+pid+"&num="+nums+"&price="+p,
method:"get",
success:function(){
location.href = "cart.html";
},
error:function(){
alert("服务器异常");
}
})
}
//减一
function mNum(pid,p,no){
var nums = $("#num_count"+no).val();
nums= parseInt(nums) -1;
if(Number(nums)<=1){
if(Number(nums)<=1){
nums = 1;
alert("最少不能少于1件")
}
}
$.ajax({
url:"cart.do?action=updateCartNum&pid="+pid+"&num="+nums+"&price="+p,
method:"get",
success:function(){
location