基于Java的网上书城的设计与实现.docx

上传人:b****7 文档编号:9064667 上传时间:2023-02-03 格式:DOCX 页数:37 大小:3.35MB
下载 相关 举报
基于Java的网上书城的设计与实现.docx_第1页
第1页 / 共37页
基于Java的网上书城的设计与实现.docx_第2页
第2页 / 共37页
基于Java的网上书城的设计与实现.docx_第3页
第3页 / 共37页
基于Java的网上书城的设计与实现.docx_第4页
第4页 / 共37页
基于Java的网上书城的设计与实现.docx_第5页
第5页 / 共37页
点击查看更多>>
下载资源
资源描述

基于Java的网上书城的设计与实现.docx

《基于Java的网上书城的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于Java的网上书城的设计与实现.docx(37页珍藏版)》请在冰豆网上搜索。

基于Java的网上书城的设计与实现.docx

基于Java的网上书城的设计与实现

编号:

1351101105

 

毕业设计

(2017届本科)

 

题目:

基于Java的网上书城的设计与实现

系(部)院:

信息技术与学院

专业:

计算机科学与技术

作者:

卫国

指导教师:

祁金佺职称:

讲师

完成日期:

2017年5月15日

河西学院本科生毕业论文(设计)诚信声明

本人重声明:

所呈交的本科毕业论文(设计),是本人在指导老师的指导下,独立进行研究(设计开发)工作所取得的成果,成果不存在知识产权争议,除文中已经注明引用的容外,本论文不含任何其他个人或集体已经发表或撰写过的作品成果。

对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明。

本人完全意识到本声明的法律结果由本人承担。

 

本科毕业论文(设计)作者签名:

二〇一七年五月十五日

摘要

进入二十一世纪,电子商务已经逐渐成为主流的商业模式,“当当”、“京东”和“淘宝”演变成为我们生活中的一部分、一种生活的习惯。

随着IT技术的进步和发展,网上书城已经成为一种新型的图书销售形式。

本文综合分析了网上书城的用户需求和系统业务流程,并针对分析和具体设计等进行了详细的介绍。

该系统通过分析客户的需求,确定了系统的功能模块,将网上书城功能模块分成两部分,即前台功能管理模块和后台功能管理模块。

前台功能管理模块,实现了首页展示、商城公告、销售排行、图书分类、购物车、订单生成等主要功能;后台管理模块,实现了后台登录功能、图书管理功能、用户管理功能、前台管理和订单管理功能等。

通过实现这些模块,用户可以很方便的实现网上购书的目的和管理员对书城更好的管理。

本系统采用了目前成熟完善的技术体系。

开发平台选用基于Java语言的MyEclipse,实现方式采用B/S架构,系统遵循J2EE模型体系和MVC设计模式,关键技术上选用目前Web系统主流的“Struts+Spring+Hibernate”开发手段。

 

关键词:

网上书城;电子商务;JSP;SSH;MVC

Abstract

E-commercehasgraduallybecomethemainstreambusinessmodelintwenty-firstCentury.E-platformslikeDangdang,JingdongandTaobaoplaysanessentialroleinourlife.Ontheconsequence,onlineshoppinghasbeenanormallifestyle.WithdevelopmentofITtechnology,onlinebookstoreshasbecomeanewapproachtobooksales.

Thispaperanalysesusers’needsoftheonlinebookstoresaswellastheprocessesofsystemservice.Focusingoncomprehensiveanalysesandspecificdesigns,thethesisprovidesadetailedintroduction.Fromtheanalysesofusers’needs,thesystemdeterminestwofunctionmodules,namelythefrontdeskmanagementfunctionmoduleandthebackstagemanagementfunctionmodule.Thefrontdeskthemanagementfunctionmodulehavethefollowingparts:

homepagedisplayandkeyrecommendation,onlineannouncement,salesrank,bookclassification,shoppingcartandorders.Whilethebackstagemanagementmodulecoverfunctionsofthebackendlogin,booksmanagement,usermanagement,andordermanagement.Throughtheeffectiveoperationofthesemodules,usersareeasilyablechooseandbuybooksonlinewhiletheadministratorcanmanagethewebsitemoreefficiently.

