|
1. 网站模块
前台:
* 用户模块% c! S4 s0 b1 ~) {- Y" l0 [5 h
* 分类模块
* 图书模块 ]3 _& a0 f7 s9 m$ A% F' l
* 购物车模块
* 订单模块
后台:* a/ i* l2 G6 I
* 管理员模块- q8 E- Y8 T. _
* 分类管理模块
* 图书管理模块3 d' V6 \4 t) I: { Z0 q: {
* 订单模块
$ J: u( w& W* k2 {4 e' m
2. 数据库满足第几范式; G: P4 e' K+ n4 ~
第三范式' w. c; `$ X3 d2 P4 _
7 P2 @9 c1 Q1 Y3 g
3. 第三范式的定义是什么
第三范式是第二范式的子集,即满足第三范式必须先要满足第二范式。
在一个关系中,不包含其他关系中的非主关键字信息。
例如:部门表包含:部门id、部门名称、部门简介等,在员工表中只能包含部门id,部门名称等非主关键字信息就不能包含了。
如果只有员工表,没有部门表时,在员工表中给出部门名称等属性,也不应该,而是应该把部门名称等信息提取出来,形成部门表。1 p/ `1 \+ q% B& L3 y( K- k: d
* ^1 u2 x* ^/ V! ~+ {' E5 e2 R4 F
4. 某某模块都有什么功能!7 I1 P# a# K. B, w8 F, j& B% l
4.1 前台: w, b4 [5 E" W6 f6 |7 F! m" ^
1). 用户模块功能有:, w: C5 C" G* Y- u6 U
* 用户注册: & N1 a$ R1 Q; i3 U; [8 W
> 表单页面是jQuery做校验(包含了ajax异步请求)
# 在输入框失去焦点时进行校验;
# 在提交时对所有输入框进行校验;2 M; \* E& z( a( a
# 在输入框得到焦点时,隐藏错误信息。" q3 ^% q( G9 A+ X
> 表单页面使用一次性图形验证码;8 p$ U- Q F2 O1 Z- p5 S/ z
> 在servlet中再次做了表单校验。$ d( G4 B* b0 ^2 m h; J
> 注册成功时,使用javaMail给注册用户发送激活邮件,邮件中包含用于激活的链接,链接包含激活码参数;3 a# v& f. t6 `5 F2 M2 ~6 R5 G9 H
* 用户激活:通过激活码查询用户,如果查询不到用户,那么无效激活码!激活码使用uuid生成!8 M2 y' }% ~3 {, [1 A. |
* 用户登录:( r: b* s/ }! [+ M+ d
> 表单校验与注册功能相同;" U( ? _" M; L9 V5 J$ r
> 登录成功时会把当前用户名保存到cookie中,为了在登录页面的输入框中显示!
* 用户退出:销毁session; T" F) P" J$ i2 r: b: v0 v' C
2). 分类模块. B; V- e- f" M+ v x9 Y
* 查询所有分类:8 A2 E% P* I1 G5 L* u( B6 d
> 有1级和2级分类. M4 }! w5 `+ N$ q
> 在页面中使用手风琴式菜单(Javascript组件)显示分类。2 ]- V3 ^5 a3 e: |' m4 E' b) k
3). 图书模块:1 ]; d$ h+ g' f. \* D
* 按分类查询* h/ f6 d8 l* `$ {- j/ [
* 按作者查询
* 按出版社查询
* 按书名模糊查询
* 多条件组合查询: a3 W( a$ c* G, Q
* 按id查询) Q9 {/ |6 r9 s z Q0 N6 T
除按id查询外,其他都是分页查询。
技术难点:
> 组合查询:根据多个条件拼凑sql语句。1 v" s/ F) s1 M c
> 带条件分页查询:条件可能会丢失。使用自定义的PageBean来传递分页数据!
> 页面上的分页导航:页码列表的显示不好计算!* r) N: A, ?( d1 U$ E9 d
4). 购物车模块:" |# }8 }& E; A/ d
* 添加条目
* 修改条目数量
* 删除条目5 ^% `9 j) h" ~' {' S
* 批量删除条目
* 我的购物车! u. U7 e8 u) t3 q) F% v5 O
* 查询被勾选条目+ \' N& ]. c% c: I) Q
购物车没有使用sesson或cookie,而是存储到数据库中。9 E, v7 [& b% F& w/ U! v
技术难点:
> 添加条目时,如果两次添加针对同一本书的条目,不是添加,而是合并;4 [4 Q9 `/ s, z
> 修改数量时使用ajax时请求服务器端,服务器端返回json。
> 大量js代码1 v! k* I! }. j* x
5). 订单模块:
* 生成订单
* 我的订单
* 查看订单详细
* 订单支付7 K' _5 I5 N9 o% u: a
* 订单确认收货# Y3 l1 b4 q' n' w8 }
* 取消订单
技术难点:
> 使用易宝在线支付平台:/ q4 @7 S3 G: j7 _& k& R) D) a9 u/ o
# 按照易宝支付范围与易宝支付网关对接。
# 接收易宝的两种应答机制,针对点对点应答给予回复。
# 处理多次应答照成的数据库重复确认。
4.2 后台6 M" c9 X- p; G) ]
1). 管理员
* 管理员登录
2). 分类管理: \4 l" W9 N/ I( ^3 T
* 添加1级分类. y0 |& U6 w. I% d/ ?3 w2 o& _
* 添加2级分类: 需要为2级分类指定所属1级分类
* 编辑1级分类# V% y6 x z+ g
* 编辑2级分类: 可以修改所属1级分类
* 删除1级分类: 存在子分类时,不能删除( X) J( t9 b+ A
* 删除2级分类: 当前2级分类下存在图书时不能删除- u. l f7 C6 a$ B( q3 U6 m1 H
* 查看所有分类
3). 图书管理
* 各种查询:与前台相同
* 添加图书:
> 上传图片
> 页面中使用动态下拉列表显示2级分类,当指定1级分类后,2级分类下拉列表中动态显示该1级分类下所有2级分类名称* k1 z& J& F1 ~4 b) L
* 修改图书: 与添加图书相似,也使用动态下拉列表
* 删除图书: 需要删除图书对应图片,再删除图书
4). 订单管理6 [" b& O1 d) |6 Z: S, F W' ]
* 各种查询0 }, R& R. R" b8 l& k ~- D( O! z
* 订单发货4 N2 n3 _( e1 G* L" k. ]- }
* 订单取消9 g+ A2 [6 q# n* U! C
==============================================
界面展示
|
|