文章目录
一、项目分析
1、将购物车保存到数据库(永久的)
--优点:只要你登录了,并且选购了,不管你换不换设备,数据仍然在,方便了用户。
--缺点:太占数据库的内存,性能差,效率低
2、将购物车保存到session中(临时的)
--优点:性能佳 效率高
--缺点:会话具有时效性,超时数据会消失
----提示语法:
存到session: session.setAttribute(键String,值Object)
从session取值:session.getAttribute(键) 返回Object
----我们是将订单项的集合List<OrderItem>保存到session中
实体类
User
Goods(商品类):gid gname gprice ginfo gpath(图片路径)
OrderItem(订单项类):goods oinum oiprice=数量*单价(goods.getGprice())
doshop.jsp:接收gid 根据gid拿到商品对象 形成订单项 加到集合中保存到session
二、编写代码以及步骤
1、商城首页的实现(分页)
(1)编写实体类
package com.zking.cart.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) {
super();
this.gname = gname;
this.gprice = gprice;
this.ginfo = ginfo;
this.gpath = gpath;
}
public Goods(int gid, String gname, float gprice, String ginfo, String gpath) {
super();
this.gid = gid;
this.gname = gname;
this.gprice = gprice;
this.ginfo = ginfo;
this.gpath = gpath;
}
public int getGid() {
return gid;
}
public void setGid(int gid) {
this.gid = gid;
}
public String getGname() {
return gname;
}
public void setGname(String gname) {