基于JSP的网上书店系统的设计与开发.docx
《基于JSP的网上书店系统的设计与开发.docx》由会员分享,可在线阅读,更多相关《基于JSP的网上书店系统的设计与开发.docx(34页珍藏版)》请在冰豆网上搜索。
基于JSP的网上书店系统的设计与开发
摘要
Internet最早在美国出现,如今,世界各国纷纷加入到这个行列,使Internet成为全球化的网际网络。
随着用户的不断增加,其规模迅速扩大,它的领域也走向多元化。
在线书店交易网站就是Internet和电子商务发展的产物,近几年在我国发展迅猛,如同一些书店纷纷在各地开设分店以拉近书店与顾客间距离一样。
随着现今全民素质和科学技术水平的不断提高,知识更新的越来越快,人们随时都会有被淘汰的危机,为了不让被社会淘汰,做到与时俱进就必须多读书不断的学习,21世纪是网络的时代、信息的时代,时间是非常宝贵的,人们由于种种原因没有时间到书店去,也不知道哪家书店有自己需要的书籍,同时那些传统书店的经营者又没什么好的方法让人们知道我这就有顾客所需要的书籍,这种买卖双方之间信息交流上的阻碍成为“在线书店”网站发展的原动力。
在线书店网站的建立可以更好的解决这方面的问题,我们向广大用户推出的是一种全新的网上信息服务,旨在书店与消费者之间架起了一座高速、便捷的网上信息桥梁,我们的目的是节省您的时间、方便您的购书,使您永远走在时代的前沿。
关键词
Internet;网上书店;JSP;MysqlDatabase;Hibernate
目录
1引言5
1.1论文研究背景及意义5
2设计工具及开发环境5
2.1开发工具及环境5
2.2UML在面向对象设计与分析的运用6
2.2.1UML简介6
2.2.2UML的组成6
3系统需求分析7
3.1业务及系统角色7
3.2系统结构7
3.3用例需求9
3.4功能需求9
3.4.1部分流程功能9
3.4.2主要实现功能11
3.4.3网站功能概述11
4系统功能模块设计13
4.1功能模块设计13
4.1.1图书信息管理13
4.1.2购物车管理13
4.1.3会员管理13
4.1.4订单处理13
4.2系统组件功能表13
4.3系统功能流程图14
5数据库设计15
5.1数据库总体设计15
5.1.1数据信息组成15
5.1.2数据流程E-R图15
5.2数据库详细设计17
5.2.1数据库表结构设计18
5.2.2数据描述21
5.2.3数据库连接23
6系统实现24
6.1测试系统功能24
6.2系统界面展示25
6.2.1商城首页25
6.2.2会员登陆25
6.2.3购物车26
6.2.4订单查询27
6.2.5后台管理27
总结29
参考文献30
基于JSP的网上书店系统的设计与开发
1引言
1.1论文研究背景及意义
随着全球经济一体化的逐步发展和深入,在线书店已成为传统书店必不可少的经营策略之一.目前,在线书店在国际互联网上可以实现的商务已经多样化,可以完成从最基本的信息展示、信息发布功能到在线交易、在线客户服务、在线网站管理功能等,可以说,传统书店所具备的功能几乎都可以在互联网上进行电子化的高效动作。
虽然传统书店规模有所不同,随着网上交易的开展,都将有力地改变企业的发展空间,会对企业的竞争力产生不可忽视的影响。
作为一个虚拟的书店,在线书店具有很多新的特性,以下这些是它的优势:
其营业成本完全有理由比传统意义上的书店低得多:
不需支付昂贵的店铺租金,花费浩大的装修;不需要将大笔的流动资金作为货物而沉泣在店里,可依靠“零库存”管理,缩速资金周转的周期,可以加速周转;同时,在线书店更容易开拓全球市场,国际互联网,www顾名思义体现了全球的一体化;实现24小时营业,不需要营业员,在线书城可以被设置成一个自动售货机;可以利用多媒体促销,各种文字,图象和动画,声音,让受众全方位感受广告诉求;依靠客户数据库能够提供全新的个人化服务等等。
这些特性使在线书店充满生命力,也是它发展的源动力。
2设计工具及开发环境
2.1开发工具及环境
此次要开发的网上书店系统是一个在Internet网络环境下运行的系统,因此我采用的技术有Struts+Hibernate+JSP,开发工具为MyEclipse、应用服务器Tomcat、数据库MySQL。
MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大地提高工作效率。
它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML、Struts、JSF、CSS、Javascript、SQL、Hibernate。
Tomcat是Apache软件基金会(ApacheSoftwareFoundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。
Tomcat是一个轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。
实际上Tomcat部分是Apache服务器的扩展,但它是独立运行的,所以当你运行tomcat时,它实际上作为一个与Apache独立的进程单独运行的。
MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司。
在2008年1月16号被Sun公司收购,而2009年,SUN又被Oracle收购。
目前MySQL被广泛地应用在Internet上的中小型网站中。
由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
2.2UML在面向对象设计与分析的运用
2.2.1UML简介
UML(UnifiedModelingLanguage),统一建模语言。
它不是系统设计的方法,而是系统建模的标准。
它是软件界第一个统一的可视化的建模语言,已成为国际软件广泛承认的标准,应用领域很广泛,可用于商业建模(BusinessModeling)、软件开发建模的各个阶段,也可用于其它类型的系统。
它是一个通用的建模语言,具有创建系统的静态结构和动态行为等多种结构模型的能力,具有可扩展性和通用性,适合于多种、多变结构的建模。
2.2.2UML的组成
UML(UnifiedModelingLanguage),统一建模语言。
它不是系统设计的方法,而是系统建模的标准。
它是软件界第一个统一的可视化的建模语言,已成为国际软件广泛承认的标准,应用领域很广泛,可用于商业建模(BusinessModeling)、软件开发建模的各个阶段,也可用于其它类型的系统。
它是一个通用的建模语言,具有创建系统的静态结构和动态行为等多种结构模型的能力,具有可扩展性和通用性,适合于多种、多变结构的建模。
第3章系统需求分析
3.1业务及系统角色
系统角色
业务角色
功能权限
系统管理员
分类管理员管理
有对各分类管理员的增删查改的权力,以及赋予相应管理员的不同权限的功能.
订单管理员
会员订单管理
审核并管理会员的订单信息,具有修改,统计权限
会员管理员
注册会员管理
增删查改等共权限
商品管理员
书店商品管理
书籍上架,书籍添加修改资料等权限
普通会员
会员
查看书籍信息,购书等
3.2系统结构
系统结构是系统的最高层概念。
在开发网上书店系统的实例之前,应该先选择或定义好一个合适的系统结构。
该系统主要采用MVC三层模式,分别是模型(Model)层、视图(View)层和控制(Controller)层。
结构模型如图3.1所示:
图3.1MVC三层模式
模型(Model)层实现系统中的业务逻辑。
在MVC的三个部件中,模型(Model)层拥有最多的处理任务。
封装的是数据源和所有基于对这些数据的操作。
JavaBean分为业务类和数据实体,业务类处理业务数据、数据实体承载数据,基本上大多数的项目都是使用这种MVC的实现模式。
在一个组件中,Model往往表示组件的状态和操作状态的方法,如处理请求执行业务逻辑、访问数据库、封装数据等等。
封装的数据和行为必须是独立于任何的表现,提高可重复性,可以独立的测试,不要包含任何的Servlet和JSP的API。
视图(View)层用于与用户的交互,封装的是对数据源Model的一种显示。
一个模型可以由多个视图,而一个视图理论上也可以和不同的模型关联起来,通常用JSP来实现。
JSP(JavaServerPages)是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。
JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。
用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。
控制(Controller)层封装的是外界作用于模型的操作。
通常,这些操作会转发到模型上,并调用模型中相应的一个或者多个方法。
一般Controller在Model和View之间起到了沟通的作用,处理用户在View上的输入,并转发给Model。
这样Model和View两者之间可以做到松散耦合,甚至可以彼此不知道对方,而由Controller连接起这两个部分。
3.3用例需求
购物单管理模块用例列表
NO.
用例名称
优先级别
摘要描述
主要角色
1
购物单录入
1
会员登陆网站,确认购物.
会员
2
购物单审核
2
对购物单审核
商品管理员
3
分配送货员
3
确认购物单并准备配货
订单管理员
4
确认送货
4
已送货
订单管理员
会员注册管理模块用例列表
NO.
用例名称
优先级别
摘要描述
主要角色
1
注册会员
1
登陆网站注册会员
普通会员
2
注册审核
2
对会员注册进行确认审核
会员管理员
3
分配用户登记
3
确认用户登记
会员管理员
后台管理模块用例列表
NO.
用例名称
优先级别
摘要描述
主要角色
1
系统管理
1
系统登陆,关系各类管理员
系统管理员
2
商品管理
2
商品管理
商品管理员
3
会员管理
2
会员管理
会员管理员
4
订单管理
2
订单管理
订单管理员
3.4功能需求
3.4.1部分流程功能
图:
3.2主要介绍用户注册登陆流程功能.
图:
3.2用户注册部分功能说明
新用户必须注册并登陆后才能进行在线购买,否则会提示你还没有登陆的信息,也就不具有在线交易的权限。
用户登陆后,可以通过关键字、书籍类型、特价专卖等信息查询到用户想要查找的书籍信息。
根据前台用户的需求,画出以下E-R图
图:
3.3用户留言E-R图
3.4.2主要实现功能
网上书店系统的前台模块主要实现以下功能:
1.会员登陆及身份验证
A.用户注册成为会员
B.验证用户注册信息
C.会员登陆系统时的身份给证
D.修改资料
2.在线选购商品
A.浏览不同类别的书籍
B.书籍查询
C.用户选购自己喜爱的书籍并放入购物车
D.用户管理自己的购物车
E.用户提交订单
F.用户查看自己提交的订单信息
G.用户留言
3.系统管理
A.商品管理
B.订单管理
C.会员管理
D.管理员管理
3.4.3网站功能概述
该系统主要分为五大模块:
用户登录注册、网上购物、订单管理、在线留言和管理系统。
各模块的功能如下:
(一)、用户登录、注册
用户注册是为了保证用户在本网站的安全性,便于网站管理。
用户登录后才可以进行购物。
(二)、网上购物
用户在进行网上购物时,必须先登陆,如果是新用户,则必须先进行注册。
1、书籍展示
用户可以通过搜索的方式查看书籍信息,搜索的方式有:
按图书类别,特价区,新品上市分类。
每本书都显示了商品类别等。
如果想了解每本书的详细信息可以点击书名图片下的‘查看详情’。
详细信息还包括了类别、名称、型号、市场价、特价、内容简介等。
用户还可以通过直接输入书名进行查看。
2、购物车
用户在浏览书籍时,按下“购买”按钮,就可以将书籍放入自己的购物车中,便于购买。
用户还可以根据自己的需要,进行查看、修改和清空购物车的操作。
(三)、订单管理
为了用户更好的方便网上购物,设置了订单管理模块,用户可以多次挑选书籍到购物车中,最后一起统一结账.方便快捷.也可以更好的查看自己的购物信息!
(四)、在线留言
通过菜单“顾客留言”提交所要留言信息,以便得到管理员的解答或者评价书籍。
(五)、系统管理
管理系统是系统管理员对整个网站后台数据库进行维护,是此网站最重要的大门。
在进入本栏目时系统会提示输入系统管理员的用户名和密码,对于其他用户此界面是不可见的。
它包括商品管理、订单管理、会员管理和管理员管理,这里重点介绍商品管理。
商品管理包括图书库存管理、订单管理、图书销售情况管理。
1、图书库存管理
管理员可以添加书籍、添加特价书籍、添加书籍分类及修改书籍库存信息和删除书籍。
2、图书销售情况管理
管理员可根据日期和书号任一种或这两个条件作为查询条件,了解图书的销售情况。
3、订单管理
订单管理员可以查询所有订单记录信息,可以查看详细订单,受理,结单,删除订单等功能。
第4章系统功能模块设计
4.1功能模块设计
4.1.1图书信息管理
该模块实现图书书目信息的分类显示,也是提供图书信息依据书籍类型等信息快速搜索的功能。
此外,在用户选择了对应书目信息后,还可以显示出有关该图书的详细信息,以便于客户了解所购商品。
4.1.2购物车管理
用于维护每一个进入网上书店的客户对应的购物车。
即将客户所选购的图书商品信息记录到对应的购物车中,以便于到收银台进行结账处理。
4.1.3会员管理
实现网上书店客户信息的注册、及身份验证。
由于目前网上商城普遍采用的方式为送货上门或者邮寄,因此需要收集与客户相关的联系方式、通信地址等信息。
4.1.4订单处理
根据客户购物车中的信息,以及客户所选择的送货方式和付款方式,连同客户对应的个人信息生成订单,以便于后续进行送货处理。
4.2系统组件功能表
下表中给出了构成网上书店系统的各个组件,通过下表,可以从宏观上了解各个组件的功能。
组件功能表:
用户表示层(视图)
控制处理层(控制器)
业务逻辑层(模型)
adminMenu.jsp
ActionForm
Action
DB
cart.jsp
LoginForm
FirstAction
Constants
checkOrder.jsp
UserForm
BookDetailAction
Book
default.jsp
BookIdForm
BookSearchAction
Cart
index.jsp
BookCatIdForm
LoginAction
Order
leaveword.jsp
PageIdForm
BookBuyAction
member
merchandise.jsp
BookShopCartFrom
AddrConfirmAction
category
merInfo.jsp
BookSearchForm
ClearShopCartAction
sorry.jsp
DeliveryForm
OrderDelAction
Order.jsp
OrderIdForm
OrderHistoryAction
OrderInfo.jsp
PageCtrlAction
Search.jsp
RegistAction
submitOrder.jsp
sMerchandise.jsp
reg.jsp
UpdateShopCartAction
4.3系统功能流程图
如下图4.1主要介绍了系统功能的总体流程
图4.1系统功能总体流程图
第5章数据库设计
5.1数据库总体设计
5.1.1数据信息组成
根据系统功能需求,本系统由以下数据信息组成,分别是:
1>管理员信息表,其中包括商品管理员,订单管理员,会员管理员和系统管理员。
2>购物车信息表,其中包括订单编号,金额,下单时间,订单状态。
3>购物车查询信息,其中包括商品名称,市场价,会员价,数量,金额。
4>注册用户信息表,其中包括登录账号,会员等级,真实姓名,用户,密码,联系电话等等。
5>会员等级信息表,其中包括账号,姓名,会员级别,联系电话,注册时间等等
6>存储顾客购买的信息,其中包括顾客以前购买记录的信息。
7>存储订单的信息,其中包括某个用户每次购买商品的所有信息的记录。
8>订单信息表,其中包括管理员的姓名,密码。
9>管理员管理信息表,其中包括各类管理员的名字,权限等
5.1.2数据流程E-R图
如图5-1所示。
图5-1数据流程E-R图
数据库是一种存储数据并对数据进行操作的工具。
数据库的作用在于组织和表达信息,简而言之,数据库就是信息的集合。
计算机的数据库可以分为两类:
非关系数据库(flat-file)和关系数据库(relational)。
关系数据库中包含了多个数据表的信息,数据库含有各个不同部分的术语,象记录、域等。
考虑到用户的使用,网上书城的数据库设计主要分成这几个部分
1:
管理员信息表(admin)6:
注册会员信息表(member)
2:
购物车信息表(cart)7:
会员等级信息表(memberlevel)
3:
购物车查询表(cartselectedmer)8:
书籍详细信息表(merchandise)
4:
管理类型表(category)9:
订单信息表(order)
5:
下单信息表(leaveword)
后台管理,在建立数据库之间,首先要针对后台的功能需求建立数据模型,然后再建数据库。
画出部分的E-R图:
图5.32图书信息E-R图
5.2数据库详细设计
5.2.1数据库表结构设计
Admin表
列名
类型
索引
参照表
说明
ID
int
用户ID
AdminType
int
管理员类型
AdminName
char(12)
管理员名称
LoginName
char(12)
登陆名
LoginPwd
char(12)
登陆密码
图5.4管理员信息表
cart表
列名
类型
索引
参照表
说明
ID
int
订单编号
Member
int
会员
Money
decimal(9,2)
金额
CartStatus
int
购物状态
图5.5购物车信息表
cartselectedmer表
列名
类型
索引
参照表
说明
ID
int
用户ID
Cart
int
购物车
Merchandise
int
商品名称
Number
int
编号
Price
decimal(8,2)
价格
Money
decimal(9,2)
总价
图5.6购物车详细查询表
category表
列名
类型
索引
参照表
说明
ID
int
用户ID
CateName
char(40)
管理员类型
CateDesc
text
管理员类型描述
图5.7管理类型表
leaveword表
列名
类型
索引
参照表
说明
ID
int
下单编号
Member
int
购买会员
Admin
Int
订单管理员
Title
char(60)
类型
Content
text
内容
LeaveDate
datetime
下单时间
AnswerContent
test
回复内容
AnswerDate
datetime
回复时间
图5.8下单信息表
member表
列名
类型
索引
参照表
说明
ID
int
用户ID
MemberLevel
int
用户等级
LoginName
char(12)
登录名
LoginPwd
char(12)
登陆密码
MemberName
char(20)
会员名
Phone
char(15)
电话号码
Address
varchar(100)
地址
Zip
char(10)
会员优惠
RegDate
datetime
登陆日期
LastDate
datetime
退出时间
LoginTimes
int
登陆次数
EMail
varchar(100)
邮件
图5.9会员注册信息表
MemberLevel表
列名
类型
索引
参照表
说明
ID
int
用户ID
LevelName
char(20)
等级名称
Favourable
int
等级
图5.10会员等级表
merchandise表
列名
类型
索引
参表
说明
ID
int
书籍编号
Category
int
类型
MerName
char(40)
书名
Price
decimal(8,2)
市场价
SPrice
decimal(8,2)
特价
MerModel
char(40)
商品型号
Picture
varchar(100)
图片
MerDesc
text
描述
Manufacture
char(60)
厂家
LeaveFactoryDate
datetime
下单时间
Special
int
数量
图5.11书籍详细信息表
orders表
列名
类型
索引
参照表
说明
ID
int
订单编号
Member
int
用户
Cart
Int
购物车
OrderNO
char(20)
订单编号号
OrderDate
datetime
下单日期
OrderStatus
int
订单状态
图5.12订单表
5.2.2数据描述
系统关系结构图
图5.13系统关系结构图
数据流图
顶层数据流图
图5.14顶层数据流图
第一层数据流图
图5.15第二层数据流图
第二层数据