关闭

J2EE开发 MVC 电子商务网站

445人阅读 评论(0) 收藏 举报
分类:

之前接了学校里某位老师的活,要做一个类似于当当网的在线书城电商,最近自己用J2EE MVC把这个项目的后台全部开发完了。确实在做这个项目的过程中学到不少。

源码就不贴了。

说说设计,说说JSP干货,说说一些业务逻辑的解决方案。


整个工程分为5个包(可以无视调试用的test包)

controller 控制器 里面都是servelt

dao 数据访问层 里面有数据访问接口的定义,其中还分一个impl包,包含数据访问接口的具体实现,主要通过连接服务器数据库实现。供上层业务逻辑层调用。

domain 域模型层 里面都是javabean

service 业务逻辑层  在此层中通过调用dao层的数据访问方法,实现具体的业务逻辑

util 通用方法 里面有一个DBHelp,用来封装对于数据库的表的增删改查操作


接下来说一下JSP的几个重要的内置对象

 1.Session

         通过这个项目,我理解了Session对象的好处。

        百度百科如是说:Session 是 用于保持状态的基于 Web服务器的方法。Session 允许通过将对象存储在 Web服务器的内存中在整个用户会话过程中保持任何对象。

        在用户登录成功之后,因为订单显示,订单结算一些地方都需要用户的信息,这时,把用户的bean放在Session里,可以是状态保持,用户的数据可以容易的取出来供之后的业务逻辑用。同理用户购物车中的信息也放在Session中。

2.HashMap

       在电商网站中,不得不离开的就是购物车。

      在这个项目中,我使用HashMap记录购物车的数据。当用户每添加一件商品进入购物车的时候,先判断HashMap中是否已有了此商品,如果没有HashMap put一次,如果有了,在将购物车中对应的商品数量加一。在用户每次修改购物车中的商品数量完毕后,HashMap随之变化。


之后,说一下一些其他的相关解决方案。

1.订单结算页 总金额随商品数量即使更新。

        我的方法是,给商品数量那里的html元素加一个name,使用js控制当数量增或者减被点击的时候,document.getElementByName取出每一行中数量元素构成的数组,获取元素中的值,计算加和乘,将结果随之付给表示总金额的HTML元素。

2.订单信息表设计。

       因为一个订单中,用户可以购买不同种类不同数量的商品。在此,我使用两张表记录。

     第一张表为订单概要信息。如 总金额,用户,付款状态,下单时间。

   随之会有一个订单记录的ID号,

   在第二张表中,记录订单ID,商品ID,商品数量。

这样,通过两张表的结合,可以减少数据冗余。


通过这个项目,体会到了MVC模式的好处,在添加新功能或者业务分离方面十分方便。

接下来准备开发自己的博客,论坛,甚至自己的电商平台。

加油



0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:68096次
    • 积分:2928
    • 等级:
    • 排名:第12007名
    • 原创:233篇
    • 转载:6篇
    • 译文:0篇
    • 评论:17条