session_cart

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");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值