ImageVerifierCode 换一换
格式:DOCX , 页数:43 ,大小:3.33MB ,
资源ID:27109343      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/27109343.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于SSM的商城系统设计.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于SSM的商城系统设计.docx

1、基于SSM的商城系统设计内容摘要现如今这个时代,“上网购物”这种购物方式已经成为购物主流。在这种背景之下,可靠的网上商城系统不可或缺,网上购物系统自然而然成为必须。它可以使消费者更加方便地购物,更快地满足顾客的需求,也可以让用户选择自己真正喜欢的商品。目前市面上已经有现成、稳定的商品销售系统,但存在操作复杂、维护繁琐等问题。这些因素直接导致了销售系统在目前市场上的推广受到了限制,开发出费用低廉、功能强大的系统正是我们需要解决的问题。该系统提供商品在线分享购买的平台,划分用户和管理员两个角色,用户功能有登陆、注册、商品分类展示、商品详情展示分享等,管理员部分的功能有商品分类管理,商品管理等本课题

2、采用JAVA EE平台,基于B/S结构,SSM框架技术。 关键词:javaEE ssm B/S结构 线上购物系统 AbstractNowadays, online shopping has become the mainstream of shopping. In this context, a safe, stable and powerful online shopping mall system is indispensable. Driven by this mature market demand, online shopping system came into being. It

3、 can make consumers more convenient to shop, faster to meet the needs of customers, but also allows users to choose what they really like. At present, there are relatively mature commodity sales system in the market, but the existing commodity website system has more or less complex maintenance, ope

4、ration and other issues. Some systems even directly use static web pages to publish commodity information, which directly leads to the limitation of the marketing system in the current market. The system is used by businesses and customers, and provides a platform for online sharing and purchase of

5、goods. The functions of the administrator part include commodity classification management and commodity management , order management, user management, message management, etc.This project adopts Java EE platform, SSM framework technology, and is based on B / S structure Key words:javaEE; SSM; B /

6、S structure; online shopping;绪论1.1研究背景现如今这个时代,“上网购物”这种购物方式已经成为购物主流。在这种背景之下,可靠的网上商城系统不可或缺,网上购物系统自然而然成为必须。它可以使消费者更加方便地购物,更快地满足顾客的需求,也可以让用户选择自己真正喜欢的商品。目前市面上已经有现成、稳定的商品销售系统,但存在操作复杂、维护繁琐等问题。这些因素直接导致了销售系统在目前市场上的推广受到了限制,开发出费用低廉、功能强大的系统正是我们需要解决的问题。1.2目的和意义商家应用此软件之后,可以降低销售难度,降低人力成本,增加销售业绩。应用此软件是为了在打破传统线下销售模式

7、,再开辟一条新的销售通路,控制库存量。此软件的数据统计分析功能完善可拓展,成熟稳定、使用非常方便、界面简洁明了、操作简单不需要学习成本,可以成为一个能真正帮助商家销售发展的有力工具。1.3开发工具及技术Jsp用于前端页面设计,java用于后端数据维护。实现该系统,使用spring和spring-Mvc的同时后端还使用了MyBatis框架对数据库中的数据进行封装和操作。系统的架构也是基与mvc设计模式。Mybatis是一个经典的后端开源框架,原理是mybatis框架自动依据开发者自建的XML文件映射(一种声明)创建出会话工厂,然后会话工厂根据配置文件创出SqlSession对象,该对象包含了执行

8、sql所需要的所有方法,可以通过SqlSession这个对象执行所有事先声明的方法使用数据库完成所需目的,操作结束后执行相应的事务控制。本次采用的是spring的声明式 方式。 1功能需求分析1.1网站前台功能1.首页商品展示:展示出最新商品和热门商品。2.首页:提供一个网站首页,显示该企业的商标,该网站用户的登录,注册,所有商品的一级分类,热门商品和最新商品的展示等。3.用户登录:已经注册的用户登录。4.用户注册:用户完成注册功能的使用,利用ajax发送异步请求校验5.用户退出:已经登录的用户退出系统。6.分类页面商品展示:根据一级分类和二级分类去展示该分类下的所有商品7.商品详情展示:点击

9、某个商品时可以展示该商品的具体详细信息。8.购物车:用于存放用户的购物内容9.订单:用户查看订单1.2网站后台功能1.管理员登录2.商品一级、二级分类管理:管理者可以对前台显示的一级、二级分类进行增删改3.商品管理:管理者可以对前台显示的商品进行管理包括增删改查,以及上传商品图片。4.用户管理:查看该网站中所有用户的所有信息。1.3系统用户用例图2.2.0用户用例图2.2.1管理员用例图2系统设计2.1系统的总体设计系统的开发采用B/S模式,基于ssm框架。SSM框架是目前J2EE领域中最热门而且用的比较成熟的一套开源框架,它是基于MVC设计模式之上,充分发挥了MVC的优点。SSM是一套轻量级

