MVC模式开发图书商城项目分析
1. 功能分析
1、用户注册
2、用户登录
3、添加商品(CURD)
4、商品查看-- 列表查询
5、商品详情页面
6、将商品添加购物车
7、查看购物车
8、修改购物车
9、生成订单
10、订单查看(取消)
11、在线支付
12.下载销售榜单
游客(未登录): 注册、登陆、商品查看
商城注册用户 : 商品查看、添加商品到购物车、购物车管理、生成订单、订单管理、在线支付
管理员 : 添加商品、商品管理、查看订单 、榜单查看(导出)
2. 系统设计
1技术选型 (系统架构)
JSTL + JSP + Servlet + JavaBean + BeanUtils + FileUpload + JavaMail + DBUtils(JDBC) + C3P0 + MySQL + MyEclipse10+ Tomcat7.0 + JDK6 + Windows
MVC 模式
JavaEE 三层结构 web层 service层 dao层
DAO 模式
2数据库设计
系统存在以下实体:用户、商品、订单、购物车
购物车不放入数据库 (Session或者Cookie实现)
用户表
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
3 工程环境搭建和网站部署
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.it