Thesystemadoptsadvancedanddevelopedtechnology.TheplatformemploysMyEclipsebasedonJavalanguagetousetheB/Sstructure.ThesystemfollowstheJ2EEsystemandtheMVCpattern.Referringthekeytechnology,thepopulartool,"Struts+Spring+Hibernate"inwebsystem,iswidelyused.

 

Keywords:

Onlinebookstore;E–commerce;JSP;SSH;MVC

 

第一章设计概述

1.1设计背景与意义

随着现代互联网技术的飞速发展,计算机网络已应用在我们生活的各个领域并发挥着举足轻重的作用。

网上书城凭其图书信息更新快、存储量大、达成交易安全性高、操作简便快捷等特点[1],迅速走进人们的日常生活。

通过计算机对图书销售的数据进行集中管理,可以随时查阅销售信息、发货信息、库存信息、财务信息从而做出正确决策[2],消费者也可以随时关注商品的相关信息和物流信息,这对于现代年轻人而言,有着极大的吸引力,所以开发一套管理方便、安全、可靠、快捷的网上书城销售管理系统无论对于图书商家还是普通消费者而言都是一件非常有必要的工作[3-5]。

1.2同类或相关系统的开发现状

在国外,影响较大的有美国的亚马逊,它成立之初只经营网络的书籍销售业务。

现在则扩及了围相当广的其他产品,已成为全球商品品种最多的网上零售商和全球第二大互联网企业[6]。

亚马逊商城首页如图1-1所示:

图1-1亚马逊商城首页图

国的网上书城,虽然起步较晚,但是由于我国人口基数大,需求量多,得力于人口红利的原因,所以我国网上书城的发展非常迅速。

目前我国运作和销售较好的大型网上书店,如当当、京东、天猫、文轩网、99网上书城,经营模式主要包括:

B2B、B2C、C2C。

当当网首页如图1-2所示:

图1-2当当网首页图

1.3选题的主要工作容

1.首先学习了解了本系统在当今流行背景下的趋势和潮流,收集查阅关于JSP技术在网上书城系统应用的相关参考文献资料,在当当网、亚马逊、京东商城、中国图书网、互动出版网等国大型网上图书销售进行点击购书实践。

2.利用JSP技术在网络上架构一个动态的电子购书虚拟,确定它的开发语言和开发工具以及相关技术等。

3.然后进入系统主要设计研究阶段。

根据需求分析及三层架构设计的思想,系统总的分为前台和后台两个子系统。

根据网上书城特点,系统将前台定为顾客操作界面,后台为管理员操作界面。

勾画出系统的总体框架、软件结构、数据流程图,完成系统概要设计,再完成前、后台模块的详细设计,实现系统各模块之间的整合,同时也完成了界面的设计和实现。

1.4本章小结

本章主要介绍了课题的设计背景和意义,同类或相关系统的开发现状,分别从国外及国进行介绍,最后介绍了选题的主要工作容。

为后续的工作奠定了坚实的基础。

第二章系统采用的相关技术

2.1MVC设计模式在系统中的应用

MVC(Model—View—Controller模型-视图-控制器)是被广泛接受和使用的一种软件设计典[7]。

其把一个软件应用分成了Model(模型)、View(视图)、Controller(控制器)三个部分,简化了系统的开发结构。

本系统的开发遵循了MVC框架的分层原则[8]。

2.2SSH框架在系统中的应用

本系统是用目前成熟的SSH框架为核心进行开发实现的,SSH框架是Struts+Spring+Hibernate三个开源框架的集成[9][10]。

SSH框架为四层:

控制层、业务逻辑层、数据持久层、和域模块层。

系统使用SSH框架进行开发,完全遵循MVC设计模式,使得模型、视图、控制器三层分离,同时业务逻辑层和数据持久层也有效的隔离开来。

2.2.1Struts2.0的应用

Struts2.0是Struts的第二代产品,是在WebWork的技术基础上开发了全新MVC框架[12][13][14]。

Struts2是SSH的整体基础框架,使MVC分离得以实现。

2.2.2Spring4.2.4的应用

