调用doget 及dopost 拿到购物车 判断
private IgoodsBiz goodsBiz=new GoodsBizImpl();
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// TODO Auto-generated method stub
doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// TODO Auto-generated method stub
//你是添加的哪件商品
int id=Integer.parseInt(req.getParameter("id"));
//拿到购物车
List<OrderItem> car=(List<OrderItem>)req.getSession().getAttribute("car");
//判断该都唔车中是否存在商品
boolean f=true;
for(OrderItem item:car) {
//item就是亲购物车中的订单项
if(item.getGoods().getId().equals(id)) {
f=false;
item.setQuantity(item.getQuantity()+1);
item.setTotal(item.getQuantity()*item.getGoods().getPrice());
break;
}
}
添加购物车
if(f) {
OrderItem item=new OrderItem();
Goods one=goodsBiz.getone(id);
item.setGoods(one);
item.setQuantity(1);
item.setTotal(one.getPrice());
car.add(item);
}
resp.sendRedirect("index.do");
绑定数据
${List }
<c:forEach items="${List}" var="goods">
<tr>
<td>${goods.id }</td>
<td>${goods.name }</td>
<td>${goods.describe}</td>
<td>${goods.price}</td>
<td>
<a href="addCar.do" class="btn btn-default">加入🚗</button>
</a>
</td>
</tr>
</c:forEach>
登陆面板
String account= req.getParameter("account");
String password=req.getParameter("password");
//三层架构:表示层(servlet)--》业务逻辑层(biz)--》数据库访问层(dao)
IuserBiz userBiz=new UserBizImpl();
User user=new User().setAccount(account).setPassword(password);
User u=userBiz.login(user);
if(u==null) {
//账号不对或者密码不对
resp.sendRedirect("login.jsp");
}
else {
resp.sendRedirect("index.do");
req.getSession().setAttribute("user", u);
//将购物车存到session
List<OrderItem> car=new ArrayList<OrderItem>();
req.getSession().setAttribute("car", car);
}