购物车案例分析(初学三层架构)
2013-07-31 21:46
204 查看
备注:
具体实现的流程步骤!
构建JavaBean:对基本的数据进行封装!Book(书),Cart(购物车),CartItem(购物项(购物车里面的内容))等!起初只是定义用的到的数据,没有用到或者暂时没有想到的就先不定义。用到再定义!
构建数据库:BooDb,利用Map创建数据库(备注:有查询需求的时候选择Map<bookId,book>),并且添加数据!向外提供获取方法和查找的方法!备注:向外提供方法是因为没有用到JDBC,以后的话就不会需要了!
DAO层提供这两个方法!(注意对于Dao和Service层,包分为:接口包和实现包!)
Service层提供这两个方法!(注意:三层架构只能一层一层的调用,不可以跨层调用!)
Mvc层:主页面显示的ShowAllBooksServlet,获取数据,将其封装(attribute)。
跳转到listBooks jsp页面:进行显示!
用到了:EL表达式,JSTL循环遍历,链接等!
链接到购买的BuyServlet页面,传递参数(BookId),通过参数获取这本书,判断购物车是否存在:没有的话就创建购物车,将这本书添加上去并且保存购物车到session中去;有的话直接添加!
备注:
一个购买的链接所实现的操作:判断购物车是否存在,将书添加到购物车:addBook会添加到Cart的属性Map中去,还会进行判断(书之前是否已经存在,存在的话数量加1,不存在的话新建,数量设置为1)设置购物车的属性(进行页面的数据操作)备注:购物车的总价,数量与购物条目的总价,数量不一样!
跳转到listCart jsp页面:判断购物车中的属性Map是否存在(不是购物车是否存在,是判断购物车中是否有数据!)有的话进行迭代显示!
对于删除,清空等操作:注意使用了javascript语言,因为涉及二次提醒确认!
跳转到删除的deleteServlet(传递参数bookId),进行数据的操作,然后跳转回来!
对于清空,一样!都是利用Map自身的方法,将Map中的数据(购物车数据)删除,并不是将购物车删除!
对于数量一栏,设计为可以直接修改,在这个表格中加入input!注意数据的变化:而且,不能出现购买数量和金额不匹配的情况(增加数量,但是点击取消,付款的时候数量多了的情况下金额没有对应的增加!):进行二次判断,确认修改的话,将数据和金额全部变化,确保匹配!取消修改的话,将数据修改为原来的数据(参数列表传递参数过去!)
Servlet页面和Jsp页面的来回跳转(传递数据和进行数据的处理)
源码链接:http://pan.baidu.com/share/link?shareid=1773841009&uk=1261246294
相关文章推荐
- 网站登录案例分析(初学三层架构)
- day22 案例 发送邮箱激活码 & 购物车 分析
- 三层架构简单案例分析
- python 初学购物车小程序02
- 前端 jquery-ajax 的简单案例分析和总结
- Lock+Condition 相对于 wait+notify 的一个优势案例分析
- 北京爱酷T恤部落B2C电子商务网站改版 案例分析
- 日志分析一个案例
- 运动员和教练案例分析
- 购物车案例--张国亮--总结心得
- 案例分析:基于消息的分布式架构
- 最具戏剧性的分析诊断案例——十分钟锁定数据库性能“元凶”
- cpu占用100%案例分析
- 关于微软必应词典客户端的案例分析
- [置顶] Python时间序列案例分析实战--奶牛产奶量预测
- Discuz! X2二级域名|泛解析|绑定域名的方法案例分析- -图例分析及详细解析!!!
- 用android来实现图片的绘制以及旋转缩放案例分析
- 大型网站技术架构:核心原理与案例分析阅读笔记六
- 【个人作业3】必应词典案例分析
- bing词典案例分析