Spring是一个开源框架,由RodJohnson在其著作ExpertOne-On-OneJ2EEDevelopmentandDesign中阐述的部分理念和原型衍生而来,为了解决企业级开发的复杂性而创建的,使用基本的JavaBean代替EJB。

总的来说,Spring是一轻量级的控制反转(IOC)和面向切面(AOP)编程的容器框架[16]。

Spring在SSH框架中充当着容器管理的角色,利用Spring的IOC(控制反转和依赖注入)机制控制着Struts所有的Action和业务逻辑处理类的生命周期,业务层的生命周期不再由Struts所控制,这样层与层之间实现了良好的解耦,有利于提高程序的开发效率,维护起来也更加方便。

Spring在SSH框架中的另外一个作用是实现事务控制。

我们在以往的系统开发过程中,当事务提交成功时,往往使用Try/Catch语句来完成异常的处理。

但是使用Spring的时候却不可如此大费周章,事务处理模板(TransactionTemplate)已经集成于Spring当中。

2.2.3Hibernate4.3.11的应用

Hibernate是一个开源的对象关系映射框架,其对JDBC作了轻量级的对象封装,使得Java程序员可以脱离底层sql语句并使用面向对象的编程思想来对数据库进行操作[17]。

通过Hibernate使数据库表和持久化对象之间的映射得以实现,Hibernate同时提供了处理数据库的一系列方法,程序员在系统开发中只需修改配置文件和编写数据库表的映射文件即可。

因此,开发人员对数据库的操作将会变得非常简单,减少了编写SQL语句使用JDBC操作数据库的时间,提高了程序的开发效率。

2.3Web服务器技术的应用

本系统采用Tomcat作为Web服务器。

Tomcat是一个免费的开源的Servlet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache、Sun和其它一些公司及个人共同开发而成。

因Sun参与并支持了Tomcat的开发,Tomcat对最新的Servlet和Jsp规都提供了良好的支持。

2.4MYSQL数据库的应用

本系统采用MySQL数据库。

MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,目前属于Oracle公司。

MySQL是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(关系数据库管理系统)应用软件之一。

2.5本章小结

本章主要介绍了系统采用的相关技术,确定使用市场主流的SSH框架,遵循MVC设计模式,数据库采用开源的MYSQL数据库,将Tomcat作为Web服务器。

第三章系统分析与设计

3.1系统分析

3.1.1用户角色分析

本系统的用户有三类,分别是超级管理员、普通管理员、普通用户。

系统管理员实现对普通管理员、普通用户、商品信息、商品类别、用户订单等的增删改查功能,普通管理员实现除不能管理普通管理员外所有超级管理员实现的功能,普通用户只有购物功能。

3.1.2需求分析

本是一个网上书城,供用户浏览然后购买书籍,所以本应具有登录、注册、加购物车、下单、支付、查看订单等一些商城必备功能。

3.2功能模块设计

3.2.1总体功能模块设计

本论文所实现的网上书城分为前台和后台模块。

前台模块实现了用户注册、用户登录、用户加购物车、订单用户查询、订单支付、图书搜索等功能,后台模块实现了前台管理、权限管理、图书信息管理、图书类别管理、订单管理、用户管理等功能。

图3-1功能模块图

3.2.2详细功能模块设计

3.2.2.1系统前台设计

1.用户注册模块

如果游客需要在本网上书城购买图书,则需要注册。

用户的注册信息包括用户名、用户密码、注册等信息。

注册页面对用户名、密码、等有相应的校验,如果用户相应项输入信息不对,则会有错误提示信息,注册成功则有注册成功的提示。

用户注册流程图如图3-2所示:

图3-2用户注册流程图

2.购物车模块

用户在商品详情页面点击加入购物车按钮,会将该图书添加到购物车,购物车显示图书书名、购买数量、单价、总价等信息;点击继续购买会跳回书城首页,继续购买感兴趣的图书;点击删除会删除购物车中某一图书;在数量选择框里修改图书的数量,相应的价格也随之改变;点击结账会跳转到订单信息填写页面,要求用户填写相应的信息。

购物车流程图如图3-3所示:

图3-3购物车流程图

