基于Session的购物车的设计与实现

本文介绍了基于Session的购物车设计与实现,包括添加、删除、更新商品、计算价格等功能。使用Bootstrap框架,通过Filter处理中文乱码和访问控制,模拟商品数据库,实现用户登录与注销,提供源码下载。

学习java Web会话基础时,设计了一个简易的购物车 。

此demo使用了当前比较流行的bootsrrap前端框架,设计的效果图如下:

网站提供的购置主页


个人购物车页面




登录与注销页面




本购物车是基于Session实现的,充当一个临时信息存储平台。实现了如下要求:

基本的添加、删除与清空购物车

购物车中可以更新商品的数量

自动计算购物车商品的价格

应用Filter实现中文乱码处理

应用Filter实现添加购物车访问控制:进入主页后,单击“加入购物车”链接,如果用户尚未登录则直接跳转到登录页面,登录后用户查看购物车或者继续购物,也可以付账。

     用户的登录与注销以及验证码。


1.模拟商品数据库(BookDB类)

商品Book类,需要序列化,因为book需要存放在session中。

package com.lilei.bean;

import java.io.Serializable;

public class Book implements Serializable {
	private static final long serialVersionUID = 1L;
	private String id;
	private String name;
	private double price;

	public Book() {
	}

	public Book(String id, String name, double price) {
		this.id = id;
		this.name = name;
		this.price = price;
	}

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public double getPrice() {
		return price;
	}

	public void setPrice(double price) {
		this.price = price;
	}

	@Override
	public String toString() {
		return name + "   " + price + "   ";
	}	
	

}

商品信息存放的数据库,为简便起见,我将商品简单的存储在Map中。(当然,一般都是应用数据库存放商品信息的)

package com.lilei.dao;
import java.util.Collection;
import java.util.LinkedHashMap;
import java.util.Map;

import com.lilei.bean.Book;
public class BookDB {
private static Map<String, Book> books = new LinkedHashMap<String, Book>();
	static {
		    books.put("1", new Book("1", "javaweb开发",88));
		    books.put("2", new Book("2", "jdbc开发",68));
			books.put("3", new Bo
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值