JavaWeb _13 session购物车部分功能讲解

本文分析了购物车数据的两种存储方式:数据库和session。数据库存储虽能持久化数据,但可能导致性能下降;session存储则效率高,但数据会因会话超时而丢失。文章详细介绍了如何将购物车信息存储到session以及实现商品分页展示和加入购物车功能的步骤。
摘要由CSDN通过智能技术生成


一、项目分析

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) {
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值