package com.yxq.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.RequestDispatcher;
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.bean.SingleObject;
public class Buy extends HttpServlet {
private Map havemap=new HashMap();
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();
String sessionID=session.getId();
int order=-1;
String strorder=request.getParameter("list_order");
try{
order=Integer.parseInt(strorder);
}catch(NumberFormatException e){
order=-1;
}
if(order==-1){
System.out.println("请选择商品!");
}else{
List currentlist=(ArrayList)session.getAttribute("currentlist");
if(currentlist!=null){
SingleObject select=(SingleObject)(currentlist.get(order));
int selectId=select.getId();
havemap=(HashMap)session.getServletContext().getAttribute("havemap");
if(havemap!=null&&havemap.size()!=0){
if(havemap.containsKey(selectId)){
synchronized(havemap){
int rem=(Integer)havemap.get(selectId);
int exist=0;
exist=rem-1;
if(exist<0){
select.setMessage("库存已空!");
select.setHave(0);
currentlist.set(order,select);
session.setAttribute("currentlist",currentlist);
}
else{
havemap.put(selectId,exist);
session.getServletContext().setAttribute("havemap",havemap);
SingleObject buysingle=null;
Map carmap=(HashMap)session.getAttribute("carmap");
/*** 如果购物车为空 ***/
if(carmap==null||carmap.size()==0){
carmap=new HashMap();
buysingle=new SingleObject();
buysingle.setId(selectId);
buysingle.setName(select.getName());
buysingle.setPrice(select.getPrice());
buysingle.setTruehave(select.getTruehave());
buysingle.setBuyN(1);
buysingle.setBuyMoney(buysingle.getBuyN()*buysingle.getPrice());
buysingle.setHave(exist);
carmap.put(selectId,buysingle);
}
/*** 如果购物车不为空 ***/
else{
/*** 如果购物车已存在选中的物品 ***/
if(carmap.containsKey(selectId)){
buysingle=(SingleObject)carmap.get(selectId);
buysingle.setBuyN(buysingle.getBuyN()+1);
buysingle.setBuyMoney(buysingle.getPrice()*buysingle.getBuyN());
buysingle.setHave(exist);
carmap.put(selectId,buysingle);
}
/*** 如果购物车不存在选中的物品 ***/
else{
buysingle=new SingleObject();
buysingle.setId(selectId);
buysingle.setName(select.getName());
buysingle.setPrice(select.getPrice());
buysingle.setTruehave(select.getTruehave());
buysingle.setBuyN(1);
buysingle.setBuyMoney(buysingle.getBuyN()*buysingle.getPrice());
buysingle.setHave(exist);
carmap.put(selectId,buysingle);
}
} //购物车不为空
session.setAttribute("carmap",carmap);
Map usermap=(HashMap)session.getServletContext().getAttribute("usermap");
usermap.put(sessionID,carmap);
session.getServletContext().setAttribute("usermap",usermap);
} //库存不为空
} //synchronized
} //if(havemap.containsKey(selectId))
else{select.setMessage("未知库存量!"); }
} //if(havemap!=null&&havemap.size()!=0)
else{select.setMessage("HashMap库存表空!"); }
} //if(currentlist!=null)
else{System.out.println("列表为空!");}
}
RequestDispatcher rd=request.getRequestDispatcher("/shop/preindex");
rd.forward(request,response);
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
jsp+javabean+sqlServer做的一个购物车
共80个文件
gif:20个
class:13个
java:13个
4星 · 超过85%的资源 需积分: 10 37 下载量 47 浏览量
2012-05-12
09:44:21
上传
评论 1
收藏 861KB RAR 举报
温馨提示
用jsp+sqlserver+javabean做的一个购物车,里面包含的功能有订单购物,技术完美,适合学习用哦。
资源推荐
资源详情
资源评论
收起资源包目录
shop.rar (80个子文件)
shop
.settings
org.eclipse.jdt.core.prefs 330B
src
com
yxq
filter
isAvailable.java 1KB
monitor
UserReg.java 1KB
UserAccess.java 2KB
bean
CreatePage.java 2KB
SingleObject.java 2KB
DBO.java 3KB
servlet
PreIndex.java 2KB
LookCar.java 1KB
PageLink.java 1KB
Update.java 3KB
Buy.java 5KB
Delete.java 2KB
UorD.java 2KB
.project 1KB
WebRoot
css
style.css 2KB
templet.jsp 1KB
end.jsp 336B
image
index
top.gif 29KB
default.gif 42KB
end.gif 2KB
Thumbs.db 6KB
borderline.gif 410B
error.gif 6KB
left
menu_zx.gif 2KB
menu_gift.gif 2KB
menu_line.gif 723B
menu_search.gif 2KB
menu_zs.gif 2KB
menu_me.gif 2KB
Thumbs.db 6KB
left_link.gif 3KB
menu_buy.gif 1KB
menu_index.gif 2KB
menu_help.gif 2KB
pic.gif 178B
Thumbs.db 6KB
none.gif 4KB
buy
8.jpg 19KB
2.jpg 23KB
1.jpg 20KB
6.jpg 25KB
3.jpg 21KB
5.jpg 15KB
look_car.gif 1KB
11.jpg 19KB
4.jpg 17KB
10.jpg 17KB
button.gif 864B
Thumbs.db 43KB
none.gif 5KB
12.jpg 18KB
9.jpg 23KB
7.jpg 22KB
META-INF
MANIFEST.MF 39B
top.jsp 307B
WEB-INF
web.xml 3KB
classes
com
yxq
filter
isAvailable.class 2KB
monitor
UserAccess.class 3KB
UserReg.class 2KB
bean
CreatePage.class 2KB
SingleObject.class 2KB
DBO.class 5KB
servlet
UorD.class 3KB
PreIndex.class 3KB
LookCar.class 2KB
Update.class 3KB
Buy.class 4KB
Delete.class 2KB
PageLink.class 2KB
lib
sqljdbc.jar 570KB
main.jsp 498B
gobuy.jsp 4KB
index.jsp 197B
default.jsp 417B
shopcar.jsp 4KB
left.jsp 3KB
message.jsp 863B
.mymetadata 285B
.classpath 432B
.myeclipse
共 80 条
- 1
资源评论
- 阳德龍龘csdn2013-05-27整体还不错,调了好长时间终于调通了
- hdszc2012-06-06可以下载并使用。
CodeCxz
- 粉丝: 13
- 资源: 26
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功