Java Web应用开发项目教程_第五章教学课件.ppt
《Java Web应用开发项目教程_第五章教学课件.ppt》由会员分享,可在线阅读,更多相关《Java Web应用开发项目教程_第五章教学课件.ppt(56页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Java Web应用开发项目教程_第五章Java Web应用开发计算机与软件学院王俊松第5章 购物车模块 本章要点 商品详细信息显示实现添加商品到购物车功能详细设计和实现显示购物车中的商品及金额修改购物车中的商品JSP的错误处理订单生成功能详细设计和具体实现第5章 购物车模块功能分析 会员在完成系统登录后,可以进行购物直至生成订单的一系列操作。第5章 购物车模块会员购物活动概图 5.1 商品详细信息展示功能说明 会员登录后,购物的操作入口是该件商品的详细信息页面,在该页面上有“放入购物车”操作功能。5.1 商品详细信息展示 流程分析及设计 数据库商品表操作类设计 在数据库商品信息表操作类Pro
2、ductDao中添加按商品编号查询单个商品信息的方法selectOneProducts,参数是商品编号。方法返回值是代表某件商品的GoodsEntity对象。可以使用该对象的getXxx方法获取各个字段的内容。5.1 商品详细信息展示 流程分析及设计 商品详细信息展示功能流程图 5.1 商品详细信息展示编程详解 创建showProductById.jsp,在页面中引入数据库商品信息表操作类ProductDao和实体类ProductEntity实现利用ProductDao的selectOneProducts方法从数据库中检索出会员想购买的商品,检索条件为商品编码,该商品编码通过页面请求参数获得。
3、5.1 商品详细信息展示编程详解 添加生成数据库商品信息表操作类ProductDao的对象,调用selectOneProducts方法检索商品信息放入ProductEntity对象goods中,查询条件是商品的id号。a href=#“onClick=window.open(showProductById.jsp?id=,width=500,height=200);查看详细内容5.1 商品详细信息展示编程详解 实现时将商品信息以提交表单的形式展现,而表单的提交按钮功能由页面上“放入购物车”链接实现,表单的action设为cartAdd.jsp input name=picture type=i
4、mage src=商品名称:input type=hidden name=goodsId value=/5.2 添加商品到购物车功能说明 点击“放入购物车”操作功能,开始该商品的购买流程,购物成功的页面。5.2 添加商品到购物车流程分析及设计购物车设计 购物车中的商品需要记录的只是商品的编号、商品出售的价格和数量,设计临时实体类CartGoods,该类对象代表会员购物车中的商品购买信息。5.2 添加商品到购物车添加商品到购物车功能流程5.2 添加商品到购物车编程详解 创建cartAdd.jsp,类Vector是java常用的集合类型,用于生成购物车,购物车里商品GoodsCart的实例对象是V
5、ector类实例中的元素,可以利用Vector类的方法方便的实现对购物车进行维护。5.2 添加商品到购物车编程详解 页面添加到购物车的商品信息、编号和价格是由页面goodsShowOne.jsp以form表单提交的,使用request对象的getParameter方法获取。int goodsID=Integer.parseInt(request.getParameter(goodsId);float goodsPrice=Float.parseFloat(request.getParameter(price);5.2 添加商品到购物车编程详解 生成临时实体类GoodsCart的实例对象并赋值,
6、此时系统设定商品的数量为1,此对象生成以后就准备好添加到购物车了。CartGoods cartGoods=new CartGoods();cartGoods.ID=goodsID;cartGoods.price=goodsPrice;cartGoods.number=1;将购物车以session的属性形式存放5.2 添加商品到购物车编程详解 将新生成的或修改过的购物车存放在session对象的属性中,然后使用JSP内置对象out在返回到客户端的页面上输出一段JavaScript代码,显示购物成功对话框,并将回到客户端的页面关闭。session.setAttribute(“_CART_,cart
7、);out.println(alert(购买商品成功!);window.close(););5.3 显示购物车功能说明在购物车显示页面中列表显示购物车中所选商品的信息:如果没有购买商品,系统显示“您还没有购物”提示。购物车页面上需要为会员提供继续购物、去收银台结账、清空购物车和修改某件购物车中商品的数量等功能。5.3 显示购物车显示购物车的页面预览如下图 5.3 显示购物车 流程分析及设计 购物车显示功能流程设计 进入购物车显示页面之前判断是否是已登录会员。在购物车显示页面中引入java实用工具类、代表会员所选商品的临时实体类和商品信息表操作类。从session中获取该会员专有的购物车,判断购
8、物车中有无商品,如果没有商品,页面给出提示信息,返回。依次取出会员购物车中的商品,并生成代表所选商品的临时实体类对象。5.3 显示购物车 流程分析及设计 购物车显示功能流程图 5.3 显示购物车 流程分析及设计 购物车显示设计遍历购物车,各商品的金额和总金额在购物车遍历中完成显示。设计关键是要提供可供会员修改商品数量的功能,需要将此信息在页面表单中显示,在会员需要修改商品数量时,以请求参数的形式提交给cartModify.jsp处理。5.3 显示购物车 流程分析及设计 购物车中商品数量修改设计 如果在本页面中实现对购物车中特定商品数量修改,则页面流程将比较复杂,也不利于将不同操作以模块化分离提
9、交给cartModify.jsp处理,由cartModify.jsp处理后再自动返回到本页面重新显示购物车。购物车链接修改设计 5.3 显示购物车编程详解创建cartShow.jsp,在页面中引入java实用工具类Vector和代表会员所选购商品信息的临时实体类GoodsCart,以及商品信息表操作类GoodsDao类。Vector类用于生成对象存放会员的购物车,GoodsCart用于存放遍历购物车中的商品购买信息,ProductDao类用于获取商品的其他信息。5.3 显示购物车编程详解使用session对象的getAttribute方法获取会员购物车,如果为空,说明会员到目前还没有选购商品,
10、系统也没有为该会员生成过购物车,此时页面显示“你还没有购物”提示信息,页面处理流程终止。您还没有购物!5.3 显示购物车编程详解当系统为该会员生成了购物车,表明会员必定在购物车中存有商品,此时,使用Vector类的实例cart存放此购物车;然后,将购物车中的商品逐一取出,放入购物车临时对象CartGoods类的实例中进行金额计算等处理。5.3 显示购物车编程详解%float sum=0;/商品总金额 Vector cart=(Vector)session.getAttribute(“_CAER_);for(int i=0;i5.3 显示购物车编程详解会员在确认目前购物车的商品后,进而可以采取下
11、一步继续购物、去收银台结账、清空购物车、修改数量等操作,页面设计相应的链接:继续购物|去收银台结账|清空购物车|修改数量 5.3 显示购物车与生成实例的关系 本质上是相同的,主要有两个方面的区别:1)JavaBean方式实例的作用域由scope指定的,不限于本JSP页面,而new方式生成的实例对象的作用域限制在本页面。2)使用new方式是一定会生成实例对象的,而使用则不一定。5.4 修改及清空购物车功能说明及页面流程在session对象中获取该会员原有的购物车,遍历购物车中的商品,并以从cartShow.jsp接收传来的表单元素中的商品数量为准,重新生成一个购物车,把原有商品逐一添加到新购物车
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java Web应用开发项目教程_第五章教学课件 Web 应用 开发 项目 教程 第五 教学 课件
限制150内