3.订单查询模块

用户点击已买到的商品,如果没有登录,就会跳转到用户登录页面,登录之后跳回书城首页,即可进行订单查询。

订单查询会显示用户在本书城已提交的所有订单,订单包括的信息有图书数量、图书总价、收货人、收货地址、收货人联系方式、订单编号、订单详细信息、订单状态。

订单查询流程图如图3-4所示:

图3-4订单查询流程图

4.图书搜索模块

用户根据图书名关键字对图书进行搜索,结果为满足条件的图书信息列表。

图书搜索模块流程图如图3-5所示:

图3-5图书搜索流程图

5.订单支付模块

用户下单之后可以对订单进行支付。

3.2.2.2系统后台设计

1.权限管理模块

后台系统管理员对使用后台的人员进行权限管理。

点击系统管理下的权限管理,会列出系统所有的管理员信息;点击添加,页面会弹出添加管理员对话框,要求输入管理员账号、管理员密码、选择管理员类型;点击编辑,可以修改管理员类型、名称、密码等信息。

点击删除将删除一个管理员的全部信息。

2.用户管理模块

系统管理员可以对前台已注册的用户进行管理,点击用户管理下的查看用户,后台会显示所有的用户信息列表;点击删除按钮,可以删除一条用户信息。

3.图书类别管理模块

管理员可以对图书类别信息进行管理。

点击商品管理下的分类管理会显示所有图书类别的信息;点击添加,添加图书新类别详细信息,需要录入图书类别、图书类别描述信息;点击编辑,可修改当前选择图书类别信息;点击删除可以删除当前选择一条图书类别。

图书类别管理流程图如图3-6所示:

图3-6图书类别管理流程图

4.图书信息管理模块

管理员管理一本图书的详细信息。

单击商品管理下图书管理,后台会呈现所有图书的详细信息。

单击添加,要求输入图书名、图书类别、图书封面、图书编号、图书、出版日期、作者、价格等信息;单击修改,可以对图书信息进行修改;单击删除,可以删除一本或多本图书,图书信息管理流程图如图3-7所示:

图3-7图书信息管理流程图

5.订单管理模块

后台管理员可以对客户下的订单做相应管理。

点击订单管理,会根据订单状态,显示出已经支付订单和未支付订单,进一步点击会显示订单详情:

订单编号、订单价格、收货地址、订单状态等详细信息。

点击删除订单,可以删除一条订单记录。

6.前台管理模块

管理员登陆以后可以对前台首页显示的数据进行动态管理。

包括轮播图、商城公告、图书推荐、热门活动等信息的添加编辑删除。

3.3数据库设计

3.3.1数据库设计概述

数据库设计是指根据用户的实际需要,在某一特定的数据库管理系统上,建立及设计数据库,使之能够有效的地存储数据。

数据库作为一个应用系统的核心和基础,它把应用系统中的数据按照一定的数据模型组织起来,可以更新、存储、检索、维护应用系统中的数据,与此同时,应用系统也能及时有效的从数据库中获取想要的数据。

数据库是应用系统各个功能部分紧密联系在一起的桥梁,数据库的设计在系统开发中有着举足轻重的地位。

3.3.2数据库结构设计

从前面的需求分析可知,要实现网上书城的各个功能部分需要建立相应的数据表进行数据的存储操作。

表间关系图如图3-8所示:

图3-8表间关系图

1.管理员表

管理员表主要用来保存书城后台系统管理员的信息,该表的字段包括:

管理员编号、管理员名称、登录密码、管理员权限类别。

详细容见表3-1:

 

表3-1管理员表

列名

数据类型

默认值

说明

AdminId

Int

标识种子,自动递增(主键)

AdminName

varchar

管理员账号

AdminPwd

varchar

管理员密码

AdminFlag

varchar

管理员权限

2.图书信息表

图书信息表用来存储一本图书的详细信息,该表的字段包括:

图书名称、图书作者、图书价格、出版日期、、图书库存、图书封面等信息,详细容见表3-2:

表3-2图书信息表

列名

数据类型

默认值

说明

shopId

Int

标识种子,自动递增(主键)

shopName

varchar

图书名称

