zoukankan      html  css  js  c++  java
  • 简单购物车

    实现的功能:

                1.显示所有物品        ShowBookServlet

                2.能把选中物品放到购物车中(客户端禁用Cookie的前提下,仍然可以使用)   BuyServlet

                3.显示购物车,并且有清除所选物品的功能     ShowCartServlet     ClearCartServlet

       

          

    ShowBookServlet.java
    BuyServlet.java
     1 import java.io.IOException;
     2 import java.io.PrintWriter;
     3 import java.util.ArrayList;
     4 import java.util.List;
     5 
     6 import javax.servlet.ServletException;
     7 import javax.servlet.http.HttpServlet;
     8 import javax.servlet.http.HttpServletRequest;
     9 import javax.servlet.http.HttpServletResponse;
    10 import javax.servlet.http.HttpSession;
    11 
    12 import com.itheima.domain.Book;
    13 import com.itheima.domain.BookDB;
    14 
    15 /**
    16  实现功能:将传送过来的书加入购物车
    17  
    18  功能分析:
    19         1.得到传送过来的参数,通过BookDB得到书
    20         2.得到session  不存在则创建并加入  存在则直接加入到ArrayList中
    21 */
    22 public class BuyServlet extends HttpServlet {
    23 
    24     public void doGet(HttpServletRequest request, HttpServletResponse response)
    25             throws ServletException, IOException {
    26         response.setContentType("text/html;charset=UTF-8");
    27         PrintWriter out = response.getWriter();
    28         
    29         //得到要买的书
    30         String id = request.getParameter("id");
    31         Book book = BookDB.findBookById(id);
    32         //向购物车中放书
    33         HttpSession session = request.getSession();
    34         List<Book> cart = (List<Book>) session.getAttribute("cart");//此处书不止一本且重复用ArrayList集合作为书的所选正合适
    35         if(cart==null){
    36             cart = new ArrayList<Book>();//第一次购物产生
    37             session.setAttribute("cart", cart);
    38         }
    39         //有购物车  
    40         cart.add(book);//作为引用不用刷新
    41         String url = request.getContextPath()+"/servlet/ShowBooksServlet";
    42         url = response.encodeURL(url);
    43         out.write("【"+book.getName()+"】已经放入您的购物车了!<a href='"+url+"'>继续购物</a>");
    44     }
    45 
    46     public void doPost(HttpServletRequest request, HttpServletResponse response)
    47             throws ServletException, IOException {
    48 
    49         doGet(request, response);
    50     }
    51 
    52 }
    ClearCartServlet
     1 import java.io.IOException;
     2 import java.io.PrintWriter;
     3 import javax.servlet.ServletException;
     4 import javax.servlet.http.HttpServlet;
     5 import javax.servlet.http.HttpServletRequest;
     6 import javax.servlet.http.HttpServletResponse;
     7 import javax.servlet.http.HttpSession;
     8 //清空购物车,重新购买
     9 public class ClearCartServlet extends HttpServlet {
    10 
    11     public void doGet(HttpServletRequest request, HttpServletResponse response)
    12             throws ServletException, IOException {
    13         response.setContentType("text/html;charset=UTF-8");
    14         PrintWriter out = response.getWriter();
    15         
    16         HttpSession session = request.getSession(false);
    17         if(session==null){
    18             out.write("你都没有购物车,你销个鬼");
    19             return;
    20         }
    21 //        session.invalidate();//太绝   会把全部的session 清空  不适合
    22         session.removeAttribute("cart");
    23         String url = request.getContextPath()+"/servlet/ShowBooksServlet";
    24         url = response.encodeURL(url);
    25         out.write("您的购物车清空完毕<br/><a href='"+url+"'>继续购物</a>");
    26         
    27     }
    28 
    29     public void doPost(HttpServletRequest request, HttpServletResponse response)
    30             throws ServletException, IOException {
    31 
    32         doGet(request, response);
    33     }
    34 
    35 }
    ShowCartServlet
     1 import java.io.IOException;
     2 import java.io.PrintWriter;
     3 import java.util.List;
     4 import javax.servlet.ServletException;
     5 import javax.servlet.http.HttpServlet;
     6 import javax.servlet.http.HttpServletRequest;
     7 import javax.servlet.http.HttpServletResponse;
     8 import javax.servlet.http.HttpSession;
     9 
    10 import com.itheima.domain.Book;
    11 //显示购物车中的商品
    12 public class ShowCartServlet extends HttpServlet {
    13 
    14     public void doGet(HttpServletRequest request, HttpServletResponse response)
    15             throws ServletException, IOException {
    16         response.setContentType("text/html;charset=UTF-8");
    17         PrintWriter out = response.getWriter();
    18         
    19         HttpSession session = request.getSession(false);//仅作查看
    20         if(session==null){
    21             out.write("对不起,您还没有买任何的东东");
    22             return;
    23         }
    24         List<Book> cart = (List<Book>)session.getAttribute("cart");
    25         //此处在移除后cart的值为空,若是cart.size()在前 则会出现NullPointerException
    26         if(cart==null||cart.size()<1){
    27             out.write("对不起,您还没有买任何的东东");
    28             return;
    29         }
    30         String url0 = request.getContextPath()+"/servlet/ClearCartServlet";
    31         url0 = response.encodeURL(url0);
    32         out.write("您购买的商品如下:<a href='"+url0+"'>清空购物车</a><br/>");
    33         for(Book b:cart){
    34             out.write(b.getName()+"<br/>");
    35         }
    36         String url = request.getContextPath()+"/servlet/ShowBooksServlet";
    37         url = response.encodeURL(url);
    38         out.write("<br/><a href='"+url+"'>继续购物</a>");
    39     }
    40 
    41     public void doPost(HttpServletRequest request, HttpServletResponse response)
    42             throws ServletException, IOException {
    43 
    44         doGet(request, response);
    45     }
    46 
    47 }
  • 相关阅读:
    Linux下视频采集及其显示
    编译webcam_server
    mjpgstreamer
    linux下ffmpeg的安装
    armlinuxgcc的命令参数介绍
    ADS1.2如何生成BIN文件
    OpenJTAG下载bootloader 备忘
    Android 3.0 以下 使用Fragment 实例
    Dialog 学习备忘
    CentOS安装wsgi
  • 原文地址:https://www.cnblogs.com/nauy/p/2831641.html
Copyright © 2011-2022 走看看