在线网上书店管理系统
一、系统结构
在线网上书店管理系统主要包括:后台管理和前台网上书店两个方面的内容。
后台管理包括:分类管理、图书管理、订单管理、数据库管理四个模块。
前台网上书店包括:用户注册与登陆、查看购物车、查看订单、书籍列表、书籍显示几个模块。
二、主要功能
该系统主要实现在后台进行添加图书分类、查看图书分类;添加图书、查看图书;查看待处理订单、查看已处理订单;数据库备份、数据库恢复功能。在前台经注册登录的用户可通过查看图书分类将需要图书添加到购物车,并查看自己支付过的订单信息。
三、使用主要技术
采用MVC设计模式,将图书、订单、用户、订单项等封装成javabean,通过Servlet实现具体的功能,最后通过JSP将功能展示在web页面中。开发过程中使用的主要技术包括:
1、工厂设计模式加载BookDao、CategoryDao、OrderDao、UserDao、DbBakDao的配置信息。
2、通过过滤器防止出现乱码、进行事务处理、防止恶意提交HTML等操作。
3、在前台显示书籍信息时进行分页处理。
四、开发结构
1、搭建环境
1.1 导开发包
1.2 创建组织程序的包
1.3 创建组织jsp的目录:
(1)在WebRoot下新建一个manger.jsp页面,这个页面代表后台首页,这个页面是分帧页面。
(2)在WebRoot下新建clent目录 ,保存后台相关的jsp。
(3)创建工程所需的库
(4)创建一些全局的工具类和过滤器:JbdbUtils、WebUtils、CharacterEncodingFilter、HtmlFilter、 TransactionFileter、 DaoFactory
2、设计实体
Category(分类)
private String id;
private String name;
private String description;
Book
private String id;
private String name;
private double price;
private String author;
private String image;//记住书的图片的位置
private String description;
private Category categroy;
Order(订单)
private String id;
private Date ordertime;//下单时间
private boolean state;//订单状态
private double price;//订单总价
private User user;//记住下单人
private Set orderitems;//记住订单所有的订单项
OrderItem(订单项)
private String id;
private Book book;//记住订单项代表的是那本书
private int quantity;
private double price;
User
private String id;
private String username;
private String password;
private String phone;
private String cellphone;
private String email;
private String address;
3、设计表
create table user
(
id varchar(40) primary key,
username varchar(40) not null unique,
password varchar(40)not null,
phone varchar(20)not null,
cellphone varchar(20)not null,
email varchar(40) not null,
address varchar(255) not null
);
create table category
(
id varchar(40) primary key,
name varchar(40) not null unique,
description varchar(255)
);
create table book
(
id varchar(40) primary key,
name varchar(40) not null unique,
price decimal(8,2) not null,
author varchar(40) not null,
image varchar(255) not null,
description varchar(255),
category_id varchar(40),
constraint category_id_FK foreign key(category_id) references category(id)
);
create table orders
(
id varchar(40) primary key,
ordertime datetime not null,
state boolean not null,
price decimal(8,2) not null,
user_id varchar(40),
constraint user_id_FK foreign key(user_id) references user(id)
);
create table orderitem
(
id varchar(40) primary key,
quantity int not null,
price decimal(8,2) not null,
book_id varchar(40),
constraint book_id_FK foreign key(book_id) references book(id),
order_id varchar(40),
constraint order_id_FK foreign key(order_id) references orders(id)
);
//为保存备份信息,需要新建一个库
create database bookstore_bak;
use bookstore_bak;
create table dbbak
(
id varchar(40) primary key,
filename varchar(255) not null,
baktime datetime not null,
description varchar(255)
);
4、写dao
5、写service
6、做web
五、后续开发
上述开发能够实现用户在网上书店的购买已经管理员对后台系统的维护,但没有涉及到支付操作。后续工作可以添加支付功能,按照银行或支付站点的支付接口要求,实现用户支付。