pic

varchar

图书封面

auth

varchar

图书作者

stock

Int

图书库存

publisher

varchar

图书

brief

varchar

图书简介

Price

Int

图书价格

count

Int

图书售出数量

typeID

Int

类型ID(外键)

3.图书类别表

图书类别表主要用来保存图书的类别信息,该表的字段包括:

图书类别编号、图书类别名称、类别描述,详细容见表3-3:

表3-3图书类别表

列名

数据类型

默认值

说明

typeID

Int

标识种子,自动递增(主键)

typeName

varchar

图书类别名称

typeDescr

varchar

类别描述

4.用户信息表

用户信息表主要用来保存用户信息,该表的字段包括:

用户编号、用户登录名、登录密码、注册,详细容见表3-4:

 

表3-4用户信息表

列名

数据类型

默认值

说明

id

Int

用户编号,自动递增(主键)

name

varchar

用户登录名

pwd

varchar

用户密码

email

varchar

用户

5.订单信息表

订单信息表主要用来保存订单信息,该表的字段包括:

订单总价、订单时间、订单编号、用户名称、订单地址、支付状态,详细容见表3-5:

表3-5订单信息表

列名

数据类型

默认值

说明

id

varchar

订单编号,uuid生成策略(主键)

money

Double

订单价格

paystate

Int

支付状态

ordertime

varchar

订单时间

receiverAddress

varchar

订单地址

user_id

Int

用户ID

6.订单详情表

订单详情表主要用来保存所有订单详情,该表的字段包括:

订单详情编号、图书编号、订单编号、订单中每本书的数量,详细容见表3-6:

表3-6订单详情表

列名

数据类型

默认值

说明

itemid

varchar

订单项编号,uuid生成策略(主键)

buynum

Int

商品数量

order_id

varchar

订单ID

shop_id

Int

商品ID

7.用户地址表

用户地址表主要用来保存所有用户的地址,该表的字段包括:

地址编号、详细地址、用户ID,详细容见表3-7:

表3-7用户地址表

列名

数据类型

默认值

说明

adrId

Int

地址编号,自动增长(主键)

addr

varchar

详细地址

id

Int

用户ID

8.商品推荐表

商品推荐表主要用来保存推荐商品的信息,字段与图书信息表一致。

9.轮播图片表

轮播图片表主要用来保存首页轮播图片的信息。

该表的字段包括:

图片编号、图片名称、图片路径、图书ID,详细类容见表3-8:

表3-8轮播图片表

列名

数据类型

默认值

说明

id

Int

轮播图片编号,自动增长(主键)

name

varchar

图片名

img

varchar

图片路径

shopid

Int

图书ID

3.4本章小结

本章主要介绍了系统的分析与设计。

从系统分析、功能模块设计、以及数据库设计三个方面阐述了实现该系统需要完成的工作。

第四章系统实现

4.1系统开发配置

本系统采用的是SSH框架进行开发的,所以第一步需要完成的就是整合好Struts2、Spring、hibernate。

SSH框架以Spring为主体,其Ioc机制用来管理Struts2的action和hibernate的SessionFactory。

整个框架的配置文件包括web.xml、struts.xml以及bean.xml。

4.2前台功能模块实现

1.首页展示

不管是游客还是已注册用户通过首页都可以访问本页面,本页面有几个板块组成,分别是头部导航区,数据显示区和页脚部分。

首页展示页面如下图4-1所示:

图4-1首页展示页面

2.用户注册

游客需要注册成为书城的用户才能在书城进行购书操作,用户注册首页界面展示如图4-2所示:

图4-2用户注册页面

用户填写相应的信息,注册信息必须匹配相应规则,否则注册失败。

注册信息输入正确之后点击注册按钮,即可注册成功,关键代码如下所示:

publicStringregister()throwsException{

Useruser=newUser();

user.setName(name);

user.setPwd(MD5Utils.md5(pwd));

user.setEmail(email);

userservice.sava(user);

return"register";

}

//dao

publicvoidsava(Useruser){

//TODOAuto-generatedmethodstub

sessionFactory.getCurrentSession().save(user);

}

3

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 电子电路

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1