目录
1.entity 包 (package com.zking.goods.entity;)
数据库访问包utils (package com.zking.goods.utils;)
1.1 BaseDao.java 万能增删改查方法(简易)实现类
1.biz包代码 (package com.zking.goods.biz;) IGoodsBiz.java (商品方法定义接口)
2.biz包中的impl包代码 (package com.zking.goods.biz.impl;) GoodsBizImpl.java (商品方法实现类命名)
1.dao包代码(package com.zking.goods.dao;)
一、实现思路
购物车shop
- 前台
- 包括用户注册,登录
Html +js+jsp
考虑自动登录(cookie实现 登录页面)
- 进入购物页面购物(数据均来自数据库),商品展示页面shop.jsp显示如下(大概显示效果如下,为了界面美观,可以加入相应的商品图片 )(该页面相当于游客页面)
1.点击”加入购物车” 的同时,要将数据(订单项的集合)保存到session中,再转入下图购物车页面cart.jsp(必须登录才能进)(大概效果如下)[从session中取出订单项集合]
- 其中商品数量可以在修改数量以后点击【修改】按钮进行修改
- 删除按钮则可以删除该购买商品(必须有提示)
- 点击继续购物后应该转入购物页面继续购物
- 点击结算后应该转入结账页面,提示用户当前购物车总金额,并清空购买信息。
- 订单项组成:商品基本信息Goods 数量num 单个商品的总价sumprice
- 后台
- 包括对商品的管理(考虑删除的真正含义)以及 分页 下架 状态列0 1
- 包括对用户的管理(考虑删除的真正含义)以及 分页
- **思考订单&订单项(一个订单可以包含多个订单项)的概念
- 解决两个问题:订单项覆盖问题 加同一个商品重复问题
涉及的技术点:
JDBC
Entity:
--Goods
--User
Session:购物车(增删改查)
二、JSP 页面实现(临时性购物车项目)
第一部分:images(图片)
第二部分:SQL代码
--数据库设计 CartDB
--创建商品表
create table goods
(
gid --商品编号
gname --商品名称
gprice --商品单价
ginfo --商品描述信息
gpath --商品图片路径
)
--插入具体的数据
insert into goods values(1,'mp31',100,'mp31','images/1.jpg') ;
insert into goods values(2,'mp32',1200,'mp32','images/2.jpg') ;
insert into goods values(3,'mp33',100,'mp33','images/3.jpg') ;
insert into goods values(4,'mp34',1600,'mp34','images/4.jpg') ;
insert into goods values(5,'mp35',1500,'mp35','images/5.jpg') ;
insert into goods values(6,'mp36',1400,'mp36','images/6.jpg') ;
insert into goods values(7,'mp37',1700,'mp37','images/7.jpg') ;
insert into goods values(8,'mp38',1300,'mp38','images/8.jpg') ;
insert into goods values(9,'mp39',1500,'mp39','images/9.jpg') ;
insert into goods values(10,'mp310',1600,'mp310','images/10.jpg') ;
insert into goods values(11,'mp311',1600,'mp311','images/11.jpg');
第三部分:代码
实体层(entity):
1.entity 包 (package com.zking.goods.entity;)
1.1 Users.java (用户实体类)
package com.zking.goods.entity;
public class Users {
private int cid;
private String cname;
private String cpwd;
private int urole;
private float cmoney;
public Users() {
// TODO Auto-generated constructor stub
}
public Users(int cid, String cname, String cpwd, int urole, float cmoney) {
super();
this.cid = cid;
this.cname = cname;
this.cpwd = cpwd;
this.urole = urole;
this.cmoney = cmoney;
}
public int getCid() {
return cid;
}
public void setCid(int cid) {
this.cid = cid;
}
public String getCname() {
return cname;
}
public void setCname(String cname) {
this.cname = cname;
}
public String getCpwd() {
return cpwd;
}
public void setCpwd(String cpwd) {
this.cpwd = cpwd;
}
public int getUrole() {
return urole;
}
public void setUrole(int urole) {
this.urole = urole;
}
public float getCmoney() {
return cmoney;
}
public void setCmoney(float cmoney) {
this.cmoney = cmoney;
}
@Override
public String toString() {
return "Users [cid=" + cid + ", cname=" + cname + ", cpwd=" + cpwd + ", urole=" + urole + ", cmoney=" + cmoney
+ "]";
}
}