用户信息实体的E-R图,如图3.8所示。 图书实体的E-R图,如图3.9所示。 订单实体的E-R图,如图3.10所示。
订单列表实体的E-R图,如图3.11所示。
用户名 密码 分类编号 分类名称
图3.6 管理员实体的E-R图 图3.7 图书分类实体E-R图
密码 地址 管理员 图书分类 用户名 邮编 真名 Email 用 户 性别 注册时间 电话 注册IP
图 3.8 用户实体E-R图
图书名称 图书编号 作者 出版社 内容介绍 图 书 分类编号 封面 剩余数量 总数量 价格
图3.9 图书实体E-R图
11
用户编号 订单编号 购买时间 订单 IP地址 总价格 是否付款 是否发货 内容
图3.10 订单实体E-R图
用户号 订单号 订单列表 图书编号 购书数量
图 3.11订单列表实体的E-R图
3.7 数据库逻辑结构设计
本系统数据库采用SQL Server 2000数据库,系统数据库名称为bookshop,下面分别给出数据表概要说明、数据表关系概要说明及主要数据表的结构。
1、 数据表概要说明
数据表树型结构图如图3.12所示,该数据表树型结构图包含系统所有的数据表
图3.12 数据表树型结构图
2、各个表的结构如下表
表3.1为图书信息列表,记录书店现有的图书信息。
表3.1 Book表
列名 数据类长度 允许空
型
ID Int 4
12
注释 图书编
号
BookName
BookClass
Author Publish BookNo Content Price Amount Leav_number
RegTime
e
Picture varchar 60 是 表3.2为书店管理员信息表,记录管理员的帐号和密码。 表3.2 BookAdmin表
列名 数据类长度 允许空
型
AdminusVarchar 20 否 er
AdminPaVarchar 20 否 ss
表3.3为用户信息表,记录用户的基本信息。
表3.3 用户表
列名 数据类长度 允许空
型
ID Int 2 否
UserName
passWord
Names Sex Address Phone Post Email RegTime
e
RegIPAd
varchar
50
13
varchar Int Varchar Varchar Varchar text float int int datatim
40 4 25 150 30 300 8 4 4 8
否
称
否
类
是 是 是 是 是 是 是
量
是
间
图书名图书分作者 出版社 书号 内容 价格 总数量 剩余数注册时封面
注释 管理员 管理员密码
注释 用户编号
用户名 密码 真名 性别 地址 电话 邮编 电子邮件
注册时间
注册IP
Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar Datatim
50 50 50 50 50 50 50 50 50
否 否 否 是 是 是 是 是 是 是
dress
表3.4为订单总表,记录某个用户的订单总信息。
表3.4 订单总表 列名 数据类长度 允许空
型
ID Int 4 否
地址
注释 总订单
编号
订单号 书号 数量
OrderID Int 4 否 BookNo Int 4 否 Amount int 4 是 表3.5为订单表,记录整张订单的具体信息。
表3.5 订单表
列名 数据类长度 允许空
型
ID Int 4 否 OrderID Varchar 50 否
UserId SubmitTime ConsignmentTime
TotalPrice content Ipaddress Ispayoff IsAddress
Varchar Datatime
Datatime
Float Text Varchar Varchar varchar
50 8 8 16 300 50 50 20
否 是 是 是 是 是 是 是
注释 订单ID 总订单ID 用户ID 提交时间 购买时间
总价格 描述 IP地址 是否付款 是否发货
表3.6为图书分类表,记录书店现有图书的分类。
表3.6 Bookclass表
列名 数据类长度 允许空
型
ID Varchar 30 否
号
ClassName
varchar
30
否
注释 分类编分类名
第四章 系统详细设计
14
4.1 开发技术简介 4.1.1 JSP简介
JSP(Java Server Pages)是由Sun Microsystems 公司倡导、许多公司参与一起建立的一种动态网页技术标准,JSP技术在Servlet技术基础上发展起来的,它正在飞速发展中,现已成为Java服务器编程的重要组成部分。它虽然还未成型,但是它必将和J2EE(Java 2 Enterprise Edition)一起发展[6]。
JSP是结合markup(HTML和XML)和Java代码来处理一种动态页面。每一页第一次被调用时,通过JSP引擎自动被编译成Servlet,然后被执行,以后每次调用时,执行编译过的Servlet。JSP提供了多种方式访问Java class、Servlet、Applets和Web Server,因此,Web应用的功能可以分成多个明确定义公用接口的组件,通过JSP将它们结合在一起[9]。
4.1.2 JSP的运行原理
在JSP第一次获得来自于客户端浏览器的请求时,JSP文件将被JSP引擎(JSP engine)转换成一个Servlet,即将”.jsp”文件编译成Java Class文件。当Servlet引擎接收到请求后,如果设置了使用最新的JSP,它就会去找JSP文件,检查该文件在上次编译后是否改动过。如果改动过,就会重新编译生成新的Servlet,最终将请求转交给编译好的Servlet引擎执行[1]。如图4.1
Class loader 类载入器
Servlet engine Servlet引擎 JSP engine JSP引擎 Client 客户端 响应(Response) 请求(Request) Web Server Server extension 服务器扩展 Java complier Java编译器
图4.1 JSP运行原理图
JSP parser JSP语法分析器
在编译时如果发现JSP文件有任何语法错误,转换过程将中断,并向客户端发出出
15