Servlet简易购物车

来源:互联网 发布:淘宝多久可以追加评论 编辑:程序博客网 时间:2024/05/21 21:20
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

public class ShoppingServlet extends HttpServlet {
private BookinfoImpl dao;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
HttpSession session = request.getSession();
boolean flag = false;//没买过的

int bookid = 1;
if(request.getParameter("bookid")!=null){
bookid = Integer.parseInt(request.getParameter("bookid"));//接收用户想加入到购物车的书
}

dao = new BookinfoImpl();
Bookinfo bookinfo  = dao.getbookinfo(bookid);//要买的商品

//第一次从购物车中拿 ,一定是空的的null
List<Item> items = (List)session.getAttribute("shopingcar");
if(items == null){//还没有购物车,实例化一个集合,准备放session购物车
items = new ArrayList<Item>();
}

//if(){//是删除
// items.remove();//循环中找到这个书,再删除它
//}else{//是添加修改
//session里面没有就添加,有就修改数量
for(int i = 0;i<items.size();i++){
Item item = items.get(i);
if(item.getBookinfo().getBookid()==bookid){//已经买过的
item.setAccount(item.getAccount()+1);
flag = true;//有相同的
items.set(i,item);//替换,放入数量修改后的商品
break;
}
}

if(flag==false){//没买过的
Item item = new Item();//商品清单
item.setAccount(1);//默认一件
item.setBookinfo(bookinfo);
items.add(item);//放一个新商品
}
//}

//放到session购物车里面:
session.setAttribute("shopingcar", items);
response.sendRedirect("shopingcar.jsp");//去购物车页面显示
}


public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}


}
0 0
原创粉丝点击