10、框架,系统功能模块结构图如图3-1所示:图3-12.2数据库的分析与设计 数据库使用 mysql,版本为5.5+ 3.2.1数据库概念设计数据库各实体描述:用户:包括如图所示九个字段 图3-2-1 用户实体联系图管理员包含的字段如图显示:3.2.1-2 管理员实体图商品实体:商品包含的字段如图所示:订单包含的字段如图所示:3.2.2数据库物理结构该系统设计了7张表,在这里列出7张表分别为如下所示:数据库表总览描述表一级商品分类表category管理员表adminuser二级商品分类表categorysecond管理员表主要记录了管理员的基本消息,表结构如表3-1所示。管理员表3-1(admin

11、user)数据类型允许空值(默认NO)自动递增备注idINT (11)YESYES账号usernameVARCHAR(1000)NONO用户名passwordVARCHAR (1000)NONO密码一级分类表主要记录了一级分类的基本信息,表结构如图3-2所示。一级分类表3-2(category)数据类型允许空值(默认NO)自动递增备注cidINT (11)YESYES一级分类IDcnameVARCHAR (1000)NONO一级分类名二级分类表主要记录了二级分类的基本信息,表结构如图3-3所示。二级分类表3-3(categorysecond)数据类型允许空值(默认NO)自动递增备注CsidIN

12、T (11)YESYES二级分类idCsnameVARCHAR (1000)NO二级分类名称cidVARCHAR (1000)NO所属一级分类id订单项表主要记录了订单项的基本信息,表结构如图3-4所示。订单项表3-4(orderitem)-数据类型允许空值(默认NO)自动递增备注OiidINT (11)YESYES订单项idcountVARCHAR (1000)购买数量subtotalDOUBLE单项总价idPidINT (11)所购商品idcidINT (11)所属订单id订单表主要记录了订单的基本信息,表结构如图3-5所示。订单表3-5(order)-允许空值(默认NO)自动递增数据类型

13、备注oidYESYESINT (11)订单idmoneyDOUBLE订单总价stateINT (11)订单状态ReceiveinfoVARCHAR (255)收货地址phonumVARCHAR (255)收货人电话Order_timeDATETIME下单时间UidINT (11)所属用户id商品表主要记录了商品的基本信息,表结构如图3-6所示。商品表3-6(product)-允许空值(默认NO)自动递增数据类型备注PidYESYESINT(11)商品idPnameVARCHAR (255)商品名称Market_priceINT (11)市场价Shop_priceVARCHAR (255)商城价

14、imageVARCHAR (255)商品图片PdescVARCHAR (255)商品描述Is_hotINT (11)是否热门PdateDatetime商品上架日期csidINT (11)所属二级分类id前台用户表结构如图所示。前台用户表3-7(user)-数据类型允许空值(默认NO)自动递增备注UidINT (11)YESYES用户idUsernameVARCHAR (255)用户名passwordVARCHAR (255)用户密码NameVARCHAR (255)用户真实姓名EmailVARCHAR (255)用户邮箱PhoneVARCHAR (255)用户手机号AddrVARCHAR (2

15、55)用户地址3系统主要功能实现3.1系统注册页面实现3.1.1客户端用户注册注册效果如图4-1所示: 图4-1客户端用户注册界面3.2系统登录页面实现3.2.1用户登录系统登录界面程序运行如下图所示: 图4-2登录页面3.2.2管理员用户登录运行结果如图,图4-3为管理员登录页面,图4-4为管理员登录成功后跳转的页面图4-3 后台登录页面图4-4管理员页面3.33.44.3系统前台功能实现系统前台页面包括以下几个部分:首页一级、二级商品分类显示,已登录用户的订单展示。4.3.1一级分类模块查询一级分类说明:一级分类存储在数据库中,如果在同一时间的用户访问该网站的第一个分类的审讯主页。在图4-

16、5的分类显示:图4-5 一级分类显示设计思路:一级分类展示于系统的首页,当用户访问index.action时,跳转到首页,跳转之前,系统进行查询,将结果存放到session中查询一级分类下的子分类描述:用户进入主页后,点击某一级分类,即查询该分类下的二级分类,发出请求得到数据。效果图如图4-6所示: 图4-6二级分类设计思路:查询一级分类后,用户发出请求再根据域中一级分类id查询其子分类(二级分类),再将数据放入域中。主要代码: 4.3.2商品模块查询最热商品描述:当用户访问该网站时,首先显示的是网站的首页,首页中将显示本网站中最热的商品。程序运行结果如图4-7所示:图4-7 首页热门商品展示

