学习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

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





