JavaWeb购物车项目 思路&拓展&综合提升

一、实现思路

购物车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
				+ "]";
	}
	
	
}

        1.2 Goods.java  (商品实体类)

package com.zking.goods.entity;
 
public class Goods {
	private int gid;
	private String gname;
	private float gprice;
	private String ginfo;
	private String gpath;
 
	public Goods() {
		// TODO Auto-generated constructor stub
	}
 
	public Goods(String gname, float gprice, String ginfo, String gpath) {
	
  • 1
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值