电子商城开发第一天(基本的分析)
2014-03-13 21:38
183 查看
一、Estore电子商城 --- 知识的整合,加入一些真实开发中的思想 面向切面编程 利用注解加本地线程的方式实现事务管理
1.用户注册(验证码 前台js校验 激活邮件--javamail开发)
2.用户激活
3.用户登录(记住用户名 30天内自动登陆)
4.用户注销
5.添加商品(文件上传)
6.商品列表
7.商品详细信息页面
8.购物车 (session) 修改商品数量 删除所购买的商品 清空购物车
9.生成订单 (多表设计)
10.查看订单列表 (多表查询)
11.定单删除 (事务控制--面向切面编程 利用注解+本地线程变量的方式控制事务)
12.在线支付 (易宝+网银 -- 调用第三方接口实现特定的功能)
13.销售榜单下载 (组织称excel文件 下载)
14.权限控制
数据库:
用户表:编号 用户名 密码 昵称 邮箱 激活状态 激活码 角色 注册时间
商品表:编号 商品名称 商品种类 单价 库存数量 图片地址 描述信息
订单表:订单编号 下单时间 收货地址 订单金额 所属用户编号 支付状态
订单项表: 订单编号 商品编号 购买数量
用户 1 -- * 订单
订单 * -- * 商品
create database estore;
用户:
create user estore identified by 'estore';
授权:
grant all on estore.* to estore;
use estore;
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)
);
javaee经典三层架构
com.itheima.web
.service
.dao
.domain
.exception
.util
.factory
.test
.filter
.listener
junit
jstl
beanutils
mysql驱动
c3p0
dbutils
fileupload
config.properties
c3p0-config.xml
配置虚拟主机:
在tomcat的conf/server.xml中配置:
<Host name="www.estore.com" appBase="E:\resource\resource\20140212\Estore">
<Context path="" docBase="E:\resource\resource\20140212\Estore\WebRoot"/>
</Host>
将工程目录配置虚拟主机目录,其中的WebRoot目录配置为缺省虚拟主机
修改hosts文件使www.estore.com指向本机
通用工厂类实现解耦
全站乱码过滤器
工具类
javabean
*权限管理器
===================
1.用户注册(邮件发送):
index.jsp :
根据用户登录状态提示不同消息,如果没有登录,欢迎光临,游客登录 注册如果登录过 提示 欢迎回来 xx,注销
regist.jsp:
提供注册用 的表单,允许输入用户的基本信息,提交(验证码 js校验)
RegistServlet:
检查验证码,如果不正确提示
封装数据到bean 校验数据
调用Service中的方法注册用户
重定向到主页
UserService:
注册用户的方法,检查用户名是否已经存在 注册用户 发送激活邮件
UserDao:
根据用户名查找用户
添加客户
2.激活用户 -- 点击激活邮件中的连接,应该将用户的激活状态从0 改为 1
ActiveServlet:获取激活码 调用Service中激活用户的方法 重定向到主页
UserService:提供激活用户的方法 根据激活码找到用户 如果找不到用户 提示 , 找到用户但是用户已经激活过,提示 不要重复激活, 如果没激活过,检查是否超过24小时,如果超过了,提示激活码超时,要求重新注册,删除该条用户
UserDao: 根据激活码找用户 根据用户id删除用户 更改用户的激活状态
3.用户登录(记住用户名 30天内自动登陆)
index.jsp <登录>
login.jsp 提供登录用户的表单,允许用户输入用户名 密码
LoginServlet 获取用户名 密码 调用Service中根据用户名密码查找用户的方法,找不到 提示,找到则校验用户是否已经激活,如果没激活提示,激活过,则登录用户返回主页
UserService 根据用户名密码查找用户
UserDao 根据用户名密码查找用户的方法
*记住用户名 -- 用js解码URL编码
*30天内自动登录 -- 配置Cookie和过滤器实现自动登陆
4.用户注销
杀死session
1.用户注册(验证码 前台js校验 激活邮件--javamail开发)
2.用户激活
3.用户登录(记住用户名 30天内自动登陆)
4.用户注销
5.添加商品(文件上传)
6.商品列表
7.商品详细信息页面
8.购物车 (session) 修改商品数量 删除所购买的商品 清空购物车
9.生成订单 (多表设计)
10.查看订单列表 (多表查询)
11.定单删除 (事务控制--面向切面编程 利用注解+本地线程变量的方式控制事务)
12.在线支付 (易宝+网银 -- 调用第三方接口实现特定的功能)
13.销售榜单下载 (组织称excel文件 下载)
14.权限控制
数据库:
用户表:编号 用户名 密码 昵称 邮箱 激活状态 激活码 角色 注册时间
商品表:编号 商品名称 商品种类 单价 库存数量 图片地址 描述信息
订单表:订单编号 下单时间 收货地址 订单金额 所属用户编号 支付状态
订单项表: 订单编号 商品编号 购买数量
用户 1 -- * 订单
订单 * -- * 商品
create database estore;
用户:
create user estore identified by 'estore';
授权:
grant all on estore.* to estore;
use estore;
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)
);
javaee经典三层架构
com.itheima.web
.service
.dao
.domain
.exception
.util
.factory
.test
.filter
.listener
junit
jstl
beanutils
mysql驱动
c3p0
dbutils
fileupload
config.properties
c3p0-config.xml
配置虚拟主机:
在tomcat的conf/server.xml中配置:
<Host name="www.estore.com" appBase="E:\resource\resource\20140212\Estore">
<Context path="" docBase="E:\resource\resource\20140212\Estore\WebRoot"/>
</Host>
将工程目录配置虚拟主机目录,其中的WebRoot目录配置为缺省虚拟主机
修改hosts文件使www.estore.com指向本机
通用工厂类实现解耦
全站乱码过滤器
工具类
javabean
*权限管理器
===================
1.用户注册(邮件发送):
index.jsp :
根据用户登录状态提示不同消息,如果没有登录,欢迎光临,游客登录 注册如果登录过 提示 欢迎回来 xx,注销
regist.jsp:
提供注册用 的表单,允许输入用户的基本信息,提交(验证码 js校验)
RegistServlet:
检查验证码,如果不正确提示
封装数据到bean 校验数据
调用Service中的方法注册用户
重定向到主页
UserService:
注册用户的方法,检查用户名是否已经存在 注册用户 发送激活邮件
UserDao:
根据用户名查找用户
添加客户
2.激活用户 -- 点击激活邮件中的连接,应该将用户的激活状态从0 改为 1
ActiveServlet:获取激活码 调用Service中激活用户的方法 重定向到主页
UserService:提供激活用户的方法 根据激活码找到用户 如果找不到用户 提示 , 找到用户但是用户已经激活过,提示 不要重复激活, 如果没激活过,检查是否超过24小时,如果超过了,提示激活码超时,要求重新注册,删除该条用户
UserDao: 根据激活码找用户 根据用户id删除用户 更改用户的激活状态
3.用户登录(记住用户名 30天内自动登陆)
index.jsp <登录>
login.jsp 提供登录用户的表单,允许用户输入用户名 密码
LoginServlet 获取用户名 密码 调用Service中根据用户名密码查找用户的方法,找不到 提示,找到则校验用户是否已经激活,如果没激活提示,激活过,则登录用户返回主页
UserService 根据用户名密码查找用户
UserDao 根据用户名密码查找用户的方法
*记住用户名 -- 用js解码URL编码
*30天内自动登录 -- 配置Cookie和过滤器实现自动登陆
4.用户注销
杀死session
相关文章推荐
- 【Cocos游戏实战】功夫小子第一课需求分析和开发环境的基本配置
- (传智博客)tp开发第一天之tp执行流程分析笔记
- 如何做好游戏开发项目基本需求分析
- iOS开发-RunLoop的基本概念与例子分析
- IOS开发网络第一天之02NSThread的基本使用
- Linux设备驱动第一天学习笔记(如何将系统在开发板上运行起来、驱动开发基本步骤)
- java在线聊天项目 实现基本聊天功能后补充的其他功能详细需求分析 及所需要掌握的Java知识基础 SWT的激活方法,swt开发包下载,及破解激活码
- iOS开发:runtime原理简单分析和基本使用场景
- 功夫小子实践开发-英雄实体类的基本分析和实现
- Web后台开发基本分析方法
- 如何做好游戏开发项目基本需求分析
- 移动端开发基本知识之touch.js,FastClick.js源码分析
- OBIEE分析开发-获取当月第一天
- 【翻译】语法分析工具Gold介绍(2)——基本开发方法
- 面向对象系统分析与开发专题<1>__基本单位-类
- iOS开发-- RunLoop的基本概念与例子分析
- 功夫小子实践开发-基本工具类的分析和实现
- 【Web】Asp开发基本分析及Web服务器机制分析
- 四神分析报告分析系统插件开发
- 手机开发之一:开机的简要流程分析