资源描述
快乐买网上商城详细设计说明书
0. 导言
0.1 目的
本文档的目的是描述快乐买网上商城项目的详细设计,其主要内容包括:
系统功能简介
系统详细设计简述
在SSH框架下各个模块的分层结构
本文档的预期读者是:
设计人员
开发人员
项目管理人员
测试人员
0.2 范围
该文档定义了系统的各个模块和模块接口,但未确定单元的具体实现,这部分内容将在编码实现中确定。
0.3 引用标准
[1] 《企业文档格式标准》V1.1, XXX软件有限公司。
[2] 《软件详细设计报告格式标准》V1.1,XXX软件有限公司软件工程过程化组织
0.4 参考资料
[1] 《实战Struts》,Ted Husted,机械工业出版社
[2] 《Spring Live》,Matt Raible,
0.5 版本更新信息
本文档版本更新记录如表C-1所示:
表C-1 版本更新记录
修改编号
修改日期
修改后版本
修改位置
修改内容概述
000
2015-2-18
0.1
全部
初始发布版本
1. 系统设计概述
根据快乐买网上商城系统的概要设计,系统分前台业务和后台业务,
前台业务是针对终端用户使用,用户注册成网站会员后可以浏览商品,选购商品,秒杀商品等。访问个人中心还可以管理个人信息,购物车和订单。其功能模块如下图所示:
后台业务是针对管理员用户使用,管理员登录后台系统后可以对系统基本资料进行管理,如商品管理,用户管理,管理员账户管理,订单管理,评价管理等。其功能模块如下图所示:
2. 详细设计概述
本系统采用了SSH框架体系结构的设计,在整个开发过程中,尽可能采用复用的原则,例如使用工厂模式,JAVA反射机制达到统一数据库操作,统一结果显示等。
本文档的详细设计主要是按照SSH框架对视图层JSP、控制器Struts、业务层Spring和持久层Hibernate进行约定,为下一步的编码提供基础。
3. 详细设计
系统前台业务实现
3.1用户注册模块
用户注册模块负责前台用户成为网站会员,注册成功的用户信息添加到users表中
3.1.1 实现流程图
3.1.2 输入输出规则
用户注册模块输入输出规则
模块名称
用户注册
功能描述
用户注册成功后允许登录系统并享有注册用户的权限
用户角色
游客
模块触发条件
打开首页选择“立即注册”
输入规则
输入用户基本信息。要求符合格式,另外账号不能重复,邮箱不能重复
输出结果
注册成功后打开登录界面
关键算法
1.查询数据中是否存在相同的账号和邮箱
2.格式验证
3.验证码的生成和验证
数据库操作
查询用户表,增加用户信息
3.1.3视图层、Action、业务层、数据持久层的说明
视图
Action/Servlet
业务层(biz)
数据持久层(dao)
register.jsp
index.jsp
header.jsp
footer.jsp
UserAction.java
ValidateCodeServlet.java
IUserBiz.java
UserBizImpl.java
IUserDao.java
UserDaoImpl.java
视图层页面设计
界面
JSP
功能描述
注册界面
register.jsp
登录主页面
首页
index.jsp
前台首页面,包括header.jsp和footer.jsp,是为了网站统一风格
页面上端
header.jsp
复用页面,记载用户登录信息及个人信息维护菜单以及网站Logo等信息
页面尾端
footer.jsp
复用页面,显示广告及友情链接信息
Action/Servlet设计
Action/Servlet
入口
方法
出口
UserAction
register.jsp
execute() ()
成功:login.jsp
失败:register.jsp
ValidateCodeServlet
register.jsp
doPost()
输出验证码
业务层设计
业务接口
本模块业务方法
方法说明
IUserBiz.java
public void saveUser(Users user);
接收用户对象,将用户对象信息保存到数据库
UserBizImpl.java
public void saveUser(Users user)
写具体的HQL语句,调用Dao层方法
数据持久层设计
持久层接口
基类接口
接口说明
IUserDao.java
IGenericDao
基类接口应用泛型和反射机制,对数据的操作进行统一处理,无需各持久层接口设计方法。
UserDaoImpl
IUserDao
AGenericHibernateDao
UserDaoImpl继承AgenericHibernateDao类,实现IUserDao接口
3.1.4 功能实现时序图
3.2 用户登录模块
用户登录是针对已注册的用户,登录成功后,注册用户获得购物交易的相应权限。
3.2.1 实现流程图
3.2.2 输入输出规则
登录模块输入输出规则
模块名称
登录
功能描述
用户登录系统以达到注册用户的系统权限
用户角色
注册用户
模块触发条件
直接选择登录或在将商品加入购物车时转向登录
输入规则
按照注册时输入的用户名和密码及随机验证码。可以选择两周内自动登录,则用户名和密码将存入cookie;如果不选将用户对象存入session
输出结果
登录成功后打开首页,登录用户信息存放在cookie中或者是session中,用户可以进行购买商品或对自己的信息进行维护。
关键算法
1.查询数据库中用户名和密码
2.验证码的生成和验证
3.两周内自动登录的选择
4.根据用户ID获得用户默认收货地址
数据库操作
查询用户表
3.2.3视图层、Action、业务层、数据持久层的说明
视图
Action/Servlet
业务层(biz)
数据持久层(dao)
login.jsp
index.jsp
header.jsp
footer.jsp
UserAction.java
ValidateCodeServlet.java
IUserBiz.java
UserBizImpl.java
IReceiverBiz.java
RecieverBizImpl.java
IUserDao.java
UserDaoImpl.java
IReceiverDao.java
RecieverDaoImpl.java
视图层页面设计
界面
JSP
功能描述
登录界面
login.jsp
登录主页面
首页
index.jsp
前台首页面,包括header.jsp和footer.jsp,是为了网站统一风格
页面上端
header.jsp
复用页面,记载用户登录信息及个人信息维护菜单以及网站Logo等信息
页面尾端
footer.jsp
复用页面,显示广告及友情链接信息
Action/Servlet设计
Action/Servlet
入口
方法
出口
UserAction
login.jsp
UserLogin()
成功:index.jsp
失败:login.jsp
ValidateCodeServlet
login.jsp
doPost()
输出验证码
业务层设计
业务接口
本模块业务方法
方法说明
IUserBiz.java
public Users CheckLogin(final String username,final String password);
接收用户名和密码查询数据库返回Users对象
UserBizImpl.java
public Users CheckLogin(final String username,final String password);
写具体的HQL语句,调用数据持久层方法
数据持久层设计
持久层接口
基类接口
接口说明
IUserDao.java
IGenericDao
基类接口应用泛型和反射机制,对数据的操作进行统一处理,无需各持久层接口设计方法。
UserDaoImpl.java
IUserDao
AGenericHibernateDao
UserDaoImpl继承AgenericHibernateDao类,实现IUserDao接口
3.2.4 功能实现时序图
3.3 商品搜索-品牌检索
用户可以根据网站列出的鞋子品牌、款式进行快速搜索鞋子。还可以根据商品名字进行模糊搜素。另外可以根据尺码、版型、颜色、品牌进行综合搜索。搜索到的鞋子以列表形式分页显示,可以对两个及两个以上鞋子进行对比,可以查看某个鞋子的详细信息。
本环节首先说明品牌搜索实现过程
3.3.1 品牌搜索实现流程图
3.3.2 品牌搜索输入输出规则
商品品牌搜索显示输入输出规则
模块名称
商品品牌搜索显示
功能描述
根据商品品牌搜索鞋子
用户角色
注册用户或游客
模块触发条件
打开网站首页
输入规则
用鼠标单击品牌链接
输出结果
显示同一品牌的所有鞋子列表
关键算法
1.品牌列表链接具备性别和品牌名称参数
2.Action中获取到性别及品牌名称,根据性别和品牌名称查找Shoes表
数据库操作
查询brands表和shoes表
3.3.3视图层、Action、业务层、数据持久层的说明
视图
Action/Servlet
业务层(biz)
数据持久层(dao)
left_menu.jsp
search.jsp
ShoesAction.java
IShoesBiz.java
ShoesBizImpl.java
IShoesDao.java
ShoesDaoImpl.java
视图层页面设计
界面
JSP
功能描述
首页左侧品牌导航页面
left_menu.jsp
列出品牌,款式及定制链接
搜索结果页面
Search.jsp,其中包含search_result.jsp
根据前置条件将搜索结果列表显示
Action/Servlet设计
Action/Servlet
入口
方法
出口
ShoesAction
left_menu.jsp
SearchShoesByGenderBrand()
search_result.jsp
业务层设计
业务接口
本模块业务方法
方法说明
IShoesBiz.java
public PageBean SearchShoesByGenderBrand(final String brandName,final String gender,final int currentPage,final int pageSize)
根据品牌名字,性别,当前页数和每页记录数查询数据库中鞋子信息返回分页信息。
ShoesBizImpl.java
public PageBean SearchShoesByGenderBrand(final String brandName,final String gender,final int currentPage,final int pageSize)
写具体的HQL语句,调用数据持久层findByPageBean()方法
数据持久层设计
持久层接口
基类接口
接口说明
IShoeDao.java
IGenericDao
获取分页信息的统一方法
public PageBean findByPageBean(final String hql,final Object[] param,final int currentpage,final int pageSize);
ShoesDaoImpl.java
IShoesDao
AGenericHibernateDao
ShoesDaoImpl继承AgenericHibernateDao类,实现IShoesDao接口
3.3.4 功能实现时序图
3.4 商品搜索-款式检索
3.4.1 款式搜索实现流程图
3.4.2 款式搜索输入输出规则
商品款式搜索显示输入输出规则
模块名称
商品款式搜索显示
功能描述
根据商品款式搜索鞋子
用户角色
注册用户或游客
模块触发条件
打开网站首页
输入规则
用鼠标单击款式链接
输出结果
显示同一款式的所有鞋子列表
关键算法
1.款式列表链接具备款式名称参数
2.Action中获取到款式名称,根据款式名称查找Shoes表
数据库操作
查询types表和shoes表
3.4.3视图层、Action、业务层、数据持久层的说明
视图
Action/Servlet
业务层(biz)
数据持久层(dao)
left_menu.jsp
search.jsp
ShoesAction.java
IShoesBiz.java
ShoesBizImpl.java
IShoesDao.java
ShoesDaoImpl.java
视图层页面设计
界面
JSP
功能描述
首页左侧品牌导航页面
left_menu.jsp
列出品牌,款式及定制链接
搜索结果页面
Search.jsp,其中包含search_result.jsp
根据前置条件将搜索结果列表显示
Action/Servlet设计
Action/Servlet
入口
方法
出口
ShoesAction
left_menu.jsp
SearchShoesByTypes()
search.jsp
业务层设计
业务接口
本模块业务方法
方法说明
IShoesBiz.java
public PageBean SearchShoesByTypes(final String typename,final int currentPage,final int pageSize);
根据款式名称,当前页数和每页记录数查询数据库中鞋子信息返回分页信息。
ShoesBizImpl.java
public PageBean SearchShoesByTypes(final String typename,final int currentPage,final int pageSize);
写具体的HQL语句,调用数据持久层findByPageBean()方法
数据持久层设计
持久层接口
基类接口
接口说明
IShoeDao.java
IGenericDao
获取分页信息的统一方法
public PageBean findByPageBean(final String hql,final Object[] param,final int currentpage,final int pageSize);
ShoesDaoImpl.java
IShoesDao
AGenericHibernateDao
ShoesDaoImpl继承AgenericHibernateDao类,实现IShoesDao接口
3.4.4 功能实现时序图(同3.3.4)
3.5 商品搜索-根据商品名和产地模糊检索
3.5.1 模糊搜索实现流程图
3.5.2 模糊搜索输入输出规则
商品模糊搜索显示输入输出规则
模块名称
商品名称模糊搜索显示
功能描述
根据商品名称,产地搜索鞋子
用户角色
注册用户或游客
模块触发条件
打开网站首页
输入规则
输入商品名称或产地关键字,并选择男款还是女款
输出结果
显示包含名称或产地关键字的所有鞋子列表
关键算法
1. 获取表单鞋子名称或产地关键字及性别
2. Action中获取关键字和性别
3. 业务层根据关键字和性别查询Shoes表
数据库操作
查询shoes表
3.5.3视图层、Action、业务层、数据持久层的说明
视图
Action/Servlet
业务层(biz)
数据持久层(dao)
header.jsp search.jsp
ShoesAction.java
IShoesBiz.java
ShoesBizImpl.java
IShoesDao.java
ShoesDaoImpl.java
视图层页面设计
界面
JSP
功能描述
网站头部独立页面
header.jsp
接收关键字和性别选择
搜索结果页面
Search.jsp,其中包含search_result.jsp
根据前置条件将搜索结果列表显示
Action/Servlet设计
Action/Servlet
入口
方法
出口
ShoesAction
header.jsp
FuzzySearch()
search.jsp
业务层设计
业务接口
本模块业务方法
方法说明
IShoesBiz.java
public PageBean FuzzySearch(Object[] params,final int currentPage,final int pageSize);
根据鞋子名称,产地关键字及性别,当前页数和每页记录数查询数据库中鞋子信息返回分页信息。
ShoesBizImpl.java
public PageBean FuzzySearch(Object[] params,final int currentPage,final int pageSize);
写具体的HQL语句,调用数据持久层findByPageBean()方法
数据持久层设计
持久层接口
基类接口
接口说明
IShoeDao.java
IGenericDao
获取分页信息的统一方法
public PageBean findByPageBean(final String hql,final Object[] param,final int currentpage,final int pageSize);
ShoesDaoImpl.java
IShoesDao
AGenericHibernateDao
ShoesDaoImpl继承AgenericHibernateDao类,实现IShoesDao接口
3.5.4 功能实现时序图(同3.3.4)
3.6 商品搜索-根据尺码,版型,颜色,品牌综合检索
3.6.1 综合搜索实现流程图
3.6.2 综合搜索输入输出规则
商品综合搜索显示输入输出规则
模块名称
商品综合搜索显示
功能描述
根据鞋子尺码,版型,颜色,品牌搜索鞋子
用户角色
注册用户或游客
模块触发条件
打开网站首页
输入规则
输入鞋子尺码,版型,颜色,品牌
输出结果
显示符合综合条件的所有鞋子列表
关键算法
1. 选择鞋子尺码,版型,颜色,品牌一个或多个条件
2. Action中获取实际选择的条件
3. 业务层根据选择的条件查询Shoes表
数据库操作
查询shoes表
3.6.3视图层、Action、业务层、数据持久层的说明
视图
Action/Servlet
业务层(biz)
数据持久层(dao)
search.jsp
ShoesAction.java
IShoesBiz.java
ShoesBizImpl.java
IShoesDao.java
ShoesDaoImpl.java
视图层页面设计
界面
JSP
功能描述
网站头部独立页面
Search.jsp
接收关键字和性别选择
搜索结果页面
Search.jsp,其中包含search_result.jsp
根据前置条件将搜索结果列表显示
Action/Servlet设计
Action/Servlet
入口
方法
出口
ShoesAction
search.jsp
execute()
search.jsp
业务层设计
业务接口
本模块业务方法
方法说明
IShoesBiz.java
public List<Shoes> FindShoesByObjects(String hql,Object[] params);
根据鞋子名称,产地关键字及性别,当前页数和每页记录数查询数据库中鞋子信息返回分页信息。
ShoesBizImpl.java
public List<Shoes> FindShoesByObjects(String hql,Object[] params);
写具体的HQL语句,调用数据持久层findByPageBean()方法
数据持久层设计
持久层接口
基类接口
接口说明
IShoeDao.java
IGenericDao
获取分页信息的统一方法
public PageBean findByPageBean(final String hql,final Object[] param,final int currentpage,final int pageSize);
ShoesDaoImpl.java
IShoesDao
AGenericHibernateDao
ShoesDaoImpl继承AgenericHibernateDao类,实现IShoesDao接口
3.6.4 功能实现时序图(同3.3.4)
3.7 商品详情
3.7.1 商品详情实现流程图
3.7.2 商品详情输入输出规则
商品详情输入输出规则
模块名称
商品详情显示
功能描述
显示指定鞋子的详细信息
用户角色
注册用户或游客
模块触发条件
打开商品列表页
输入规则
点击鞋子图片或商品名称
输出结果
显示指定鞋子的详细信息
关键算法
1. 鞋子列表中具有鞋子sid参数值
2. Action中获取sid值
3. 在业务层中通过sid值获取鞋子的详细信息
数据库操作
查询shoes表
3.7.3视图层、Action、业务层、数据持久层的说明
视图
Action/Servlet
业务层(biz)
数据持久层(dao)
search_result.jsp
product_detail.jsp
ShoesAction.java
IShoesBiz.java
ShoesBizImpl.java
IShoesDao.java
ShoesDaoImpl.java
视图层页面设计
界面
JSP
功能描述
鞋子列表页面
search_result.jsp
显示鞋子列表
鞋子详情页面
product_detail.jsp
显示鞋子的详细信息
Action/Servlet设计
Action/Servlet
入口
方法
出口
ShoesAction
Search_result.jsp
FindBySid()
product_detail.jsp
业务层设计
业务接口
本模块业务方法
方法说明
IShoesBiz.java
public Shoes FindById(final int sid);
根据鞋子id获取鞋子对象
ShoesBizImpl.java
public Shoes FindById(final int sid);
写具体的HQL语句,调用数据持久层findById(sid)方法
数据持久层设计
持久层接口
基类接口
接口说明
IShoeDao.java
IGenericDao
获取分页信息的统一方法
public T findById(ID id);
ShoesDaoImpl.java
IShoesDao
AGenericHibernateDao
ShoesDaoImpl继承AgenericHibernateDao类,实现IShoesDao接口
3.7.4 功能实现时序图
3.8 添加购物车
3.8.1 添加购物车实现流程图
3.8.2 添加购物车输入输出规则
添加购物车输入输出规则
模块名称
添加购物车
功能描述
将鞋子添加到购物车
用户角色
注册用户
模块触发条件
登录用户打开商品详情页
输入规则
选择尺码后添加到购物车
输出结果
打开购物车页面,显示购物车信息
关键算法
1.页面判断是否选择尺码和个人是否有默认收货地址
2.获取鞋子编号,尺码和数量(默认为1)
3. 添加到购物车的Action中根据鞋子id,尺码,购买数量组合Shoesizes对象 ,shoesizes表中包含各鞋子对应尺寸的库存。
4. 如果鞋子没有被删除,并且库存量大于购买量,将鞋子信息添加到Map集合(购物车 Cart ),并添加到session中
数据库操作
查询shoesizes表
3.8.3视图层、Action、业务层、数据持久层的说明
视图
Action/Servlet
业务层(biz)
数据持久层(dao)
product_detail.jsp
cart.jsp
cart_table.jsp
CartAction.java
IShoeSizesBiz.java
ShoeSizesBizImpl.java
IReceiverBiz.java
ReceiverBizImpl.java
IShoeSizesDao.java
ShoeSizesDaoImpl.java
IReceiverDao.java
ReceiverDaoImpl.java
视图层页面设计
界面
JSP
功能描述
鞋子详情页面
product_detail.jsp
显示鞋子的详细信息
购物车页面
cart.jsp,其中包括cart_table.jsp
显示购物车的详细信息
Action/Servlet设计
Action/Servlet
入口
方法
出口
CartAction
product_detail.jsp
execute()
cart.jsp
CartAction
Product_detail.jsp
getDefaultAddress()
personal_center.jsp
业务层设计
业务接口
本模块业务方法
方法说明
IShoeSizesBiz.java
public Shoesizes FindByShoesid(final int sid,final int count,final float sizes);
根据鞋子id,数量,尺寸获取鞋子尺寸信息对象(包含库存)
ShoeSizesBizImpl.java
public Shoesizes FindByShoesid(final int sid,final int count,final float sizes);
写具体的HQL语句,调用数据持久层findByObject方法
IReceiverBiz.java
public Receives FindByDefault(int uid);
根据用户id获得默认收货地址
ReceiverBizImpl.java
public Receives FindByDefault(int uid);
写具体的HQL语句,调用数据持久层findByObject方法
数据持久层设计
持久层接口
基类接口
接口说明
IShoeSizesDao.java
IGenericDao
根据条件参数获取集合
public List<T> findByObject(String hql,Object[] param);
ShoeSizesDaoImpl.java
IShoeSizesDao
AGenericHibernateDao
ShoeSizesDaoImpl
继承AgenericHibernateDao类,实现IShoeSizesDao接口
IReceiverDao.java
IGenericDao
根据条件参数获取集合
public List<T> findByObject(String hql,Object[] param);
ReceiverDaoImpl.java
IReceiverDao AGenericHibernateDao
ReceiverDaoImpl
继承AgenericHibernateDao类,实现IReceiverDao接口
3.8.4 功能实现时序图
3.9 删除购物车商品
3.9.1 删除购物车商品实现流程图
3.9.2删除购物车商品输入输出规则
删除购物车商品输入输出规则
模块名称
删除购物车商品
功能描述
将鞋子从购物车中删除
用户角色
注册用户
模块触发条件
登录用户在购物车页面选择删除商品
输入规则
点击“删除商品”链接
输出结果
显示删除商品后的购物车信息页面
关键算法
1. 获取页面隐藏域信息
2. 判断当前购物车中有几种商品(根据单个商品总价)
3. 如果存在多种商品,通过js操作DOM对象删除商品
4. 如果只剩下一种商品,则将购物车清空,实际操作是将购物车对象从session中删除。
数据库操作
无
3.9.3视图层、Action、业务层、数据持久层的说明
视图
Action/Servlet
业务层(biz)
数据持久层(dao)
cart.jsp
cart_table.jsp
OrderAction.java
无
无
视图层页面设计
界面
JSP
功能描述
购物车页面
cart.jsp,其中包括cart_table.jsp
显示购物车的详细信息及相关js操作
Action/Servlet设计
Action/Servlet
入口
方法
出口
OrderAction
cart_table.jsp
deleteCart()
index.jsp,清空购物车后返回首页
3.9.4 功能实现时序图
不清空购物车(略)
清空购物车
3.10 结算购物车商品
3.10.1 结算购物车商品实现流程图
3.10.2结算购物车商品输入输出规则
结算购物车商品输入输出规则
模块名称
结算购物车商品
功能描述
确定购物车中商品,提交结算
用户角色
注册用户
模块触发条件
登录用户在购物车页面选择“去结算”
输入规则
点击“去结算”链接
输出结果
显示购物车所有商品结算信息和个人默认收货地址信息
关键算法
1. 获取购物车信息
2. 获取个人默认收货地址信息
数据库操作
查询receives
3.10.3视图层、Action、业务层、数据持久层的说明
视图
Action/Servlet
业务层(biz)
数据持久层(dao)
cart.jsp
cart_table.jsp
OrderAction.java
IReceiverBiz.java
ReceiverBizImpl.java
IReceiverDao.java
ReceiverDaoImpl.java
视图层页面设计
界面
JSP
功能描述
购物车页面
cart.jsp,其中包括cart_table.jsp
显示购物车的详细信息及相关js操作
订单页面
ordersheet.jsp
订单信息页面(购物车和收货地址)
Action/Servlet设计
Action/Servlet
入口
方法
出口
OrderAction
cart_table.jsp
execute()
ordersheet.jsp
业务层设计
业务接口
本模块业务方法
方法说明
IReceiverBiz.java
public Receives FindByDefault(int uid);
根据用户id获得默认收货地址
ReceiverBizImpl.java
public Receives FindByDefault(int uid);
写具体的HQL语句,调用数据持久层findByObject方法
数据持久层设计
持久层接口
基类接口
接口说明
IReceiverDao.java
IGenericDao
根据条件参数获取集合
public List<T> findByObject(String hql,Object[] param);
ReceiverDaoImpl.java
IReceiverDao AGenericHibernateDao
ReceiverDaoImpl
继承AgenericHibernateDao类,实现IReceiverDao接口
3.10.4 功能实现时序图
3.11直接购买商品
3.11.1 直接购买商品实现流程图
3.11.2直接购买商品输入输出规则
模块名称
直接购买商品
功能描述
在商品详情页选择直接购买商品,功能类似添加到购物车,只是直接购买的商品不经过购物车页面,直接到订单页
用户角色
注册用户
模块触发条件
登录用户在详情页选择“直接购买”
输入规则
选择尺码后点击“直接购买”链接
输出结果
打开订单页,显示购物车所有商品结算信息和个人默认收货地址信息
关键算法
1. 将商品添加到购物车但不现实购物车页面
2. 获取个人默认收货地址信息
数据库操作
查询shoesizes表和receives表
3.11.3视图层、Action、业务层、数据持久层的说明
视图
Action/Servlet
业务层(biz)
数据持久层(dao)
cart.jsp
cart_table.jsp
CartAction.java
IShoeSizesBiz.java
ShoeSizesBizImpl.java
IReceiverBiz.java
ReceiverBizImpl.java
IShoeSizesDao.java
ShoeSizesDaoImpl.java
IReceiverDao.java
ReceiverDaoImpl.java
视图层页面设计
界面
JSP
功能描述
商品详情页面
product_detail.jsp
显示商品详情及“直接购买”链接
订单页面
ordersheet.jsp
订单信息页面(购物车和收货地址)
Action/Servlet设计
Action/Servlet
入口
方法
出口
CartAction
product_detail.jsp
Buynow()
ordersheet.jsp
业务层设计
业务接口
本模块业务方法
方
展开阅读全文