17、设计思路:用户访问首页index时,根据路劲“/index.action”首先调用的是系统的index.action,最后跳转至系统的首页index.jsp,因为最热商品显示于首页中,因此在页面跳转之前必须前往数据库查询出本系统中所有的热门商品,因此使用了findHotProduct()这个方法,由于首页中仅仅显示了最新商品中的前十个,因此这里是使用的分页查询,最终查询的结果是一个list集合,最终保存在Model中。查询最新商品描述:当用户访问该网站时,首先显示的是网站的首页,首页中将显示本网站中最新的商品。程序运行结果如图4-8所示:图4-8首页最新商品设计思路:用户访问首页index时,

18、根据路劲“/index.action”首先调用的是系统的index.action,最后跳转至系统的首页index.jsp,因为最新商品和最热商品一样都是显示于首页中,因此在页面跳转之前必须前往数据库查询出本系统中所有的最新商品,因此使用了findNewProduct()这个方法,查询最新商品的依据是商品被上传的时间,根据时间来进行排序,由于首页中仅仅显示了最新商品中的前十个,因此这里是使用的分页查询,最终查询的结果是一个list集合,最终保存在Model中。查询分类商品描述:用户在点击首页的一级分类时,系统自动跳转页面,同时要求在右面显示某个二级分类下的商品。程序运行结果如图4-9所示:图4-

19、9查询某个分类商品设计思路:首先导入页面,页面和查询二级分类下的商品使用的是一个页面category.jsp。当用户点击按钮时,客户端向服务器请求发送请求并携带一级分类的主键id,因此服务器端应该接受参数并使用这个参数来调用方法然后去数据库进行查询数据,最后将查询出的数据把保存于Model中,最后跳转页面。由于页面大小的关系,这里仅仅显示12个商品,因此这里采用了分页查询,并在右下角设置相应的按钮,方便用户来回查看该分类下所有的商品。查询二级分类商品用户在点击首页的一级分类时,系统自动跳转页面,并且在页面的左面显示所有一级分类包含的级分类,同时要求在右面显示某个二级分类下的商品。程序运行结果如

20、图4-10所示 图4-10 查询某个二级分类商品设计思路:首先编写页面category.jsp,这个页面用来显示某个二级分类下的所有的商品,当用户点击二级分类时系统访问对应的action,并且携带参数(相应二级分类的主键id),到前端控制层,然后findCategorySecond1()方法接收主键id和分页的数目去product表查询商品,最终将查询到的结果存放于Model中。由于页面大小的关系,这里仅仅显示12个商品,因此这里采用了分页查询,并在右下角设置相应的按钮,方便用户来回查看该分类下所有的商品。前端控制层接收参数并调用service层:PageBeanproPageBean = p

21、roductService.finbProductByCsid(csid,page);model.addAttribute(pageBean,proPageBean);查询商品信息用户再浏览该商场,查看某个商品的详细信息。程序运行结果如图4-11所示:图4-11 某个商品的具体信息设计思路:首先编写页面,这里使用的是product.jsp,在这个页面中显示了分类的信息,还有每个一级分类下的二级分类,右下方是某个商品的具体信息,其中包括商品的名称、商品的商城价和市场价,包括一个选择框,用于用户选择购买数量,最下面则是商品的具体介绍。当用户点击某个想要查看的商品图片时,其实就是点击了某个超链接,向

22、服务器发送链接并携带参数(商品的主键id),服务器端接收这个参数,并使用这个参数去数据库中查看这个商品的具体信息最后封装于product中,最终存放于Model中。4.3.3购物模块添加到购物车对于已经登录的用户,可以将看中的商品具体信息保存于自己的购物车中。图4-12购物车设计思路:首先编写cart.jsp用于显示登录用户的购物车,如果用户没有登录会有提示,用点击查看商品的详情之后会出现一个“加入购物车”按钮,当点击此按钮时,自动访问服务器,并通过隐藏表单携带参数(商品的主键id),服务器端在接受此参数,并接收用户选购的数量,最终保存于我们为每个用户在session域中创建的cart。最后进

23、行页面跳转,在cart.jsp中展示购物车的信息,主要包括:商品的具体信息和每项的价格和购物车的总价。对于已登录用户的页面,可以看到一个购物车的图标,用户可以查看自己的购物车。从购物车中移除商品点击已经添加到购物车的商品后的删除按键从购物车移出该商品。程序运行结果如图4-13所示:图4-13 移出购物车设计思路:当用户点击 “删除”按钮时,向服务器端进行请求,并携带参数(商品的主键id),服务器端在设计购物车时采用的是用Map集合存储的,key值即商品的id,因此删除的时候只需从session中拿到购物车直接根据主键删除,最后将页面重定向到cart.jsp.清空购物车将购物车里面的购物项全部清

