网上商城项目总结
1.数据库设计,表与表之间的关系,映射到实例
2.搭建java开发环境,导入相应的jar包,创建包结构mvc模式:
(1)到jar包:
* mysql
* c3p0
* dbutils
* beanutils
* jstl
* fileupload
(2)创建包结构
(3)引入工具类和配置文件
3.前端页面准备,页面设计
4.功能模块的实现
(1)注册模块:
在首页上点击【注册】链接:
跳转到注册页面:
在注册页面中输入相关的信息:
* 进行表单校验:JQuery实现校验.
* 异步用户名校验:
点击【注册】按钮:提交到Servlet:
在Servlet中调用业务层调用Dao完成保存操作,同时发送一封激活邮件:
(2)分类模块:
需求:
实现:使用ajax异步请求完成分类的加载
(3)商品模块
*显示某个分类的商品:
在首页上点击某个分类
提交到Servlet:传递分类的ID,当前页数.
*显示某个商品详情:
在商品列表页面上点击【某个商品】
提交到Servlet:传递一个pid.
(4)购物模块
封装实体:
* 购物项:
* 商品对象:
* 数量:
* 小计:
* 购物车:
* 购物项集合:
* 总计:
加入购物车:
在商品详情页面点击【加入购物车】:
添加到Servlet:
调用封装的购物车对象addCart的方法:
页面跳转:(购物车的页面)
清空购物车:
在购物车的页面中点击清除购物车的链接:
提交到Servlet:
* 调用Cart中的clearCart的方法:
* 跳转到购物车页面:
移除购物项:
在购物车的页面中点击 删除的链接:
添加到Servlet:
* 调用Cart中的removeCart的方法:
* 跳转到购物车页面:
(5)订单模块
生成订单功能:
在购物车的页面中点击提交订单:
提交到Servlet中:
* 事务管理:向订单表和订单项表插入记录.
* 页面跳转到订单页面:
我的订单功能;
登录后的用户点击【我的订单】查询该用户的所有的订单.
* 提交到Servlet:
* 查询该用户的所有的订单.
* 查询订单的时候,将订单中的订单项一并查询.
展示订单:
在订单列表页面上点击【付款】连接:
提交到Servlet:
* 接收oid:
* 根据OID进行查询
* 页面跳转到order_info.jsp
订单支付:
调用第三方在线支付接口
(6)后台管理模块
分类管理:
【查询所有分类】
* 在左侧菜单页面中点击分类管理:
* 提交到Servlet:
* 查询所有的分类:
* 显示到页面中:
【添加分类】
* 在分类列表页面中点击【添加】按钮.
* 提交到Servlet跳转到添加页面.
* 输入信息点击【确定】按钮.
* 提交到Servlet完成保存分类的功能.
【修改分类】
* 在分类列表页面中点击【编辑】链接:
* 提交到Servlet进行查询.
* 显示到修改页面中.
* 修改分类的信息.点击【确定】按钮.
* 提交到Servlet完成修改分类的功能.
【删除分类】
* 在分类的列表页面中点击【删除】链接:
* 提交到Servlet中.
* 页面跳转.
商品管理:
【查询商品:带分页】
* 在左侧菜单页面中点击【商品管理】
* 提交到Servlet进行查询.
* 显示到页面.
【添加商品】
* 在商品列表页面中点击【添加】按钮.
* 提交到Servlet:查询所有分类.
* 页面跳转到添加页面.
* 在添加页面中输入信息(包括图片)
* 点击【确定】
* 提交到Servlet:文件上传,数据插入到数据库.
***** 文件的上传:
* 三个要素:
* 提交的方式是POST:
* 表单中需要有<input type=”file” name=”upload”>
* enctype=”multipart/form-data”
* 文件上传的技术:
* Servlet3.0
* JSPSmartUpload
* FileUpload:
* commons-fileupload-1.2.1.jar
* commons-io-1.4.jar
* Struts2
* 使用FileUpload的时候:
* 获得磁盘文件工厂对象:
* 通过工厂获得核心解析类:
* 解析request对象 , 返回集合,集合中的内容是分割线分成的每个部分.
* 遍历每个部分:
【下架商品】
* 在商品的列表页面上点击【下架】链接.
* 提交到Servlet:
* 修改商品的状态:
* 页面跳转:
【上架商品】
* 在左侧菜单中添加一个上架商品:
* 选择某个商品上架.
订单管理:
【订单管理】
在左侧菜单中点击【订单管理】链接:
查询订单(按状态查询订单)
页面跳转:
5.系统优化,测试上线