Java ssm开发的多商家书店商城,用户可以浏览商品,加入购物车,直接下单支付,在我的个人中心里可以管理自己的订单,收货地址,编辑资料等,还可以申请开店,店铺开通后可以发布商品,上下架商品,处理订单。管理员可以管理分类,上下架以及删除任何商品,审核店铺等。
演示视频 https://www.bilibili.com/video/BV1PV411b7Ub/?share_source=copy_web&vd_source=ed0f04fbb713154db5cc611225d92156
ssm+mysql+jquery+bootstrap+jsp+ajax
注册用户+管理员+商家
首页,搜索商品,搜索店铺,详情页,可选择不同规格显示不同的商品价格,加入购物车,立即购买,评价列表展示,商品详情展示,商品评分,分类商品,标签查询,更多分类查询,登录,注册,店铺主页,店铺商品列表,店铺内商品搜索,店铺详情。
编辑资料:上传头像;
收货地址管理:添加、编辑、删除、分页、设为默认地址;
购物车:可修改购买数量,可删除,可批量付款,也可单个付款;
确认支付订单:修改收货地址,添加备注;
我的订单(订单没有合并,一个商品一个订单哦):待支付订单(支付,取消订单),待发货订单,待确认订单,待评价订单,已评价订单(查看评价),待退款订单,已退款订单;
店铺申请和管理:编辑店铺信息,提交店铺申请,上传店铺主图。
发布商品:填写商品规格价格等基本信息、详情、上传封面主图;
商品管理: 编辑、删除、分页、根据名称查询,上架,下架;
订单管理:待支付订单,待发货订单(发货),待确认订单,待评价订单,已评价订单(查看评价),待退款订单(退款处理),已退款订单;
登录,退出登录。
分类管理:添加、编辑、删除、分页、根据名称查询;
标签管理:添加、编辑、删除、分页、根据名称分类查询;
商品管理: 删除、分页、根据名称查询 ,上架,下架;
订单管理:待支付订单,待发货订单(发货),待确认订单,待评价订单,已评价订单(查看评价),待退款订单(退款处理),已退款订单;
用户管理: 分页、根据昵称手机号查询;
店铺审核: 分页、根据手机号昵称审核状态查询、审核通过、审核不通过、关闭店铺;
登录,退出登录。
自从人类进入21世纪,我们好像按下了历史的快捷键,生活节奏越来越快,越来越喜欢便捷的生活方式。而“互联网+”经济概念的出现,不仅使我们的实体业也迎来了第二春,还让我们可以足不出户逛遍全世界。“互联网+”经济也给我们的书店带了新的生机,所以我就选择开发一个在线书店系统。
我开发的在线书店采用的是前后端完全分离模式。模块有管理员模块、店铺模块和用户模块。
管理员登陆后,管理员通过管理员特有的菜单来管理在线书店。其主要功能是对分类、标签、商品、订单、用户、店铺管理。分类,标签功能:对书店内的图书类型标签进行增删改查。商品管理:对商家出售的图书进行管理,如上架,下架等操作,用户管理是对注册书店账号的人进行查阅。店铺管理:对个人申请店铺进行批准或拒绝,或对已有的商店进行关闭。
用户进入系统可以进行浏览图书、个人中心和创建创建店铺等操作。在个人中心里,用户可以查看并且修改自己的基础信息以及登陆密码。在个人中心我们还可以对自己的各项订单进行管理。在主页里可以浏览图书,对喜欢的图书进行添加购物车,然后进行购买支付。也可以进行创建自己的店铺,输入自己店铺的相关信息并且提交申请即可。
Java在我们国家的市场占有率最高,相对于其他语言,Java所编写的程序有更高的可靠性,强大的移植性,而且可以在任何平台上使用的跨平台能力。MySQL使用方便,功能强大,最重要的是开源,基于以上我便决定采用Java技术和MySQL数据库技术相结合来开发本论文的系统。
【关键词】:JAVA技术;MySQL数据库;图书;在线书店;信息管理系统
Abstract
Since the 21st century, we seem to press the shortcut of history, the pace of life is faster and faster, and we like the convenient way of life. The emergence of the “Internet plus” economic concept has not only brought our physical industry to the second spring.So I chose to develop an online bookstore system.
I developed an online bookstore, front and rear end separation. The module has administrator module, and user module.
After the administrator logs in, the administrator manages the online bookstore through the menu unique to the administrator. Its main functions are: classification management, label management, commodity management, order management, user management, shop management. Classification, label function: add, delete, and check the book type labels in the bookstore. Commodity management: manage the books sold by the merchants, such as the operation of putting on the shelf and off shelf. The user management refers to the person who registers the bookstore account number. Store management: approve or reject individual application stores or close existing stores.
Users can browse books, personal center and create shops in the system. In the personal center, users can view and modify their basic information and login password. And can manage your own orders. You can browse books on the home page, add shopping cart to your favorite books, and then pay for them. You can also create your own store, enter the relevant information of your own store and submit an application.
Java programs have higher reliability, strong portability, and cross platform capabilities that can be used on any platform. MySQL is easy to use and powerful. The most important is open source. Based on the above, I decided to use Java technology and MySQL database technology to develop the system of this paper.
【keywords】:Java technology; MySQL database; books; online bookstore; information management system.
目录
摘 要 I
Abstract II
第1章 引 言 4
1.1研究背景 4
1.2 目的和意义 4
1.3 研究现状 5
1.4 本文组织结构 5
第2章 系统相关技术介绍 6
2.1 Java语言 6
2.2 MySQL数据库 6
2.3 B/S结构 7
2.4 SSM框架 7
第3章 需求分析 8
3.1 需求 8
3.2 技术的可行性 8
3.3 适用范围的可行性 8
3.4 操作可行性 8
3.5 经济可行性 8
第四章 系统分析与设计 9
4.1 总体设计 9
4.2 系统功能模块概述 9
4.3 系统功能模块设计 10
4.4 系统用例分析 10
4.5 数据库设计 11
4.5.1 核心E-R图 11
4.5.2 数据库表的设计 13
4.6系统流程分析 16
4.6.1 系统开发流程 16
4.6.2 用户登录流程 17
4.6.3 系统操作流程 17
4.6.4 分类管理流程 18
4.6.5 标签管理流程 18
4.6.6 商品管理流程 19
4.7 系统安全性 19
第5章 系统实现 20
5.1 管理员模块 20
5.1.1 分类管理 21
5.1.2 标签管理 22
5.1.3 图书管理 24
5.1.4 用户管理 27
5.1.5 店铺管理 28
5.2 前台功能模块 29
5.2.1 用户注册登录管理 29
5.2.2 个人中心 31
5.2.3 购物车 33
第6章 系统测试 34
6.1 系统测试目的与意义 34
6.2 测试方法 34
6.3 测试用例 34
6.4 测试结论 40
第七章 结束语 42
参考文献 43
致 谢 44
第1章 引 言
1.1研究背景
互联网带给我们的不仅获得信息,获得知识方式上的变迁,更是对现有的商业模式和消费观念的一种冲击。随着互联网技术的不断发展,电子商务慢慢成为全球经济发展中的牵引力,网上购物作为一种崭新的消费模式也越来越受到人们的关注。在线书店作为网上购物的一部分也有了较快的发展。书籍作为最适合在网上进行交易的直售商品之一,其成本低廉,标准简单,需求较大,售出方便,被许多电子商务公司所以喜爱,也都涉足了图书销售业务。正是基于这种情况许多出版发行商也开始利用网络进行图书的电子交易活动。
1.2 目的和意义
在线书店是时代的产物,它有着必然性,是历史的选择。随着互联网技术的发展,人与人的距离变得越来越近,而人们在网上消费的时间占比也越来越重,网上购物也越来越常见,随着线上书店的出现,大大节约了人们出行购书的时间,也更方便人们找书,在服务方面,线上的服务也越来越完善,一点不比实体店差。在线书店的主要目的是实现人们足不出户,就能买到自己想要的书。
随着多边主义的逐步发展和深入,在线书店基于安全,高效,便捷,以及可开发性,适用性和灵活性等基本原则进行设计,也被越来越多的实体书店作为自己的延伸,来拓展自己的的销售网。在线书店功能也越来越多样化,现在实体书店所具备的功能,在线书店基本都能实现,而随着时代不断发展,在线书店必将是人们的选择。
基于如此,我就决定以Java技术与MySQL数据库相结合开发一个在线书店作为毕业设计项目。
1.3 研究现状
亚马逊书店是世界上第一家线上书店,它创立于1995年,然而我们国家第一家真正的线上书店是中国现代书店,它创立的时间是1997年。从起步时间来看我国的在线书店的起步不落后于国外。书店的线上业务开始到至今,大致经历了四个发展阶段。在经过一系列的市场经济优胜劣汰,到目前为止当当网,文轩网是我国运营最成功最具影响力的线上书店。
随着我国经济实力的不断增长,逐步实现中华民族伟大复兴,人们越来越富裕,网上购物也成了常态。根据智研咨询发布《2020——2026年中国移动购物APP行业市场前景规划基于分析报告》显示:“根据预测,2020年中国网购用户数量将达6.59亿人,网购渗透率达79.5%,交易金额将达6.82万亿元。”,随着中国电子商务市场越来越成熟,完善,在线书店行业也将得到进一步发展。
互联网发展至今,它已经融入到我们的生活各个方面,我们也越来越离不开互联网了,而且随着5G时代的到来,我们已经慢慢进入万物互联的时代,而且书籍是我们离不开的物质需求,它所蕴含的精神需求我们更离不开,这也是我开发在线书店这个系统的原因。
1.4 本文组织结构
第1章,引言:系统的介绍研究背景、目的、意义和在线书店的现状。
第2章,系统相关性技术介绍:本次项目所运用的技术进行介绍。
第3章,需求分析:对系统的目的进行分析以及实现所需的各项可行性。
第4章,系统分析与设计:对本系统所需要拥有的功能进行具体分析并设计的介绍。
第5章,系统实现:展示本系统的各项功能。
第6章,系统测试:对本系统的一些功能进行测试。
第7章,结束语:对本次开发系统进行总结。
第2章 系统相关技术介绍
2.1 Java语言
Java是由Sun公司发布的,它是Java程序设计语言和Java平台的总称。从发布到现在已有20多年的历史,因为其强大的特性且是开源,所以吸引了众多世界各地的编程开发人员及爱好者,他们使用Java语言开发出各种各样的程序。
Java是一种计算机高级编程语言,它最显著的特点是“跨平台,高迸发”,在我国Java的市场占有率是最高的,它是脱胎于C语言和C++语言。继承了它们的核心,摒弃了它们在编程时带来的一些问题。在Sun公司看来:“Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言”
Java的执行原理是先将源代码编译成字节码(即.class文件),然后同不同平台的虚拟机来解释字节码(即转义成.java文件),从而实现了“一次编写,到处运行”的跨平台特性。
2.2 MySQL数据库
数据库是计算机专门存储数据资源的地方。它有关系型数据库,和非关系型数据库这两大类。常用的数据库除了有MySQL数据库,还要有Oracle数据库、SQL Server数据库、和主流的关系型数据库Redis数据库等。在线书店的数据库我之所以选用MySQL 数据库,是因为它是一款安全、跨平台、高效的数据库。不仅如此它还有体积小、速度快、成本低、开源等优势。
MySQL提供了多种存储引擎,使用场合宽泛,功能十分强大。跟Java语言联系紧密,同样拥有跨平台的特性,可以支持至少20种以上的开发平台,是目前为止运行速度最快的的那批数据库。同时还具备高安全,容量大,成本低等特点。
基于MySQL优势和特点本系统就选用其作为数据存储的容器。
2.3 B/S结构
B/S结构是浏览器与服务器之间交互的一种结构。它的出现是随着互联网技术的不断发展,C/S结构越来越不满足人们在开发中的需求,于是对C/S进行改进于完善其功能,就有了B/S结构。它的工作原理是,浏览器主要实现用户工作界面,服务器主要实现事务逻辑,即浏览器发送一个请求给服务器,服务器响应之后,经过实现事务逻辑,将结果返回给浏览器。这样就形成所谓的三层结构,即模型层、控制层和视图层。用户通过视图层,让控制层调用模型层的数据,然后控制层在返回调用的数据给到视图层,从而实现浏览器与服务器之间的交互。三层相互独立,维护方便,使用安全,三层又互相调用,提高效率,大大降低了用户的成本。
2.4 SSM框架
SSM框架说的是Spring框架,SpringMVC框架和Mybatis框架这三种框架,SSM框架也是目前最主流Java EE企业级框架。
Spring框架它最重要的是控制反转(IOC)和面向切面(AOP)。
控制反转不是一个具体的功能,而是一个概念。传统程序缺乏控制反转,表现出的高耦合,难以测试,但是有了控制反转这一切都不是问题。而控制反转只是一种思想,它最重要的的是依赖注入,依赖注入的目的不是为了给系统带来更多的功能,而是对系统的优化,让其变得更加灵活。控制反转和依赖注入它们的关系就像是多态一样,同一个事物的不同表现形式,它们的本质就是同一思想下的不同表现。
面向切面(AOP)它同样不是一个具体的功能,它是Spring的一种特性。我们可以通过动态代理和静态织入来实现AOP技术。动态代理的原理就是通过截取其他对象的消息,然后对截取到的信息进行伪装,最后代替原对象进行执行。静态织入就是引入一些特定的方法去创建一个切面,然后再编译期间可以织入有关切面的代码。
Spring MVC是用来支持Spring,并且连接Spring和Mybatis框架的一种框架,它让控制器,模型,分派器以及处理程序对象的角色经行分离,让开发变得更加简单,规范。
Mybatis它是基于Java的一种持久层框架。它用来连接数据库,并通过XML文件或者注解来让我们对数据库的增删改查更加的方便。
第3章 需求分析
3.1 需求
在线书店主要的目的和功能是实现网上图书售卖的相关信息管理服务。再明确我的目的之后,我将从以下几个方面来进行是否能实现在线书店来进行可行性分析。
3.2 技术的可行性
我的毕设在线书店是运用Java技术,基于B/S结构,再结合MySQL数据库,以及运用了SSM框架来开发,对于在线书店的开发技术已经达到要求,再加上开发人员也就是我本人也有一些小项目的经验,所以我认为在线书店的开发是可行的。
3.3 适用范围的可行性
本论文的在线书店的设想是一个售卖图书的一个平台,书籍类别覆盖广,种类多,书籍可添加删除,适合全年龄段,各类人群使用,而开发在线书店所需要的的硬软件以及开发环境,简单易得,所以在适用范围方面来讲具有很高的可行性。
3.4 操作可行性
在线书店这个系统界面清晰,操作起来也很简单。进入在线书店看到的是书店的整体界面,拥有账号的用户可以进行登录操作,没有账号的用户可选择注册操作,然后进行登录操作。总体来说操作执行力很高,所以我认为操作的可行性是完全可以通过的。
3.5 经济可行性
开发在线书店所需要的硬件,以及开发平台,开发环境等软件价值低廉,但是开发出来的在线书店系统如果操作得当收益巨大,总的来说就是成本低收益大,所以我认为具有非常高的经济可行性。
第四章 系统分析与设计
4.1 总体设计
在需求分析达标之后,就可以开始设计系统。先大概设想系统所要具备的模块,然后根据模块设计相应的功能,即先大体设计系统框架,然后添加功能,之后在整理出开发文档。
4.2 系统功能模块概述
我对于在线书店设计,先只一个大概轮廓的勾勒,然后整体设计,在对各个模块进行小的整体设计,最后来确定一个最优解。在线书店模块有分为用户模块、管理员模块和店铺模块。
用户模块:
用户进入系统可以进行浏览图书、个人中心和创建创建店铺等操作。在个人中心里,用户可以查看并且修改自己的基础信息以及登陆密码。并且可以对自己的订单进行管理。在主页里可以浏览图书,对喜欢的图书进行添加购物车,然后进行购买支付。也可以进行创建自己的店铺,输入自己店铺的相关信息并且提交申请即可。
管理员模块:
管理员登陆后,管理员通过管理员特有的菜单来管理在线书店。其主要功能是是对分类、标签、商品、订单、用户、店铺管理。分类,标签功能:对书店内的图书类型标签进行增删改查。商品管理:对商家出售的图书进行管理,如上架,下架等操作,用户管理是对注册书店账号的人进行查阅。店铺管理:对个人申请店铺进行批准或拒绝,或对已有的商店进行关闭。
店铺模块:
用户可以申请店铺,申请通过之后就获得了店家的身份,可以发布自己售卖的图书,也可以对买家的订单进行查看与管理。
4.3 系统功能模块设计
在线书店包括的模块有:用户和管理员模块如图4-1所示
图4-1用户和管理员模块
4.4 系统用例分析
超级管理员对在线书店进行管理,当管理员进入在线书店之后,通过专属菜单来管理分类,标签,商品,订单,用户,店铺,管理员用例图如图4-6所示。
图4-2管理员用例图
用户进入系统进行登录操作可以进行图书的浏览、根据自己的喜好来添加购物车,对个人中心进行操作等。用户用例如图4-3所示。
图4-3用户用例图
4.5 数据库设计
数据库设计有6个阶段,现在我们主要讨论其中的第2个阶段,即概念结构设计阶段。
概念结构是各个实体之间的关系来建立起来的模型(即E-R模型)。E-R模型包含实体,实体的属性,实体与实体之间的关系,E-R图则是用来表示这一模型的结果。下面设计出这几个关键实体的实体—关系图。
4.5.1 核心E-R图
在分析在线书店所需要的实体之后,再根据各个实体的属性以及实体它们之间的关系,我们得到了在线书店总的E-R,如下图4-4所示;
图4-4在线书店 E-R图
按设计规划本系统主要实体类型有:图书分类管理实体,图书信息管理实体,管理实体和普通用户实体,图书分类管理E-R图如图4-5所示:
图4-5图书分类管理E-R图
图书信息E-R图如图4-6所示: