为了账号安全,请及时绑定邮箱和手机立即绑定
  • good
    查看全部
  • Model2的示例图
    查看全部
    0 采集 收起 来源:Model2模型介绍

    2016-10-11

  • Model1示例图
    查看全部
    0 采集 收起 来源:Model2模型介绍

    2016-10-11

  • 编写Servlet类 @CartServlet.java public CartServlet{ //重写doPost public void doPost(){ //判断购物动作,增加,显示,删除 1.得到数据 2.进而通过itemDao连接数据库得到goods对象 2.逻辑处理(添加购物车列表,传递值给session) 3.页面跳转 } //增加商品逻辑处理 private boolean addToCart(){ 1.得到购物车类型数据 3.判断是不是第一次给购物车添加商品 4.给购物类列表添加商品 5.传递值给session } } //添加商品进购物车的方法 private boolean addToCart(HttpServletRequest request, HttpServletResponse response) { String id = request.getParameter("id"); String number = request.getParameter("num"); Items item = idao.getItemsById(Integer.parseInt(id)); //是否是第一次给购物车添加商品,需要给session中创建一个新的购物车对象 if(request.getSession().getAttribute("cart")==null) { Cart cart = new Cart(); request.getSession().setAttribute("cart",cart); } Cart cart = (Cart)request.getSession().getAttribute("cart"); if(cart.addGoodsInCart(item, Integer.parseInt(number))) { return true; } else { return false; } }
    查看全部
  • Cart类为防止添加商品重复,重写了items类父类Object的hashCode的方法 @items public int hashCode() { return this.getId()+this.getName().hashCode(); } public boolean equals(Object obj) { if(this==obj) { return true; } if(obj instanceof Items) { Items i = (Items)obj; if(this.getId()==i.getId()&&this.getName().equals(i.getName())) { return true; } else { return false; } } else { return false; } } @Cart public boolean addGoodsInCart(Items item ,int number) { if(goods.containsKey(item)) { goods.put(item, goods.get(item)+number); } else { goods.put(item, number); } calTotalPrice(); //重新计算购物车的总金额 return true; }
    查看全部
  • @Items.java //重写toString() public String toString() { return "商品编号:"+this.getId()+",商品名称:"+this.getName(); } @Cart.java //遍历购物商品的集合 Set<Map.Entry<Items, Integer>> items= c.getGoods().entrySet(); for(Map.Entry<Items, Integer> obj:items) { System.out.println(obj); } Set <Map.Entry<Items,Integer>>items=c.getGoods().entrySet(); 解释: Map是java中的接口,Map.Entry是Map的一个内部接口。 Map提供了一些常用方法,如keySet()、entrySet()等方法。 keySet()方法返回值是Map中key值的Set集合;entrySet()的返回值也是返回一个Set集合,此集合的类型为Map.Entry。 Map.Entry是Map声明的一个内部接口,此接口为泛型,定义为Entry<K,V>。它表示Map中的一个实体(一个key-value对),接口中有getKey(),getValue方法。 因此Set<Map.Entry<Items,Integer>>也可以写成Set<Map<Items,Integer>
    查看全部
    0 采集 收起 来源:测试购物车类

    2018-03-22

  • //购物车类 public class Cart { //购买商品的集合 private HashMap<Items,Integer> goods; //购物车的总金额 private double totalPrice; //构造方法(此处省略,在编写时补上) //创建属性的get()和set()方法(此处省略,在编写时补上) //添加商品进购物车的方法 public boolean addGoodsInCart(Items item ,int number) { if(goods.containsKey(item)) { goods.put(item, goods.get(item)+number); } else { goods.put(item, number); } calTotalPrice(); //重新计算购物车的总金额 return true; } //删除商品的方法 public boolean removeGoodsFromCart(Items item) { goods.remove(item); calTotalPrice(); //重新计算购物车的总金额 return true; } //统计购物车的总金额 public double calTotalPrice() { double sum = 0.0; //【1.Set集合不能用for循环遍历,迭代器Iterator最好加泛型,利用迭代器遍历取值】 Set<Items> keys = goods.keySet(); //获得键的集合 Iterator<Items> it = keys.iterator(); //获得迭代器对象 while(it.hasNext()) { Items i = it.next(); sum += i.getPrice()* goods.get(i); } this.setTotalPrice(sum); //设置购物车的总金额 return this.getTotalPrice(); } }
    查看全部
  • 购物车类设计 (1)属性 1.购买商品集合 2.总金额 (2)方法 1.添加到购物车 2.从购物车中删除 3.计算总金额
    查看全部
  • 开发步骤: 1. 创建购物车类 2. 编写servlet 3. 创建页面层
    查看全部
  • tomcat
    查看全部
    0 采集 收起 来源:Tomcat容器等级

    2016-10-10

  • 1.客户端发送请求给服务器。 2.服务器开始接受,先判断该请求的servlet实例是否存在,如果不存在先装载一个servlet类并创建实例。如果存在则直接调用该servlet的service方法,之后进行判断是调用doGet方法还是doPost方法。 3.servlet创建实例后,调用init方法进行初始化。之后调用servce方法,判断是调用doGet方法还是doPost方法。 4.最后判断服务是否关闭,如果关闭则调用destroy方法。
    查看全部
  • 执行流程图
    查看全部
  • 执行流程
    查看全部
  • 执行流程和生命周期
    查看全部
  • Model2模型
    查看全部
    0 采集 收起 来源:Model2模型介绍

    2016-10-09

举报

0/150
提交
取消
课程须知
作为JSP课程的延续,希望小伙伴们学习本门课程前先完成《JAVA遇见HTML——JSP篇》课程的学习。为了更好的完成课程的阶段项目,JDBC的知识也是必备的。
老师告诉你能学到什么?
学习完本门课程,可以学习到以下内容: 1、掌握Servlet的结构和执行流程 2、掌握Servlet的生命周期 3、掌握Servlet在项目中的应用 4、使用MVC架构进行项目开发

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!