estore系统设计文档
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.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输入框
…… 此处隐藏:1921字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [建筑文档]2018年公需课:专业技术人员创新能力与
- [建筑文档]2013年福建教师招考小学数学历年真题
- [建筑文档]高中信息技术课flash知识点总结 - 图文
- [建筑文档]电工实训 - 图文
- [建筑文档]最高院公告案例分析100篇(民商篇)
- [建筑文档]南开中学高2017级14-15学年(上)期末
- [建筑文档]五粮液集团战略分析
- [建筑文档]鲁教版(2012秋季版)九年级化学 酸碱
- [建筑文档]超星尔雅2017中国哲学概论自整理题库答
- [建筑文档]关于成为海口金盘饮料公司材料独家供货
- [建筑文档]LNG学习资料第一册 基础知识 - 图文
- [建筑文档]四年级品社下册《好大一个家》复习资料
- [建筑文档]现阶段领导权力腐败的特点及发展趋势
- [建筑文档]魏晋南北朝诗歌鉴赏—嵇康
- [建筑文档]坚持追求真爱是理智的行为 正方一辩稿
- [建筑文档]湘西州刑释解教人员帮教安置工作存在的
- [建筑文档]园林工程试题库及答案
- [建筑文档]计算机长期没有向WSUS报告状态
- [建筑文档]日语最新流行语
- [建筑文档]B62-016 景观进场交底专题会议
- 2018年中考语文课内外古诗词鉴赏专题复
- 高考试题研究心得体会
- C语言基础题及答案
- 电气控制及PLC习题及答案
- 都昌小学家长学校汇报材料
- GMAT作文模板正确使用方法
- 俄军办坦克大赛:中国99式有望与豹2A6
- 成本会计练习题
- 酒店餐饮业最流行的5S管理方法
- 2014-2015学年山东省菏泽市高二(下)
- 《黄鹤楼送孟浩然之广陵》教案、说课、
- 2013年结构化学自测题 有答案版
- 2011西安世界园艺博览会游览解说词(附
- 窗口文明单位示范单位创建活动总结
- 2018满分超星尔雅就业课后练习期末答案
- 韶山市城市总体规划-基础资料
- 苏教版第三单元知识点归纳
- 第4章 曲轴模态分析
- 加大查办案件力度的思考
- 武汉CPC导轨介绍




