products.jsp
<body>
<h3>本网站出售如下商品 </h3>
C罗必杀技 : <a href="/d_session/buy?id=1">购买</a><br/>
夏天来了,你懂得 : <a href="/d_session/buy?id=2">购买</a><br/>
无极剑 : <a href="/d_session/buy?id=3">购买</a><br/>
windows系统开发原理 : <a href="/d_session/buy?id=4">购买</a><br/>
鸟哥来啦 : <a href="/d_session/buy?id=5">购买</a><br/>
<hr/>
<a href="/d_session/cart.jsp">查看购物车</a>
<hr/>
<br/>
<a href="/d_session/clearcart">清空购物车</a>
</body>
BuyServlet doGet
// 获得书id
String id = request.getParameter("id");
String[] bookNames ={"C罗必杀技","夏天来了,你懂得","无极剑","Windows系统开发原理","鸟哥来啦"};
String bookName = bookNames[Integer.parseInt(id)-1];
// 获得购物车
Map<String,Integer> cart = (Map<String, Integer>) request.getSession().getAttribute("cart");
if(cart==null){
cart = new HashMap<String, Integer>();
}
if(cart.containsKey(bookName)){
//之前购买过这本书, 获得原有数量, 然后+1
Integer count = cart.get(bookName);
cart.put(bookName, count+1);
}else{
cart.put(bookName, 1);
}
request.getSession().setAttribute("cart", cart);
response.setContentType("text/html;charset=utf-8");
response.getWriter().print("添加商品到购物车成功.... <a href='/d_session/products.jsp'>继续购买</a>");
cart.jsp
<body>
<a href="/d_session/clearcart">清空购物车</a>
<%
//获得购物车
Map<String,Integer> cart =(Map<String,Integer>) request.getSession().getAttribute("cart");
if(cart==null){
out.print("您还没有购买任何商品... <a href='/d_session/products.jsp'>去购买</a>");
}else{
//取出商品信息
Set<String> keys = cart.keySet();
out.print("哥们, 您 购买的商品 有 : <br/>");
for(String key: keys){
Integer count = cart.get(key);
out.print("商品名称 : " + key + ", 数量: " +count +"<br/>");
}
}
%>
ClearCartServlet doGet
// request.getSession().invalidate();
request.getSession().removeAttribute("cart"); response.sendRedirect(request.getContextPath()+"/cart.jsp");