24、空。程序运行结果如图4-14所示:图4-14 清空购物车设计思路:当“清空购物车”按下时,浏览器发出请求,服务器端收到请求之后,从会话域中取出内容,由于cart在设计的时候使用的是Map集合,所以只需调用Map中的clear()方法即可,并且还需将购物车的总价改为0,最后将页面重定向到cart.jsp.4.3.4订单模块生成订单当用户点击“生成订单”按钮时,页面跳转至order.jsp,并让用户填写相关信息。程序运行结果如图4-15所示:图4-15生成订单设计思路:首先编写order.jsp页面,其中包含用户的购物信息和收货地址、收货人和联系方式。当用户点击cart.jsp中的生成订单按钮时,

25、向服务器发送请求,服务器端从session域中拿到cart中的信息,并将这些信息保存于order表中,此时,需要清空购物车并且将订单信息保存到session域中,最后跳转到order.jsp页面让用户填写相关信息,并付款。我的订单用户对自己的选购的商品所生成的订单项进行付款。即可生成订单,进入我的订单列表界面;程序运行结果如图4-16所示:图4-16 我的订单4.3.5留言模块留言板当用户点击“留言板”按钮时,页面跳转至messageList.jsp,并让用户填写相关信息。程序运行结果如下图所示:留言板界面4.4系统后台功能实现4.4.1用户模块查询用户管理员进入后台管理页面之后,当他点击“用

26、户管理”按钮时,则在主页面中显示所有用户的详细信息。程序运行结果如图4-17所示:图4-17 查询所有用户设计思路:先编辑list.jsp页面,当用户点击“用户管理”按钮时,浏览器发出请求到服务器,经过controller解析最终调用service层的findAll()方法再经过service 层调用事先定义好的mapper接口,返回一个list集合,最终信息封装成一个Model对象,再跳转至静态页面list.jsp。4.4.2一级分类模块添加一级分类图4-18 添加一级分类设计思路:首先编写add.jsp页面,当用户在一级分类list.jsp页面点击“添加”按钮时, 服务器将页面跳转至add

27、.jsp,在此页面共有三个按钮,“确定”按钮用于提交信息,“重置”按钮清空表单中的内容,“返回”按钮返回前一个页面。当用户填写好要添加的一级分类的名称之后点击“确定”按钮,服务器端接收此表单中的内容,然后调用service层的addCategory()方法,将新增的一级分类保存到数据库category表中,最后将页面重定向到list.jsp页面,展示所有的一级分类。修改一级分类此功能属于管理员的权限范围内,管理员用户修改网站中各大服饰的一级分类的名称。程序运行结果如图4-19所示:图4-19 修改一级分类页面设计思路:首先编写edit.jsp页面,当用户在一级分类list.jsp页面点击“添加

28、”按钮时, 服务器将页面跳转至edit.jsp,在此页面共有三个按钮,“确定”按钮用于提交信息,“重置”按钮清空表单中的内容,“返回”按钮返回前一个页面。当用户填写好要修改的一级分类的名称之后点击“确定”按钮,服务器端接收此表单中的内容,然后调用service层的adminCategory_update()方法,将修改的一级分类更新到数据库category表中。 查询一级分类 “一级分类管理”按钮按下后,展示所有的一级分类的详细信息。程序运行结果如图4-21所示:图4-21查询一级分类设计思路:首先编写list.jsp页面,当管理员用户点击“一级分类管理页面”按钮时,服务器端接收请求然后调用a

29、dminbFindCategory()方法最终由service层调用myBatis提供的Mapper接口将所有的一级分类的信息查询出来保存到list集合中,最终保存到Model中并将信息进行展示。考虑到一级分类比较多,这里使用了分页查询,在页面展示的效果就是每页显示固定的个数,并在右下角提供了相应的按钮方便用户进行查看其他的一级分类。4.4.3二级分类模块添加二级分类管理员用户为新增加的一级分类添加二级分类。程序运行结果如图4-22所示:图4-22 添加二级分类设计思路:首先编写二级分类添加页面add.jsp,管理员用户点击“添加”按钮时,页面跳转到add.jsp,同时服务器端将查询出所有的一

30、级分类的名称,用于管理员选择新增的二级分类的归属,这在add.jsp页面中通过一个下拉列表进行显示。管理员用户在填写好新增的二级分类的名称并选择好所属的一级分类之后点击“确定”按钮,服务器端接收新增的二级分类名称和所属的一级分类的主键id,然后调用adminCategorySecond_save()方法将新增的Categorysecond保存于数据库的categorysecond表中。最后将页面重定向到二级分类的list.jsp页面进行展示。修改二级分类管理员用户可以为网站中所有的二级分类的名称进行编辑。程序运行结果如图4-23所示:图4-23 二级分类编辑页面设计思路:首先编写二级分类修改页面edit.jsp,管理员

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

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