jsp购物车实例
用javascript实现的购物车实例

⽤javascript实现的购物车实例基于javascript实现的购物车实例:⾸先是效果和功能,如下图所⽰,具有购物车的基本功能。
包括1、选中和全选商品;2、商品数量的增减;3、单个商品价格的计算;4、总价的计算;5、删除商品。
⼀、界⾯布局使⽤的是table来进⾏布局,由于⽤js来获取tr 和 td节点的时候,可以获取带下标的元素集合,操作起来较为便利。
html+css的代码如下:1 <!DOCTYPE html>2 <html lang="en">3 <head>4 <meta charset="UTF-8">5 <title>购物车</title>6 <style>7 *{margin:0px; padding:0px;}8 table,td,td{9 border:1px solid #000000;10 font-size:10px;11 }12 table{13 display: block;14 }1516 img{17float:left;18 }19 tr{20 text-align: center;21 }22 #box{23 width:900px;24 }2526 #cart{27float:left;28 border-collapse:collapse;29 }30 #head{31 background:#F0FFFF;32 }33 #settlement{34 margin-top:20px;35 width:805px;36 height:30px;37 border:1px solid #EBEBEB;38float:left;39 background: #EBEBEB;4041 font-size:10px;42 line-height:30px ;43 }44 #settlement div{45float:left;46 }47 #addupto{48 color:#ff0000;49 font-weight:700;50 }51 #NumofGoods{52 color:#ff0000;53 font-weight:700;54 }5556 .goods{57 padding:5px;58 text-align: left;59 }60 .number{61 position:relative;62 left:19px;63 width:60px;64 height:10px;65 border:1px solid #cccccc;66 }6768 .acc{69 width:40px;70 height:10px;71 border-left:0px solid #cccccc;72 border-right:0px solid #cccccc;73 line-height: 10px;74float:left;75 }76 .desymbol{77 width:10px;78 height:10px;79 line-height: 10px;80 background:#ccc;81float:left;82 cursor:pointer;83 }84 .adsymbol{85 width:10px;86 height:10px;87 line-height: 10px;88 background:#ccc;89float:right;90 cursor: pointer;91 }92/*.dele{93 cursor: pointer;94 }*/95 .total{96 color:#ff0000;97 font-weight:700;98 }99 </style>100 </head>101 <body>102 <div id="box">103 <table id="cart">104 <tr id="head">105 <td width="50px"><input class="allSelect" type="checkbox"> 全选</td>106 <td width="400px;">商品</td>107 <td width="100px">单价</td>108 <td width="100px">数量</td>109 <td width="100px">⼩计</td>110 <td width="50px">操作</td>111 </tr>112 <tr>113 <td><input class="select" type="checkbox"></td>114 <td class="goods"><img src="img/goods1.jpg">外星⼈笔记本电脑17 R4 15R3 13⼨ 17⼨ alienware今晚吃鸡游戏本</td> 115 <td class="price">12888.00</td>116 <td>117 <div class="number">118 <div class="desymbol">-</div>119 <div class="acc">1</div>120 <div class="adsymbol">+</div>121 </div>122 </td>123 <td class="total"></td>124 <td class="dele">删除</td>125 </tr>126 <tr>127 <td><input class="select" type="checkbox"></td>128 <td class="goods"><img src="img/goods2.jpg">任天堂(Nintendo)Switch 家⽤游戏机掌机NS智能体感游戏主机</td> 129 <td class="price">2258.00</td>130 <td>131 <div class="number">132 <div class="desymbol">-</div>133 <div class="acc">1</div>134 <div class="adsymbol">+</div>135 </div>136 </td>137 <td class="total"></td>138 <td class="dele">删除</td>139 </tr>140 <tr>141 <td><input class="select" type="checkbox"></td>142 <td class="goods"><img src="img/goods3.jpg">Microsoft/微软 Surface Pro i5 8G 256G 笔记本平板电脑⼆合⼀</td> 143 <td class="price">4999.00</td>144 <td>145 <div class="number">146 <div class="desymbol">-</div>147 <div class="acc">1</div>148 <div class="adsymbol">+</div>149 </div>150 </td>151 <td class="total"></td>152 <td class="dele">删除</td>153 </tr>154 <tr>155 <td><input class="select" type="checkbox"></td>156 <td class="goods"><img src="img/goods4.jpg">Apple/苹果10.5英⼨ iPad Pro</td>157 <td class="price">3666.00</td>158 <td>159 <div class="number">160 <div class="desymbol">-</div>161 <div class="acc">1</div>162 <div class="adsymbol">+</div>163 </div>164 </td>165 <td class="total"></td>166 <td class="dele">删除</td>167 </tr>168 </table>169170 <div id="settlement">171 <div style="width:550px"><input class="allSelect" type="checkbox"> 全选</div>172 <div style="width:120px">全选商品<span id="NumofGoods"></span><span>件^</span></div>173 <div style="width:80px">合计:¥<span id="addupto"></span></div>174 <div style="width:50px;text-align: center;border-left:1px solid #000000;">结算</div>175 </div>176177 </div>178179 <script src="cart.js"></script>180 </body>181 </html>View Code⼆、javascript代码⾃⾏封装了getClasses()函数,避免兼容性问题。
基于JSP(java)购物网站的设计和实现

基于JSP购物网站的设计和实现指导老师:班级:组员:基于JSP的网上购物系统的设计与实现——小萌购物网摘要在当今这种信息化、网络化时代,网上购物作为一种全新的理念影响着人们的生活,网上购物系统的诞生就是由此而来。
本次设计的内容是设计并且实现一个基于JSP 技术的网上购物系统,主要使用了Struts+Spring+Hibernate等多种框架的结合使用,用MyEclipse作为开发工具,以MySQL作为数据库,Tomcat作为应用服务器。
应用Macromedia公司的Dreamweaver作为界面美化工具,使用Java语言开发,页面采取JSP动态页面开发技术。
该系统界面简单、操作方便,容易维护。
系统分前台部分和后台部分,前台部分由用户使用,主要包括用户注册,购物车管理,个人资料管理等功能。
后台部分由管理员使用,主要包括商品管理,处理订单,用户信息管理,新闻信息管理等功能。
建立后的网站系统是一个动态、交互式、具有商品提供、系统管理等功能的电子商务网站.关键字:网上购物饰品JSP MySQL目录1 引言 (4)1.1 网上购物的发展与现状 (4)1.2 系统实现的目标 (5)1.3 系统的开发意义 (5)2 可行性分析 (6)2.1 技术可行性 (6)2.2 经济可行性 (6)2.3 操作可行性 (7)2.4 硬件、软件可行性 (7)3 需求分析 (7)3.1 消费需求分析 (7)3。
2 效益需求分析 (8)3。
3 功能需求分析 (9)4 概要设计 (13)4.1 系统功能模块设计 (13)4.2 数据库设计 (16)5 详细设计 (18)5.1 系统功能实现的主要架构 (18)5。
2 系统各功能模块的实现 06. 系统测试 06。
1 系统测试的目的 06.2 系统测试的方法 06。
3 系统测试的环境 06.4 本系统测试 07总结 0参考文献 01.引言1。
1 网上购物的发展与现状随着网络、通信和信息技术的突破性进展,Internet在全球爆炸性增长并迅速普及。
JS实现购物车功能(JS案例)

JS实现购物车功能(JS案例)购物车功能是一个非常常见的电商网站功能,它允许用户将感兴趣的商品加入购物车,然后在结算时一次性支付。
本文将使用JavaScript实现一个简单的购物车功能。
首先,我们需要定义一个购物车对象,用于保存用户选择的商品信息。
购物车对象可以包含以下几个属性:- `items`: 一个数组,用于保存用户选择的商品信息- `addItem`: 一个方法,用于将商品加入购物车- `removeItem`: 一个方法,用于从购物车中移除商品- `getTotalPrice`: 一个方法,用于计算购物车中所有商品的总价格```javascript//购物车对象var cart =items: [],addItem: function(item)this.items.push(item);},removeItem: function(itemIndex)this.items.splice(itemIndex, 1);},getTotalPrice: functiovar totalPrice = 0;for (var i = 0; i < this.items.length; i++)totalPrice += this.items[i].price;}return totalPrice;}```在上面的代码中,`addItem`方法用于将商品加入购物车,它接受一个商品对象作为参数,并将其添加到`items`数组中。
`removeItem`方法用于从购物车中移除商品,它接受一个商品在`items`数组中的索引作为参数,并使用`splice`方法将其从数组中删除。
`getTotalPrice`方法用于计算购物车中所有商品的总价格,它通过循环遍历`items`数组,将每个商品的价格累加到`totalPrice`变量中,最后返回总价格。
下面是一个简单的示例,演示如何使用购物车对象:```javascript//创建几个商品对象var item1 =name: '商品1',price: 100};var item2 =name: '商品2',price: 200};//将商品加入购物车cart.addItem(item1);cart.addItem(item2);//输出购物车中所有商品的名称和价格for (var i = 0; i < cart.items.length; i++) console.log('商品名称:', cart.items[i].name); console.log('商品价格:', cart.items[i].price); //输出购物车中所有商品的总价格console.log('总价格:', cart.getTotalPrice(); //从购物车中移除商品2cart.removeItem(1);//再次输出购物车中所有商品的总价格console.log('总价格:', cart.getTotalPrice();```在上面的示例中,我们通过创建了两个商品对象`item1`和`item2`,然后使用`addItem`方法将它们加入购物车。
javascript大作业案例

javascript大作业案例JavaScript大作业案例1. 2048游戏2048游戏是一款经典的数字消除游戏,玩家通过滑动数字方块,使相同数字的方块相加,最终得到2048这个数字的方块。
这个案例可以通过JavaScript来实现游戏逻辑、界面交互以及分数统计等功能。
2. 在线购物车在线购物车是一个常见的电商网站功能,用户可以通过点击“加入购物车”按钮将商品添加到购物车中,然后可以查看购物车的商品列表、修改商品数量、删除商品等操作。
这个案例可以通过JavaScript实现购物车的动态更新、购物车总价的计算、商品数量的统计等功能。
3. 图片轮播图片轮播是网站常见的一种效果,可以展示多张图片,并通过自动播放或手动切换的方式进行显示。
这个案例可以通过JavaScript实现图片轮播的逻辑,包括图片的切换、自动播放的控制、切换按钮的显示等功能。
4. 数据可视化数据可视化是将抽象的数据通过图表、地图等可视化的方式展示出来,以便用户更直观地理解和分析数据。
这个案例可以通过JavaScript调用数据可视化库,如D3.js或Echarts,来实现数据的图表展示、交互操作、数据筛选等功能。
5. 在线聊天室在线聊天室是一个可以实现实时通信的网页应用,用户可以通过输入文字、发送图片等方式与其他用户进行交流。
这个案例可以通过JavaScript结合WebSocket技术来实现实时通信的功能,包括消息的发送、接收、显示等操作。
6. 博客系统博客系统是一个可以发布、编辑、管理文章的网站,用户可以注册账号、登录、撰写文章、查看文章列表等操作。
这个案例可以通过JavaScript实现用户的注册登录功能、文章的发布与编辑功能、文章列表的展示与分页等功能。
7. 在线音乐播放器在线音乐播放器可以实现在线播放音乐、创建歌单、收藏喜欢的音乐等功能。
这个案例可以通过JavaScript结合音乐API来实现音乐的搜索、播放、歌单的创建与管理等功能。
Web前端开发与设计13-购物车案例

Web前端开发与设计13-购物车案例说明使⽤js脚本实现商品的添加、修改、删除、价格计算。
⽰例代码<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>JavaScript实现购物车功能</title><style type="text/css">.num {width: 30px;}</style><!--⼊jquery--><script src="script/jquery-1.12.4.js"></script><script>//1.实现全选的效果function checkAll() {let eles = document.getElementsByName("product");//获取的是对象集合//console.log(eles);//调试代码for (let i = 0; i < eles.length; i++) {eles[i].checked = document.getElementById("checkall").checked;}}//2.实现选择商品改变全选框的效果function checkProduct() {let ckall = document.getElementById("checkall");//全选框let eles = document.getElementsByName("product");//获取商品选框对象集合let size = eles.length;//商品数⽬let total = 0;//选中的商品数⽬//遍历集合,判断商品是否都被选中for (let i = 0; i < size; i++) {if (eles[i].checked == false) {ckall.checked = false;break;//中断循环} else {total += 1;}}//判断是否已经遍历完成if (total == size) {ckall.checked = true;}}//jquery开发环境$(function () {//alert("hello jquey!");//3.实现增加商品数量$("#mycart").find(".add").click(function () {let $_pre = $(this).prev();//console.log($_pre);let num = parseInt($_pre.val());//alert(num);$_pre.val(num + 1);//数量+1//改变⼩计⾦额let price=$_pre.parent().prev().text();//读取价格$_pre.parent().next().text(parseInt(price)*(num+1));totalPrice();})//4.减少商品数量$("#mycart").find(".sub").click(function () {let $_next = $(this).next();let num = parseInt($_next.val());if (num < 2) {let result = confirm("确定删除该商品?");if (result == true) {$_next.parent().parent().remove();//删除商品totalPrice();}} else {$_next.val(num - 1);//数量-1//改变⼩计⾦额let price=$_next.parent().prev().text();//读取价格$_next.parent().next().text(parseInt(price)*(num-1));totalPrice();}})//5.增加商品效果$("#addProduct").click(function () {let $_newRow =$("#mycart").find("tr").eq(1).clone(true);$("#mycart").find("tr").eq(1).after($_newRow);totalPrice();})//6.总计价格function totalPrice() {var sum=0;$(".total").each(function (i,e) {sum+=parseInt($(e).text());})$("#sum").text(sum);}//执⾏计算总价totalPrice();})</script></head><body><button id="addProduct">增加商品</button><hr><table id="mycart" border="1px"><tr><th>全选<input type="checkbox" id="checkall" onclick="checkAll()"></th><th>品名</th><th>价格</th><th>数量</th><th>⼩计</th></tr><tr><td><input type="checkbox" name="product" onclick="checkProduct()"></td> <td>⾐服</td><td>800</td><td><button class="sub">-</button><input type="text" name="num" class="num" value="1"><button class="add">+</button></td><td class="total">800</td></tr><tr><td><input type="checkbox" name="product" onclick="checkProduct()"></td> <td>鞋⼦</td><td>500</td><td><button class="sub">-</button><input type="text" name="num" class="num" value="1"><button class="add">+</button></td><td class="total">500</td></tr><tr><td colspan="3">总计</td><td colspan="2" id="sum">888</td></tr></table></body></html>。
JSP 实现购物车

JSP 实现购物车
在网络上开设自己的网络商店,购买商品,已经成为了人们的一种习惯。
在本节中,将以实验指导的方式,利用JavaBean实现一个简单的网上购物的案例。
(1)购物车Bean实现。
购物车Bean主要实现购物商品的名称、数量和单位属性的设置和获取,用一个哈希表对象list用来存放购买的商品。
用show()方法显
(2)添加商品。
添加商品文件car.jsp主要实现商品相关内容的添加,该文件的代码如下所示:
(3)显示添加商品信息。
显示添加商品文件show.jsp用来实现显示添加商品的
(4)购物功能实现。
将以上文件保存,打开IE浏览器,在地址栏输入http://l ocalhost:8080/stu/car.jsp,单击【转到】按钮,就会显示如图4-17所示的添加购物窗口。
在此窗口中添加完相关商品后,单击【提交添加】按钮,会显示如图4-18所示的商品信息。
图4-17 购物添加 图4-18 显示商品。
jsp实验3-购物车实验

/**
*图书分类,这里的图书分类定义比较简单,没有多级分类信息
* */
public class BookCatalog {
String id;//分类关键字
String title;//分类名称
public BookCatalog(String id, String title) {
}
public void setTitle(String title) {
this.title = title;
}
}
2.创建图书类Book.java
packagecom.bookstore.model;
/**
*图书类
**/
publicclassBook {
Stringisbn;//图书关键字
StringcatalogId;
}
3.创建图书库BookStore,提供了几个类方法模拟从数据库获得书籍信息。
package com.bookstore.model;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
5.创建一个对应订购图书的订单项OrderItem
package com.bookstore.model;
/**
*一个订购项
* */
public class OrderItem {
Book book;//订购的图书
int nums;//概述订购的数量
private float sum;//合计
JavaScript程序设计教程 第11章 综合实战--实现购物车功能

(7)document.getElementsByClassName = function (cls) {...};
自定义getElementsByClassName方法,传入参数cls类名 ,表示想通过哪个类名来获取元素。
(8)var ret = []; var els = document.getElementsByTagName(‘*’);
获取所有全选框,check-all为全选框的特有样式。
(6)if (!document.getElementsByClassName) {...}
判断方法getElementsByClassName是否存在。 低版本IE不支持getElementsByClassName方法,兼容IE则需 要自定义getElementsByClassName方法。
通过getElementById方法获取table元素。
(3)var tr = cartTable.children[1].rows;
获取table元素下的所有tr元素,即获取所有的商品。 cartTable.children表示cartTable所有子节点。 cartTable.children[1]表示获取cartTable的两个子节点 即tbody元素。rows属性为表格的特有属性存放节点下面的所有 tr元素。
图11.1 购物车效果图
11.2
准备工作
有了购物车总体布局之后就可以开始一步步进行功能实现 了。比如购物车的全选功能实现、商品价格计算、购物车商品 删除等。而在实现这些功能之前需要先获取页面元素以及做一 些兼容性处理。这里单独写一个脚本script.js文件来实现购 物车的一系列操作。然后在html中引入外部脚本script.js文 件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Jsp购物车实例打开Tomcat,启动服务,在浏览器地址栏输入http://localhost:8080/dd/show.jsp,dd为自己建立的文件夹,位置为C:\Tomcat 7.0\webapps\dd程序结果截图如下:购买商品操作:移除商品操作:清空购物车操作:Jsp源程序C:\Tomcat 7.0\webapps\dd 文件中的文件Index.jsp源程序<%@ page contentType="text/html;charset=gb2312"%><jsp:forward page="/index"/>Shopcar.jsp源程序<%@ page contentType="text/html;charset=gb2312"%><%@ page import="java.util.ArrayList" %><%@ page import="com.yxq.valuebean.GoodsSingle" %><%//获取存储在session中用来存储用户已购买商品的buylist集合对象ArrayList buylist=(ArrayList)session.getAttribute("buylist");float total=0; //用来存储应付金额%><table border="1" width="450" rules="none" cellspacing="0" cellpadding="0"> <tr height="50"><td colspan="5" align="center">购买的商品如下</td></tr> <tr align="center" height="30" bgcolor="lightgrey"><td width="25%">名称</td><td>价格(元/斤)</td><td>数量</td><td>总价(元)</td><td>移除(-1/次)</td></tr><% if(buylist==null||buylist.size()==0){ %><tr height="100"><td colspan="5" align="center">您的购物车为空!</td></tr> <%}else{for(int i=0;i<buylist.size();i++){GoodsSingle single=(GoodsSingle)buylist.get(i);String name=single.getName(); //获取商品名称float price=single.getPrice(); //获取商品价格int num=single.getNum(); //获取购买数量//计算当前商品总价,并进行四舍五入float money=((int)((price*num+0.05f)*10))/10f;total+=money; //计算应付金额%><tr align="center" height="50"><td><%=name%></td><td><%=price%></td><td><%=num%></td><td><%=money%></td><td><a href="doCar?action=remove&name=<%=single.getName() %>">移除</a></td></tr><%}}%><tr height="50" align="center"><td colspan="5">应付金额:<%=total%></td></tr><tr height="50" align="center"><td colspan="2"><a href="show.jsp">继续购物</a></td><td colspan="3"><a href="doCar?action=clear">清空购物车</a></td> </tr></table>Show.jsp源程序为:<%@ page contentType="text/html;charset=gb2312"%><%@ page import="java.util.ArrayList" %><%@ page import="com.yxq.valuebean.GoodsSingle" %><% ArrayList goodslist=(ArrayList)session.getAttribute("goodslist"); %><table border="1" width="450" rules="none" cellspacing="0" cellpadding="0"> <tr height="50"><td colspan="3" align="center">提供商品如下</td></tr><tr align="center" height="30" bgcolor="lightgrey"><td>名称</td><td>价格(元/斤)</td><td>购买</td></tr><% if(goodslist==null||goodslist.size()==0){ %><tr height="100"><td colspan="3" align="center">没有商品可显示!</td></tr><%}else{for(int i=0;i<goodslist.size();i++){GoodsSingle single=(GoodsSingle)goodslist.get(i);%><tr height="50" align="center"><td><%=single.getName()%></td><td><%=single.getPrice()%></td><td><a href="doCar?action=buy&id=<%=i%>">购买</a></td></tr><%}}%><tr height="50"><td align="center" colspan="3"><a href="shopcar.jsp">查看购物车</a></td> </tr></table>WEB-INF文件中的文件为Web.xml内容:<?xml version="1.0" encoding="UTF-8"?><web-app><!-- 配置IndexServlet --><servlet><servlet-name>indexServlet</servlet-name><servlet-class>com.yxq.servlet.IndexServlet</servlet-class></servlet><servlet-mapping><servlet-name>indexServlet</servlet-name><url-pattern>/index</url-pattern></servlet-mapping><!-- 配置BuyServlet --><servlet><servlet-name>buyServlet</servlet-name><servlet-class>com.yxq.servlet.BuyServlet</servlet-class></servlet><servlet-mapping><servlet-name>buyServlet</servlet-name><url-pattern>/doCar</url-pattern></servlet-mapping></web-app>Classes内容C:\Tomcat 7.0\webapps\dd\WEB-INF\classes\com\yxqSrc内容C:\Tomcat 7.0\webapps\dd\src\com\yxq编译后放入C:\Tomcat 7.0\webapps\dd\WEB-INF\classes\中C:\Tomcat 7.0\webapps\dd\src\com\yxq\servlet内容为BuyServlet.java源程序package com.yxq.servlet;import java.io.IOException;import java.util.ArrayList;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import com.yxq.toolbean.MyTools;import com.yxq.toolbean.ShopCar;import com.yxq.valuebean.GoodsSingle;public class BuyServlet extends HttpServlet {protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doPost(request,response);}protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {String action=request.getParameter("action"); //获取action参数值if(action==null)action="";if(action.equals("buy")) //触发了“购买”请求buy(request,response); //调用buy()方法实现商品的购买if(action.equals("remove")) //触发了“移除”请求remove(request,response); //调用remove()方法实现商品的移除if(action.equals("clear")) //触发了“清空购物车”请求clear(request,response); //调用clear()方法实现购物车的清空}//实现购买商品的方法protected void buy(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {HttpSession session=request.getSession();String strId=request.getParameter("id"); //获取触发“购买”请求时传递的id 参数,该参数存储的是商品在goodslist对象中存储的位置int id=MyTools.strToint(strId);ArrayList goodslist=(ArrayList)session.getAttribute("goodslist");GoodsSingle single=(GoodsSingle)goodslist.get(id);ArrayList buylist=(ArrayList)session.getAttribute("buylist"); //从session范围内获取存储了用户已购买商品的集合对象if(buylist==null)buylist=new ArrayList();ShopCar myCar=new ShopCar();myCar.setBuylist(buylist); //将buylist对象赋值给ShopCar 类实例中的属性myCar.addItem(single); //调用ShopCar类中addItem()方法实现商品添加操作session.setAttribute("buylist",buylist);response.sendRedirect("show.jsp"); //将请求重定向到show.jsp页面}//实现移除商品的方法protected void remove(HttpServletRequest request, HttpServletResponse response) throwsServletException, IOException {HttpSession session=request.getSession();ArrayList buylist=(ArrayList)session.getAttribute("buylist");String name=request.getParameter("name");ShopCar myCar=new ShopCar();myCar.setBuylist(buylist); //将buylist对象赋值给ShopCar 类实例中的属性myCar.removeItem(MyTools.toChinese(name)); //调用ShopCar类中removeItem ()方法实现商品移除操作response.sendRedirect("shopcar.jsp");}//实现清空购物车的方法protected void clear(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {HttpSession session=request.getSession();ArrayList buylist=(ArrayList)session.getAttribute("buylist"); //从session 范围内获取存储了用户已购买商品的集合对象buylist.clear(); //清空buylist集合对象,实现购物车清空的操作response.sendRedirect("shopcar.jsp");}}IndexServlet.java源程序package com.yxq.servlet;import java.io.IOException;import java.util.ArrayList;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import com.yxq.valuebean.GoodsSingle;public class IndexServlet extends HttpServlet {private static ArrayList goodslist=new ArrayList();protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doPost(request,response);}protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {HttpSession session=request.getSession();session.setAttribute("goodslist",goodslist);response.sendRedirect("show.jsp");}static{ //静态代码块String[] names={"苹果","香蕉","梨","橘子"};float[] prices={2.8f,3.1f,2.5f,2.3f};for(int i=0;i<4;i++){GoodsSingle single=new GoodsSingle();single.setName(names[i]);single.setPrice(prices[i]);single.setNum(1);goodslist.add(single);}}}C:\Tomcat 7.0\webapps\dd\src\com\yxq\toolbean内容MyTools.java源程序:package com.yxq.toolbean;import java.io.UnsupportedEncodingException;public class MyTools {public static int strToint(String str){ //将String型数据转换为int型数据的方法if(str==null||str.equals(""))str="0";int i=0;try{i=Integer.parseInt(str);}catch(NumberFormatException e){i=0;e.printStackTrace();}return i;}public static String toChinese(String str){ //进行转码操作的方法if(str==null)str="";try {str=new String(str.getBytes("ISO-8859-1"),"gb2312");} catch (UnsupportedEncodingException e) {str="";e.printStackTrace();}return str;}}ShopCar.java源程序package com.yxq.toolbean;import java.util.ArrayList;import com.yxq.valuebean.GoodsSingle;public class ShopCar {private ArrayList buylist=new ArrayList(); //用来存储购买的商品public void setBuylist(ArrayList buylist) {this.buylist = buylist;}/*** @功能向购物车中添加商品* @参数single为GoodsSingle类对象,封装了要添加的商品信息*/public void addItem(GoodsSingle single){if(single!=null){if(buylist.size()==0){ //如果buylist中不存在任何商品GoodsSingle temp=new GoodsSingle();temp.setName(single.getName());temp.setPrice(single.getPrice());temp.setNum(single.getNum());buylist.add(temp); //存储商品}else{//如果buylist中存在商品int i=0;for(;i<buylist.size();i++){ //遍历buylist集合对象,判断该集合中是否已经存在当前要添加的商品GoodsSingle temp=(GoodsSingle)buylist.get(i); //获取buylist集合中当前元素if(temp.getName().equals(single.getName())){ //判断从buylist集合中获取的当前商品的名称是否与要添加的商品的名称相同//如果相同,说明已经购买了该商品,只需要将商品的购买数量加1temp.setNum(temp.getNum()+1); //将商品购买数量加1break;//结束for循环}}if(i>=buylist.size()){ //说明buylist中不存在要添加的商品GoodsSingle temp=new GoodsSingle();temp.setName(single.getName());temp.setPrice(single.getPrice());temp.setNum(single.getNum());buylist.add(temp); //存储商品}}}}/*** @功能从购物车中移除指定名称的商品* @参数name表示商品名称*/public void removeItem(String name){for(int i=0;i<buylist.size();i++){ //遍历buylist集合,查找指定名称的商品GoodsSingle temp=(GoodsSingle)buylist.get(i); //获取集合中当前位置的商品if(temp.getName().equals(name)){ //如果商品的名称为name参数指定的名称if(temp.getNum()>1){ //如果商品的购买数量大于1temp.setNum(temp.getNum()-1); //则将购买数量减1break; //结束for循环}else if(temp.getNum()==1){ //如果商品的购买数量为1buylist.remove(i); //从buylist集合对象中移除该商品}}}}}C:\Tomcat 7.0\webapps\dd\src\com\yxq\valuebean内容GoodsSingle.java源程序package com.yxq.valuebean;public class GoodsSingle {private String name; //保存商品名称private float price; //保存商品价格private int num; //保存商品购买数量public String getName() {return name;}public void setName(String name) { = name;}public int getNum() {return num;}public void setNum(int num) {this.num = num;}public float getPrice() {return price;}public void setPrice(float price) {this.price = price;} }。