package com.servlet;
import java.io.IOException;
import java.sql.SQLException;
import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.dao.GoodsDao;
import com.dao.OrderformDao;
import com.dao.ShopcarDao;
import com.dao.TempDao;
import com.toolsbean.StringHandler;
import com.valuebean.OrderformBean;
import com.valuebean.ShopcarBean;
import com.valuebean.UserBean;
public class ShopcarServlet 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 servletpath=request.getServletPath();
if("/buy".equals(servletpath))
buy(request,response);
else if("/showshopcar".equals(servletpath))
showshopcar(request,response);
else if("/remove".equals(servletpath))
remove(request,response);
else if("/clearshopcar".equals(servletpath))
clear(request,response);
else if("/submitshopcar".equals(servletpath))
submitDispatcher(request,response);
else if("/createorderform".equals(servletpath))
createorderform(request,response);
}
/** @功能:购买商品 */
protected void buy(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
String message="";
Integer buygoodsid=StringHandler.strToint(request.getParameter("buygoodsId"));
if(buygoodsid==null){
message="<li>商品ID值错误!</li>";
message+="<a href='window.history.go(-1)'>返回</a>";
}
else{
try {
Date now=new Date(); //获取当前时间
TempDao tempDao=new TempDao();
String shopcarid=seeshopcarcookie(request,response); //查询客户端Cookie中是否保存了一个购物车ID值
if(shopcarid==null||shopcarid.equals("")||!tempDao.isexist(shopcarid)){ //没有保存
shopcarid=addshopcarcookie(request,response,now); //生成一个购物车ID保存到客户端Cookie中,并返回该ID值
tempDao.saveShopcarCreateTime(shopcarid, StringHandler.timeTostr(now)); //记录该购物车ID和创建时间到数据表中
}
int i=-1;
ShopcarDao shopcarDao=new ShopcarDao();
Object[] params={shopcarid,buygoodsid};
if(shopcarDao.isBuy(params)) //如果已经购买了该商品
i=shopcarDao.addBuyNum(params); //更新商品购买数量
else{ //没有购买该商品
params=new Object[]{shopcarid,buygoodsid,1};
i=shopcarDao.addBuyGoods(params); //添加该商品到购物车(tb_shopcar数据表)中
}
shopcarDao.closed();
if(i<=0)
message="<li>添加商品到购物车失败!</li><br>";
else
message="<li>添加商品到购物车成功!</li><br>";
message+="<a href='javascript:window.history.go(-1)'>返回</a>";
message+=" ";
message+="<a href='showshopcar'>查看购物车<a/>";
} catch (SQLException e) {
e.printStackTrace();
}
}
request.setAttribute("message",message);
RequestDispatcher rd=request.getRequestDispatcher("/message.jsp");
rd.forward(request,response);
}
private String seeshopcarcookie(HttpServletRequest request,HttpServletResponse response){
String webname=request.getContextPath();
webname=webname.substring(1);
Cookie[] coks=request.getCookies();
String shopcarid="";
int i=0;
for(;i<coks.length;i++){
Cookie icok=coks[i];
if(icok.getName().equals(webname+".usershopcar")){
shopcarid=icok.getValue();
break;
}
}
return shopcarid;
}
private String addshopcarcookie(HttpServletRequest request,HttpServletResponse response,Date date){
String webname=request.getContextPath();
webname=webname.substring(1);
String shopcarid="car"+StringHandler.getSerial(date);
Cookie shopcar=new Cookie(webname+".usershopcar",shopcarid);
shopcar.setPath("/");
int maxage=60*60*24*3; //设置cookie的有效期为3天
shopcar.setMaxAge(maxage);
response.addCookie(shopcar);
return shopcarid;
}
protected void showshopcar(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
String shopcarid=seeshopcarcookie(request,response);
if(shopcarid!=null&&!shopcarid.equals("")){
ShopcarBean shopcar=new ShopcarDao().getShopcar(shopcarid);
request.setAttribute("shopcar",shopcar);
}
RequestDispatcher rd=request.getRequestDispatcher("/showShopcar.jsp");
rd.forward(request,response);
}
protected void remove(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
Integer goodsId=StringHandler.strToint(request.getParameter("goodsId"));
String shopcarid=seeshopcarcookie(request,response);
if(shopcarid!=null&&!shopcarid.equals("")&&goodsId!=null){
ShopcarDao shopcarDao=new ShopcarDao();
int i=shopcarDao.deleteGoods(shopcarid,goodsId);
if(i<=0)
request.setAttribute("message","●删除商品失败!");
else
request.setAttribute("message","●删除商品成功!");
shopcarDao.closed();
}
showshopcar(request,response);
}
protected void clear(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
String shopcarid=seeshopcarcookie(request,response);
if(shopcarid!=null&&!shopcarid.equals("")){
ShopcarDao shopcarDao=new ShopcarDao();
int i=shopcarDao.clearShopcar(shopcarid);
if(i<=0)
request.setAttribute("message","●清空购物车失败!");
else
request.setAttribute("message","●清空购物车成功!");
shopcarDao.closed();
}
RequestDispatcher rd=request.getRequestDispatcher("/showShopcar.jsp");
rd.forward(request,response);
}
protected void submitDispatcher(HttpServletRequest request,HttpServletResponse response)throws ServletException, IOException {
String whichsubmit=request.getParameter("whichsubmit");
if(whichsubmit==null)
payforMoney(request,response);
else
updatebuyNum(request,response);
}
private void payforMoney(HttpServletRequest request,HttpServletResponse response)throws ServletException, IOException {
if(shopcar_validateBuyNum(request, response)){
String buygoodsids=StringHandler.ArrayToString(request.getParameterValues("buygoodsids"));
String buygoodsnum=StringHandler.ArrayToString(request.getParameterValues("buygoodsnum"));
request.setAttribute("buygoodsids", buygoodsids);
request.setAttribute("buygoodsnum", buygoodsnum);
RequestDispatcher rd=request.getRequestDispatcher("/fillOrderform.jsp");
rd.forward(request,response);
}
else
showshopcar(request,response);
}
protected void updatebuyNum(HttpServletRequest request,HttpServletResponse response)throws ServletException, IOException {
shopcar_validateBuyNum(request, response);
showshopcar(request,response);
}
private boolean shopcar_validateBuyNum(HttpServletRequest request,HttpServletResponse response){
boolean mark=true;
String[] goodsStoreNums=request.getParameterValues("buygoodsstorenum");
String[] buyNums=request.getParameterValues("buygoodsnum");
String[] goodsIds=request.getParameterValues("buygoodsids");
String shopcarid=seeshopcarcookie(request,response);
if(goodsIds!=null&&goodsIds.length!=0&&shopcarid!=null){
Map messages=new HashMap();
Object[] params=new Object[3];
ShopcarDao shopcarDao=new ShopcarDao();
for(int i=0;i<goodsIds.length;i++){
int int_buyNum=Integer.parseInt(buyNums[i]);
int int_goodsStoreNums=Integer.parseInt(goodsStoreNums[i]);
if(int_buyNum>int_goodsStoreNums){
mark=false;
messages.
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
该资源包括两部分:其中大型项目源码中有播客系统、购物车系统、网络相册、许愿墙、在线支付等5部分源码;其中实用模块源码中有报表打印模块、留言本模块、搜索引擎模块、投票统计模块、图文验证码、文件上传下载模块、注册与登录验证模块等7部分源码。这些源码可作为学习Java Web编程或JSP技术的学习资料。
资源推荐
资源详情
资源评论
收起资源包目录
《Java Web开发之道》书中源码 (1246个子文件)
fenlan2.bak 17KB
subReport.bak 13KB
牙刷.bmp 64KB
_18.cfs 19KB
ShopcarServlet.class 13KB
ShopcarServlet.class 13KB
ShopcarServlet.class 13KB
VoteServlet.class 12KB
PhotoServlet.class 10KB
Dao.class 10KB
GoodsServlet.class 8KB
GoodsServlet.class 8KB
GoodsServlet.class 8KB
UserInfoServlet.class 8KB
FileXLoad.class 8KB
WordXMLModel.class 7KB
MyFileServlet.class 7KB
MediaServlet.class 7KB
MyFileServlet.class 7KB
ConnDB.class 6KB
PictureCheckCode.class 6KB
WordServlet.class 6KB
UserInfoForm.class 6KB
WordXMLServlet.class 6KB
OperationData.class 6KB
WordDao.class 5KB
ScripAction.class 5KB
PageBar.class 5KB
ConnDB.class 5KB
UserInfoAction.class 5KB
UserInfoForm.class 5KB
VoteLimitFilter.class 5KB
MyPayment.class 5KB
MediaDao.class 5KB
PageBar.class 5KB
PageBar.class 5KB
PageBar.class 5KB
PageBar.class 5KB
GoodsDao.class 5KB
GoodsDao.class 5KB
GoodsDao.class 5KB
PictureCheckCode.class 5KB
OrderformDao.class 5KB
OrderformDao.class 5KB
OrderformDao.class 5KB
ScripDAO.class 5KB
MyPagination.class 4KB
PictureCheckCode.class 4KB
PictureCheckCode.class 4KB
UserInfoServlet.class 4KB
Ysbb.class 4KB
ShopcarDao.class 4KB
ShopcarDao.class 4KB
ShopcarDao.class 4KB
OperationServlet.class 4KB
PaymentOrdersServlet.class 4KB
ConnDB.class 4KB
UserInfoDao.class 4KB
Payment.class 4KB
PictureCheckCode.class 4KB
NewsServlet.class 3KB
OrderformBean.class 3KB
OrderformBean.class 3KB
OrderformBean.class 3KB
UserDao.class 3KB
MyPagination.class 3KB
ImageUtils.class 3KB
SearchForm.class 3KB
StringHandler.class 3KB
StringHandler.class 3KB
StringHandler.class 3KB
OptionDao.class 3KB
File.class 3KB
FileDao.class 3KB
FileDao.class 3KB
LogXServlet.class 3KB
UserXMLModel.class 3KB
LogXServlet.class 3KB
MediaRDao.class 3KB
JDBConnection.class 3KB
UserInfoDao.class 3KB
AbleFilter.class 3KB
DB.class 3KB
DB.class 3KB
DB.class 3KB
DB.class 3KB
DB.class 3KB
DB.class 3KB
DB.class 3KB
JDBConnection.class 3KB
SignatureHelper_return.class 3KB
SignatureHelper.class 3KB
AbleFilter.class 3KB
AreaDao.class 3KB
UserInfoDao.class 3KB
JDBConnection.class 3KB
JDBConnection.class 3KB
Photo.class 2KB
JDBConnection.class 2KB
UserInfoAction.class 2KB
共 1246 条
- 1
- 2
- 3
- 4
- 5
- 6
- 13
wxok
- 粉丝: 2
- 资源: 11
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
前往页