package www.stx.servlet;
import www.stx.biz.IGoodsBiz;
import www.stx.biz.ippl.GoodsBizImpl;
import www.stx.pojo.Goods;
import www.stx.pojo.OrderItem;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
//购买商品
@WebServlet("/add.do")
public class AddServlet extends HttpServlet {
private IGoodsBiz GoodsBiz = new GoodsBizImpl();
int j=1010;
int i=0;
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
/**
* 1.获取前端传来的信息
* 2.插入商品id,用户id 到 购物车表里
*
*
*/
//购物车在哪里?
List<OrderItem> car = (List<OrderItem>) req.getSession().getAttribute("car");
if (car == null) {
// 如果购物车为空,则进行初始化
car = new ArrayList<>();
req.getSession().setAttribute("car", car);
}
//是哪件商品?需要用户带一个商品的id
String submitId = req.getParameter("submitId");
//购物车中已经有了,数量+1
boolean f = true;
try {
// 可能抛出空指针异常的代码
for (OrderItem item : car) {
// item就是订单项,订单项中有一个与他对应的商品
if (item.getGoods().getId().equals(Integer.parseInt(submitId))) {
//数量+1
item.setQuantity(item.getQuantity() + 1);
//价格需要重新计算
item.setTotal(item.getQuantity() * item.getGoods().getPrice());
f = false;
break;
}
}
//购物车中没有,添加购物车
if (f) {
//生成了订单项
OrderItem item = new OrderItem();
//根据商品的id去数据库查出这件商品
Goods one = GoodsBiz.one(Integer.parseInt(submitId));
item.setId(i++);
item.setOrderId(j++);
item.setGoods(one);
item.setQuantity(1);
item.setTotal(one.getPrice());
//添加订单项到购物车
car.add(item);
}
req.getSession().setAttribute("total", car.stream()
.mapToDouble(OrderItem::getTotal)
.sum());
} catch (NullPointerException e) {
e.printStackTrace(); // 处理空指针异常
}
finally {
//返回首页
resp.sendRedirect("index.do");
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
购物系统,用户可以购买喜欢的商品 (277个子文件)
AddServlet.class 4KB
AddServlet.class 4KB
OrderItemDaoImpl.class 4KB
OrderItemDaoImpl.class 4KB
OrderDaoImpl.class 3KB
OrderDaoImpl.class 3KB
UpdServlet.class 3KB
UpdServlet.class 3KB
DelServlet.class 3KB
DelServlet.class 3KB
RegisterServlet.class 3KB
RegisterServlet.class 3KB
CalcServlet.class 3KB
CalcServlet.class 3KB
GoodsDaoImpl.class 3KB
GoodsDaoImpl.class 3KB
LoginFilter.class 3KB
LoginFilter.class 3KB
LoginServlet.class 2KB
LoginServlet.class 2KB
OrderItem.class 2KB
OrderItem.class 2KB
UserDaoImpl.class 2KB
UserDaoImpl.class 2KB
OrderServlet.class 2KB
OrderServlet.class 2KB
ItemServlet.class 2KB
ItemServlet.class 2KB
Goods.class 2KB
Goods.class 2KB
JDBCUtil.class 2KB
JDBCUtil.class 2KB
IndexServlet.class 2KB
IndexServlet.class 2KB
User.class 1KB
User.class 1KB
Order.class 1KB
Order.class 1KB
ClearServlet.class 1KB
ClearServlet.class 1KB
OrderBizImpl.class 1KB
OrderBizImpl.class 1KB
OrderItemBizImpl.class 990B
OrderItemBizImpl.class 990B
UserBizImpl.class 898B
UserBizImpl.class 898B
test.class 811B
test.class 811B
GoodsBizImpl.class 756B
GoodsBizImpl.class 756B
IOrderDao.class 357B
IOrderBiz.class 357B
IOrderDao.class 357B
IOrderBiz.class 357B
IOrderItemDao.class 329B
IOrderItemBiz.class 329B
IOrderItemDao.class 329B
IOrderItemBiz.class 329B
IGoodsDao.class 250B
IGoodsBiz.class 250B
IGoodsDao.class 250B
IGoodsBiz.class 250B
IUserDao.class 168B
IUserBiz.class 168B
IUserBiz.class 168B
IUserDao.class 168B
style.css 6KB
111.css 738B
111.css 738B
02.gif 1015KB
02.gif 1015KB
02.gif 1015KB
book_05.gif 7KB
book_02.gif 7KB
book_03.gif 7KB
book_10.gif 7KB
book_08.gif 7KB
book_04.gif 7KB
success_ico.gif 7KB
book_09.gif 7KB
book_06.gif 6KB
book_01.gif 6KB
book_07.gif 5KB
button_reg.gif 3KB
button_shop.gif 3KB
button_login.gif 2KB
button_login副本.gif 2KB
logo.gif 2KB
button_register.gif 2KB
login_lock.gif 1KB
button_gray_bg.gif 722B
step_arrow_past.gif 605B
step_arrow.gif 260B
.gitignore 190B
111.html 692B
111.html 692B
xuwansan.iml 1KB
ojdbc6.jar 2.61MB
ojdbc6.jar 2.61MB
AddServlet.java 3KB
共 277 条
- 1
- 2
- 3
资源评论
2301_77112932
- 粉丝: 1
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功