estore系统设计文档

2019-08-20 19:04

Estore系统

Estore系统分析

Estore 购物商城项目 (综合练习)

目的:将之前学习知识点 整合,综合运用

系统需求分析

功能: 1、用户注册 2、用户登录

3、添加商品(CURD) 4、商品查看-- 列表查询 5、商品详情页面 6、将商品添加购物车 7、查看购物车 8、修改购物车 9、生成订单

10、订单查看(取消) 11、在线支付

12、销售榜单查看

需求分析 UML 用例图 游客(未登录): 注册、登陆、商品查看

商城注册用户 : 商品查看、添加商品到购物车、购物车管理、生成订单、订单管理、在线支付

管理员 : 添加商品、商品管理、查看订单 、榜单查看(导出)

系统设计

1、技术选型 (系统架构)

JSTL + JSP + Servlet + JavaBean + BeanUtils + FileUpload + JavaMail + DBUtils(JDBC) + C3P0 + MySQL + MyEclipse10+ Tomcat7.0 + JDK6 + Windows MVC 模式

JavaEE 三层结构 DAO 模式

2、数据库设计 E-R图

绘制E-R图 和 面向对象的需求分析 PowerDesigner (概念图E-R 、物理图表结构、面向对象图 ) 三种图相互转换

1) 抽象需求分析中名词 成为实体/类

2) 根据系统需求,分析实体/类 需要哪些属性 3) 建立实体之间关系

系统存在五个实体:用户、商品、订单、购物车、榜单 购物车不放入数据库 (Session或者Cookie实现) 榜单 (待定)

根据E-R图/对象关系建表

先创建实体对应表,再描述属性字段、最后描述关系 * E-R图展示实体属性 不一定包括所有表字段 用户表

create table users (

id int primary key auto_increment, username varchar(40), password varchar(100), nickname varchar(40), email varchar(100), role varchar(100) , state int ,

activecode varchar(100), updatetime timestamp ); 商品表

create table products(

id varchar(100) primary key , name varchar(40), price double,

category varchar(40), pnum int ,

imgurl varchar(100),

description varchar(255)); 订单表

create table orders(

id varchar(100) primary key, money double,

receiverinfo varchar(255), paystate int,

ordertime timestamp, user_id int ,

foreign key(user_id) references users(id) );

用户与订单之间存在 一对多关系 : 在多方添加一方主键作为外键

订单和商品之间存在 多对多关系 : 创建第三张关系表,引入两张表主键作为外键 (联合主键) 订单项

create table orderitem(

order_id varchar(100), product_id varchar(100), buynum int ,

primary key(order_id,product_id),

foreign key(order_id) references orders(id), foreign key(product_id) references products(id) );

设置数据库环境

数据库 :create database estoresystem;

工程环境搭建和网站部署

1) 导入jar包

导入mysql驱动 mysql driver / mysql-connector-java-5.0.8-bin.jar

导入c3p0 c3p0/c3p0-0.9.1.2.jar 将c3p0-config.xml 复制src下 将DataSourceUtils复制 cn.itcast.estore.utils ----- 配置c3p0-config.xml数据库连接参数 导入dbutils apache commons\\dbutils\\commons-dbutils-1.4.jar

导入beanutils commons-beanutils-1.8.3.jar commons-logging-1.1.1.jar 导入fileupload commons-fileupload-1.2.1.jar commons-io-1.4.jar 导入javamail mail.jar

导入jstl jstl.jar standard.jar

2) 建立package结构 按照JavaEE 三层结构 cn.itcast.estore.web.servlet cn.itcast.estore.web.filter cn.itcast.estore.web.listener cn.itcast.estore.service cn.itcast.estore.dao cn.itcast.estore.domain cn.itcast.estore.utils

3) domain类编写 UML中类图画法

4) 工程发布

将estore项目配置虚拟主机,以顶级域名方式进行发布

1) 将工程根目录 estore目录 配置虚拟主机目录 ---- 配置conf/server.xml

unpackWARs=\

xmlValidation=\

2) 将工程目录下WebRoot 目录,配置缺省web应用

xmlValidation=\

3) 将www.estore.com 虚拟主机配置缺省虚拟主机 ----- 能够用ip直接访问主机

4) 修改本机域名解析文件 hosts ---- c:\\windows\\system32\\drivers\\etc 添加 127.0.0.1 www.estore.com

用户注册

1、 功能一: 用户注册 (技术点:验证码技术 、激活邮件技术) 1) 一次性验证码

原理:在生成验证码Servlet程序中,将生成验证码保存Session中,用户提交验证码 与 保存在Session验证码进行比较,如果相同,请求合法

2) 注册表单 JS校验

考虑JS校验是否可以抽取成框架

3) 处理form乱码问题 ---- 通用get post 乱码过滤器 4) 密码 MD5 加密

5) 激活邮件发送

启动易邮 域名 estore.com

建立几个账号 service/111 aaa/111 bbb/111 ccc/111 ddd/111

账号激活 ,判断激活码存在,并且有效 ------- update 修改激活state 字段

6) 配置通用错误处理页面 day8 配置web.xml

500 /500.jsp

404 /404.jsp

500.jsp 显示错误的msg

404.jsp 自动刷新跳转回主页面

用户登录

原理:用户输入正确用户名和密码,登陆成功,用户信息将会被保存Session对象中。 ------ 记住用户名和密码 、自动登陆 权限控制围绕登陆功能

1) 登陆表单中,添加记住用户名 和 自动登陆功能

2) 登陆过程中判断 账户是否激活

3) 在login.jsp 显示记住用户名

在username 的input项中添加 value=\ 在勾选自动登陆 checkbox 添加 c:if 判断

4) 登陆后注销功能 注销Session

用户自动登录过滤器

自动登陆功能 对系统所有页面有效 (例如访问index.jsp list_product.jsp info_product.jsp 这些页面在访问时都将执行自动登陆 )

* 对于登陆相关页面不会执行自动登陆逻辑 (login.jsp 、LoginServlet 、InvalidateServlet ) 1) 判断该请求页面是否需要自动登陆 2) 是否已经登陆

3) 是否含有自动登陆cookie 4) 自动登陆

5) 在LoginServlet 添加对于没有勾选记住用户名和自动登陆 处理代码 !!!!!!! 6) 在退出功能 InvalidateServlet 清除自动登陆信息

商品添加

文件上传三个注意事项

1) input输入框 必须有name属性 2) 表单form 必须post提交方式

3) 设置form的enctype 为 multipart/form-data


estore系统设计文档.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:新人教版七年级英语下册Unit 12 what did you do last weekend教

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: