简单购物车添加商品的实现

(1)完成购物车添加商品的功能,我们在新创建的一个Servlet中只执行doget方法就够了
(2)在doget方法中,我们使用了表单<form>,同时我们在表单中使用了<input type='submit' name='name' value='aaa'>,为什么不是用
button呢?是因为使用submit可以当我们按按钮时,他可以再次将我们的表单提交,而在一次的表单提交又使我们再次回到了doget方法,所以实现了当我们点击添加时,就会产生一个随机商品号加入到购物车当中,而button却不能,实现的代码如下:

 

out.println("<form action='ShopServlet' method='get'>");
out.println("</p>您愿意:</p>");
out.println("<input type='hidden' name='name' value='lirui'>");
out.println("<input type='button' value="+"添加商品"+">");
out.println("</form>"); //ou为PrintWriter类型的对象

 

注:action表示将表单提交到哪一个Servlet或者是某个html页面中的doget方法中

      hidden可以将我们表单提交的内容隐藏,如果我们直接使用type='text',将会显示我们的value,这在一些情况下是不需要, 所以我们使用了hidden,分别显示的效果如下:


使用了hidden


简单购物车添加商品的实现
           

使用了text


简单购物车添加商品的实现
     

 

不仅效果不一样,而且hidden可以帮我们传输信息,而text不会,就不能实现添加商品的功能了

 

(3)我们在第一次执行doget时,因为String name=request.getParameter("name");在以上代码
的前面,所以我们第一次得到name的值为null,此时我们产生了判断的分支:
 

  if(name==null){
       out.println("<p>购物车为空</p>");
  }else if("lirui".equals(name)){
      buf.append("<li>商品"+num+"</li>");//num为产生的随机数
      out.println(buf);//其中的buf为我们定义的StringBuffer类型
  }

 

  

(4)一开始购物车为空,路径显示为http://localhost:8080/ShopCar/ShopServlet
我们除了可以在out.println("<input type='hidden' name='name' value='lirui'>");中定义name和他的value之外,还可以直接在路径中输入
http://localhost:8080/ShopCar/ShopServlet?name=lirui,就相当于按了添加的按钮,商品就增加了

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(购物车)