模块开发

1.  用户模块

password--MD5加密(16位或32位)

2.  产品模块

·浏览过的商品(ViewProductAction--使用cookie实现。特别注意先进先出原则,如用户可以看到过去浏览的10cookie,如果已经浏览a-b-c-d-e, 此时再浏览c,应将原来的ccookie清除。

·文件上传

对文件类型进行校验:图片格式校验 + 后缀名校验。

图片格式:图片太大时需进行压缩,jpgpnggif(非动画)。

存放文件夹最好不要存放太多文件。

3.  购物模块

·存放购物车

session存放。关闭窗口时,由于session随之关闭,导致原来购物车不可用。解决方法是:将cookie的有效期设为==session的有效期

Cookie cookie = new Cookie("JSESSIONID", request.getSession().getId());

cookie.setMaxAge(request.getSession().getMaxInactiveInterval());

4.  订购模块

·由formBean得到Gender类型值后,需要对其进行类型转换(GenderEnum型,定义请参考Enum.txt)。

Object convert(Object value){

    if(value instanceof Gender) return value; //如果是Gender类型,可以直接返回相应字符串

    try{

        return Gender.valueof((String)value);  //如果value不是Gender类型,将其转为字符串后,转换为相应gender

    } catch(Exception e){}

    return null;

}

·某些模块需要用户登陆,可以通过过滤器过滤相应请求(/customer/*)显示登陆界面。

购物车界面(shopping/cart) -> 结算,填写收货人信息(address) -> 确认购物信息(confirm) 此时更新购物车后,会重新显示收货人信息界面(address)。解决的方法是:在购物车界面加入参数directUrl(预先使用Base64进行编码,以防止由于特殊字符导致的路径出错问题),使其指向(confirm)界面。

String url = new String(Base64.encodeBase64(url.getBytes()));  //Base64.decodeBase64解码

5.  下订单

·OrderItem<订单项>不能与产品Product相关联,有可能会因为产品降价,而导致订单项中显示的某物品降价,使单价与总价不符,影响客户购物。

·订单号orderId一般使用String类型,而不是int

·订单项orderItem一定不要级联保存或删除订单Order。保存:会出现重复订单; 删除:删除单个订单明显不能将总订单删除。

·orderItemhashcodeitemid == null时,返回0。如果一个order有多个orderItem,会因为几个0值的出现,只保存一个orderItem,导致其他丢失。

自动生成:result = prime * result + ((itemid == null) ? 0 : itemid.hashCode());

修改为:  result = prime * result + ((itemid == null) ? super.hashCode() : itemid.hashCode());

·保存order时可以将原来注册时的buyercontact信息补全。注册时用户可能不会填写很多详细信息,但下订单收货时会填写地址,电话之类的信息,此时可将其同时保存到联系人相应的contact表中。

·order保存后,应将购物车从session中删除。

6.  订单模块

·订单分页列表

·订单信息浏览

·订单信息维护

·订单流转

7.  权限模块

采用领域建模:第一步开发实体。

数据库建模:第一步建立数据表。

·设计DAO

·设计业务bean(service)

·设计Action

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值