设计一个简单的购物车程序

【问题描述】

网上购物时目前非常流行的购物方式,二购物车是网上购物系统必需的构件。

设计一个简单的购物车程序。 该案例提供了两类不同的商品,不同类型的商品需要在不同的网页上浏览,并添加到购物车中,最后显示购物车中所选购的商品。

【分析】

从所给出的需求分析,该系统需要3个页面,并且三个页面共享购物信息,直到购物结束。显然,该购物过程是在session范围内完成的,需要使用session对象实现信息的共享。

【代码编写】

分为两个选购页面(meat和ball),一个显示购物车信息页面(display)

meat的主要代码

     
     各种大肉大甩卖,一律1块,买一送一啦!!!:<br>
     <form action="meat.jsp" method="post">
        <p> <input type="checkbox" name="c1" value="回锅肉">回锅肉&nbsp;
            <input type="checkbox" name="c2" value="东坡肉">东坡肉&nbsp;
             <input type="checkbox" name="c3" value="五花肉">五花肉&nbsp;
        </p>
        <p> <input type="submit" value="提交" name="B1">
           <a href="ball.jsp">买点别的吧!</a> &nbsp;
           <a href="display.jsp">查看购物车</a> 
        </p>

运行结果:

ball的主要代码

   
     各种球类大甩卖,清仓啦!买二送一啦!!!:<br>
     <form action="ball.jsp" method="post">
        <p> <input type="checkbox" name="b1" value="篮球">篮球&nbsp;
            <input type="checkbox" name="b2" value="足球">足球&nbsp;
             <input type="checkbox" name="b3" value="羽毛球">羽毛球&nbsp;
        </p>
        <p> <input type="submit" value="提交" name="x1">
           <a href="meat.jsp">买点别的吧!</a> &nbsp;
           <a href="display.jsp">查看购物车</a> 
        </p>
      </form>

运行结果:

display的主要代码

 加入购物车的东西是:<br>
   <% request.setCharacterEncoding("utf-8");
     String str="";
     if(session.getAttribute("s1")!=null){
      str=(String)session.getAttribute("s1");
      out.println(str+"<br>");
      }
      if(session.getAttribute("s2")!=null){
      str=(String)session.getAttribute("s2");
      out.println(str+"<br>");
      }
      if(session.getAttribute("s3")!=null){
      str=(String)session.getAttribute("s3");
      out.println(str+"<br>");
      }
      if(session.getAttribute("s4")!=null){
      str=(String)session.getAttribute("s4");
      out.println(str+"<br>");
      }
      if(session.getAttribute("s5")!=null){
      str=(String)session.getAttribute("s5");
      out.println(str+"<br>");
      }
      if(session.getAttribute("s6")!=null){
      str=(String)session.getAttribute("s6");
      out.println(str+"<br>");
      }
    %>

总结:其中主要用到的是sessiond的两种对象方法以及request方法

Object getAttribute(String attribute)   用于获取指定名字的属性

void setAttribute(String name,Object value) 用于设定指定名字的属性值,并把它存储在session对象中

原文地址:https://www.cnblogs.com/ljp-yuban/p/7658484.html