package com.lovo.cq.shopping10_1.vo;
import com.lovo.cq.shopping10_1.po.Book;
/**
* 购物车中的购物项,它包括商品和商品数量
*/
public class CartItem {
private Book book;
private int count;//书的数量
public CartItem(Book book){
this.book=book;
count++;
}
public Book getBook() {
return book;
}
public void setBook(Book book) {
this.book = book;
}
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
//计算某一购物项的总价
public float getItemPrice(){
float price = book.getNowPrice()*count;
return price;
}
}
===========================购物车========================
package com.lovo.cq.shopping10_1.vo;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import com.lovo.cq.shopping10_1.po.Book;
public class Cart {
private HashMap<Integer, CartItem> items = null;
private int itemsCount = 0;//购物项的数量
public Cart() {
items = new HashMap<Integer, CartItem>();
}
/**
* 在购物车中添加一个购物项,如果该购物项已存在购物车中,则什么都不做
* @param bookId 书籍的Id号
* @param book 书
*/
public synchronized void addItem(Integer bookId,Book book) {
if(!items.containsKey(bookId)) {//购物车中没有该商品,可以添加该商品到购物车中
CartItem item = new CartItem(book);
items.put(bookId, item);
itemsCount++;
}
}
/**
* 修改已经购买好的书籍数量
* @param bookId 书籍的Id号
* @param count 修改后的数量
*/
public synchronized void updateBookCount(Integer bookId,int count){
if(count >= 1){
if(items.containsKey(bookId)){
CartItem item = items.get(bookId);//根据书的Id号,来得到此书
item.setCount(count);//修改书的数量
}
}
}
/**
* 从购物车中删除一个购物项
* @param bookId 书籍的Id号
*/
public synchronized void deleteItem(Integer bookId){
if(items.containsKey(bookId)){
items.remove(bookId);
itemsCount--;
}
}
/**
* 删除购物车中的所有购物项
*/
public synchronized void clear(){
items.clear();
itemsCount = 0;
}
/**
* 得到购物车中的所有购物项的数目
*/
public synchronized int getItemCount(){
return itemsCount;
}
/**
* 得到购物车中的所有购物项的总价格
*/
public synchronized float getTotalPrice(){
float amount = 0.0f;
//得到迭代器
Iterator<CartItem> it = items.values().iterator();
while(it.hasNext()){
CartItem item = it.next();
amount+=item.getItemPrice();
}
return amount;
}
/**
* 得到购物车中的所有商品
*/
public synchronized Collection<CartItem> getItems(){
return items.values();
}
/**
* 判断商品是否在购物车中
*/
public synchronized boolean isExist(Integer bookId){
if(items.containsKey(bookId)){
return true;
}
return false;
}
}
分享到:
相关推荐
【标题】:“非常简单的J2EE购物车” 【描述】:“非常简单的J2EE购物车是一个基础的电子商务项目,旨在帮助初学者理解J2EE技术在构建web应用程序时的应用,特别是如何实现一个基本的购物车功能。这个项目可能涵盖...
【标题】:“J2EE购物车”是一个基于Java企业版(J2EE)技术实现的简单在线购物系统。这个系统的核心功能是模拟电子商务网站中用户添加商品至购物车、查看购物车内容以及进行结算的过程。 【描述】:J2EE购物车项目...
本项目"j2ee购物车"就是一个典型的例子,它展示了如何利用J2EE技术实现一个简单的购物车功能,并与数据库进行交互。 首先,购物车功能是任何电商系统的核心部分,它负责存储用户选择的商品、计算总价以及处理添加、...
**J2EE购物车管理系统详解** 在Web应用开发领域,J2EE(Java 2 Platform, Enterprise Edition)是一个广泛使用的框架,它为构建分布式、多层的企业级应用程序提供了全面的平台支持。购物车管理系统是电商网站的核心...
J2EE JSP SERVLET 网上商城 购物车 源代码,J2EE JSP SERVLET 网上商城 购物车 源代码,J2EE JSP SERVLET 网上商城 购物车 源代码,J2EE JSP SERVLET 网上商城 购物车 源代码,J2EE JSP SERVLET 网上商城 购物车 源...
1、服务器采用Tomcat6.0 2、数据库采用MySQL5.1 ... 数据库创建脚本文件放在data中 3、网站的管理员用户建立需要在MySQL中直接建立 insert into userinfo(username,userpassword,role) values('admin','12345',0);
在这个"J2EE,model2 购物车实现"项目中,我们可以通过jsp(JavaServer Pages)、servlet和Model来理解其工作原理。 首先,让我们从购物车功能的基本概念开始。购物车是电子商务网站的核心组件,它允许用户选择商品...
【JSP网上商城购物车】项目是一个基于JSP技术实现的电子商务平台,旨在提供全面的在线购物体验。这个项目的核心是构建一个用户友好的界面,让用户能够方便地浏览商品、添加到购物车、进行结算,并完成整个购物流程。...
在本项目中,Servlet可能是用来处理用户登录、搜索书籍、添加购物车、完成交易等操作的关键部分。 3. **JSP**:JavaServer Pages(JSP)是动态网页技术,允许开发者在HTML中嵌入Java代码。JSP页面通常用于生成动态...
【标题】:购物车源代码 【描述】中提到的“购物车源代码”是一个简单的电商系统实现,基于经典的Web开发技术JSP(JavaServer Pages)和Servlet,以及后端数据库SQL Server 2000。这个项目是作者在刚开始学习JSP+...
这个“j2ee入门教程---几个购物车”很可能是为了帮助初学者理解如何在J2EE环境中实现一个基本的购物车系统。购物车是电商网站的核心功能之一,它的实现涉及到多个技术层面,包括前端展示、数据处理和持久化存储等。...
【标题】"购物车 j2ee sqlserver" 涉及到的是一个基于Java企业级平台(J2EE)和Microsoft SQL Server 2000的简单购物车管理系统的实现。这个系统主要用于模拟在线购物过程,允许用户添加、删除商品到虚拟购物车,并...
### 购物车J2EE实训报告知识点 #### 实训背景与目的 在本次实训中,主要目的是通过构建一个基于J2EE架构的在线购物系统来深化对Struts框架的理解与应用。J2EE(Java 2 Enterprise Edition)是一个为开发企业级应用...
- **购物车会话Bean CartEJB**:通过一个具体的购物车案例展示了有状态会话Bean的应用。 - **其他的企业Bean特性**:扩展了EJB的特性和应用场景。 - **第五章:BMP的例子**: - **SavingsAccountEJB**:介绍了一...
【标题】"购物车j2ee代码"是一个与Java企业级开发相关的项目,它提供了实现购物车功能的核心代码。在J2EE(Java 2 Platform, Enterprise Edition)框架下,这个代码实例通常会涵盖多种技术,如Servlet、JSP、JDBC...
J2EE struts1 网上商城 购物车 源代码,J2EE struts1 网上商城 购物车 源代码,J2EE struts1 网上商城 购物车 源代码,J2EE struts1 网上商城 购物车 源代码,J2EE struts1 网上商城 购物车 源代码,J2EE struts1 ...
4. **网上购物系统架构**:一个典型的J2EE网上购物系统可能包括用户注册与登录模块、商品浏览与搜索模块、购物车模块、订单处理模块、支付接口集成以及后台管理系统。这些模块之间通过服务层进行交互,确保各部分的...
如果读者还要韩顺平老师的java相关视频,我这里有全套,从Java基础到j2ee,ssh开发,其中包括有笔记和部分源代码,以及最重要的学习流程!需要的可以点击进我的相关资源看看,我上传过这个资源。
【标题】"Vector简易购物车添加及删除商品条目演示系统(J2EE版)"是一个基于Java技术栈的Web应用程序,它展示了如何在购物车系统中使用Vector数据结构进行商品管理。在这个系统中,Vector作为核心数据结构,用于...