您的位置:首页 > 运维架构 > 网站架构

购物车案例分析(初学三层架构)

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: