10
从图中可以看出,网上购物系统可以分为前台和后台两个部分,前台部分由用户使用,主要包括用户注册,生成订单,购物车管理,查看购物车,查看留言,订购产品,订单查询和发布留言7个模块;后台部分由管理员使用,主要包括管理员身份验证,商品管理,处理订单,用户信息管理,连接信息管理5个模块。
2.3 数据库需求分析
数据库的设计通常是以一个已经存在的数据库管理系统为基础的,常用的数据库管理系统有MYSQL,SQL Server, Oracle等。我采用了SQL server2000数据库管理系统,建立的数据库名为db_business。
整个系统功能需要以下数据项:
用户:用户id、用户名称、登录密码、用户真实姓名、性别、邮箱地址、联系地址、联系电话、密码问题、答案、注册时间。
留言:主题id、作者姓名、Email、主题名称、留言内容、发布时间。
商品:商品id、名称、价格、图片路径、类型、简要介绍、存储地址、上传人姓名、发布时间、是否推荐。
订单:订单号、用户名、真实姓名、订购日期、Email、地址、邮编、付款方式、联系方式、运送方式、订单核对、其他。
管理员:管理员id、管理员名称、管理员密码。 公告:公告内容、公告时间。
11
3 数据库结构设计
3.1 数据库实现
3.1.2 tb_Ware(商品信息表)
主要用于保存商品的基本信息,该表的结构如表2所示
表2 tb_Ware(商品信息表)
列 名 Wareid Warename Wareprice Waretype Wareintro Wareimage Wareif Dattime
说 明 物品id 物品名称 物品价格 物品类型 物品介绍 图片路径 是否推荐 发布时间
类 型 ( 长 度 ) Int (4) Varchar (50) Bigint (8) Varchar (20) Text (16) Varchar (50) Int (4) Dattime (8)
备 注 不允许空,主键 不允许空 不允许空 不允许空 不允许空 不允许空 不允许空 不允许空
3.1.3 tb_txet(留言信息表)
主要用于记录留言信息,该表的结构如表3所示。
表3 tb_text(留言信息表)
字 段 Textid Username Email Dattime Textname Textgut
说 明 主题id 作者姓名 Email 发布时间 主题名称 留言内容
类型(长度) Int(4) Varchar(20) Varchar(50) Dattime(8) Varchar(50) Text (16)
备注
不允许空,主键 不允许空 不允许空 不允许空 不允许空 不允许空
3.1.4 tb_manager(管理员信息表)
主要用于保存管理员信息,该表的结构如表4所示。
表4 tb_manager(管理员信息表)
12
字 段 Id Admin Adminpass
说 明 管理员id 管理员名称 管理员密码
类 型 ( 长 度 ) Int(4) Varchar(30) Varchar(16)
备 注 不允许空 不允许空 不允许空
3.1.5 tb_sub(订单生成表)
主要用于保存会员等级信息,该表的结构如表5所示。
表5 tb_sub(订单生成表)
主要用于记录某一订单表中所订购的商品的详细信息,该表的结构如表4-6所示
表6 tb_shop(订单商品表)
字 段 Subid Warename Price Wsum Wcount
说 明 订单id 货物名称 货物价格 货物数量 统计
类型(长度) Varchar(50) Varchar(50) Bigint (8) Bigint (8) Bigint (8)
备注 不允许空 不允许空 不允许空 不允许空 不允许空
3.1.7 tb_Link(超级链接表)
主要用于记录添加的超级链接信息,该表的结构如表7所示
表7 tb_Link(超级链接表)
字 段 Lname Laddress Ldatetime
说 明 链接名 链接地址 发布时间
类型(长度) Varchar(50) Varchar(50) Dattime(8)
备注 不允许空 不允许空 不允许空
3.1.8 tb_Affiche(公告信息表)
主要用于记录后台添加的公告信息,该表的结构如表8所示
表8 tb_Affiche(公告信息表)
字 段 Test Dattime
说 明 公告内容 公告时间
类型(长度) Test(16) Dattime(8)
备注 不允许空 不允许空
3.2 用JSP连接数据库
在本系统中,需要多次连接数据库,而且这种连接是一项很消耗资源的操作,因此,在本系统中对数据库连接的部分写成了一个JavaBean。文件名为Condb.java,关键代码如下:
13
package com.bwm.db; import java.sql.*; public class Condb{ }
String Sd=\ String Sc=\ Connection con=null; ResultSet rs=null;
return rs;
}public int executeUpdate(String sql){ }
public void close(){
}
} try{
if(con!=null)
con.close();
int result=0; try{
con=DriverManager.getConnection(Sc); Statement stmt=con.createStatement(); result=stmt.executeUpdate(sql);
}catch(SQLException ex){ }
return result;
System.err.println(ex.getMessage());
14
4 系统详细设计
4.1 前台部分 4.1.1 前台总体框架
前台部分由用户使用,包括用户注册,购物车管理,订单管理,个人资料管理等几个部分。 (1)模块功能介绍
用户管理:为了便于网站的管理,必须有一套完整的用户管理体系。该网站用户管理模块由用户注册,用户登陆,找回密码3部分组成。
订单查询:登陆用户可以通过订单号查询订单。
购物车:所选商品须通过购物车进行保存,然后生成订单。
修改个人资料:为了保护用户信息不受非法侵害,用户登陆后即可对个人的注册信息进行修改。 留言板:用户可以查看和添加留言信息。 (2)前台文件构架
微微购物网站的前台文件结构如图10所示。 订单查询 页面 Sub/input .jsp 修改用户资料 User/Uedit.jsp 用户注册 user/check.jsp 购物车 user/order.jsp 留言板 admin/browse.jsp 用户注册 user/index.jsp 网站导航 Top.jsp 左侧导航 Left.jsp 商品展示 Middle.jsp 后台入口 Copy.jsp 前台首页 index.jsp 查看物品清单user/look.jsp 查看购物车 user/order.jsp 订单查询Sub/Query .jsp 清空购物车 user/putin.jsp 修改 user/clearr.jsp 添写订单 sub/index.jsp 添加留言板 admin/leaword.jsp 留言信息验证 admin/addlea.jsp 图10 前台文件结构图