@snail-lb
2016-07-10T19:50:51.000000Z
字数 1003
阅读 1108
此购物网站是为了熟悉回顾JavaWeb开发的相关知识自己自己进行的训练,前后花费大概8天左右的时间,基本实现了购物网站的部分功能,包括登录注册、商品分页展示、商品购买、购物车的创建、订单的创建、商品点击量的排行等功能。
分页技术:在分页时除了使用分页查询之外,在最后一页中使用一种不存在的商品去填充未填满的页面,比如我有38个商品,每页显示6个,最后还剩下2个,如果没有填充,eclipse就会报错,产生空指针异常,所以我将最后的商品读取出来以后,将不满六个的商品用荷花图进行填充。这样就可以解决空指针异常问题。
购物车创建存储技术:当我们对某一个商品点击购买的时候,我们要将其加入到购物车中间去,但是这个信息我们必须要跨页面读取,所以常用的request技术不能使用,我们采取session存储,而且为了显示方便,我们使用model来进行存储,而不是用Map类型来存储。因为在购物车显示页面我们只需要显示商品编号,商品名称,以及购买的数量。如果使用Map存储,我们在几个页面都要在数据库中去查询商品的名称,这样应该会耗费较多的时间,所以我们采取Model进行存储。
订单创建以及邮件通知技术:因为我们要在购物车界面更改购买的商品数量,而且要计算总价,并且需要去除重复购买的商品,所以我们选择在进入购物车页面的时候就创建一个订单,并且将商品的数量默认设为1,在更改的时候直接修改订单中的数量就可以了。
商品点击次数记录技术:因为商品的点击次数我们是需要对所有的用户的点击进行记录,所以我们使用ServletContext对商品以及商品的点击次数进行存储,而且所有的点击次数的存储我们是放在文件系统中进行存储的,在servlet初始化的时候我们从文件中读取商品信息以及响应的点击次数。然后在servlet销毁的时候我们在讲商品信息以及改变后的点击次数进行存储。(为什么选择文件系统存储,而不是数据库:1、因为我想尝试一下在JavaWeb中对文件系统进行操作。 2、商品的每一次点击我们都要对这个数据进行修改,如果直接存储在数据库中,这样对数据库的操作次数太多了) 还有点击次数排名,这是对对象数组根据对象中某一值进行排序,之前还很少遇到过,也算一个难点。