版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
I基于SSM的乐享购物商城的设计与实现摘要本系统实现一个B2C模式的乐享购物商城,开发的内容是实现前台消费者购买功能和后台商家管理功能,优化前后端信息交互,体现商城网站动态性。从用户需求分析入手,通过访谈了解用户需要及其想法,进行数据库设计和软件结构设计,然后详细设计系统功能,建立一个便利的购物商城。本商城包含功能有:用户注册登录、商品检索、购物车添加、购物车结算、订单提交,订单信息确认与修改、编辑商品收藏、用户信息编辑,管理员密码修改,商城公告、商品图片、分类、库存、推荐以及评价的一系列管理,还有就是订单处理与查询以及商城用户管理。本项目使用SSM框架构建系统,以MySQL为数据库,采用H-ui前端框架进行页面美化,使用Java、Html、Javascript、CSS作为开发语言,运用JSP技术动态开发页面,在IntelliJIDEA编译器进行开发。关键词:购物商城;B2C;SSM;MySQL;H-ui;CSS;JSP目录TOC\o"1-2"\h\u20058中英文摘要 (I)315141绪论 (1)309591.1选题依据 (1)98871.2研究内容 (1)198951.3进度安排 (1)58651.4可行性分析 (2)212661.5开发工具 (2)310142需求分析 (3)76252.1访谈 (4)114502.2数据流图 (5)114142.3数据字典 (8)310143数据库设计 (9)308453.1概念设计 (10)120553.2逻辑设计 (12)5993.3物理设计 (16)93744软件结构设计 (19)97714.1设计原理 (19)294494.2细分模块 (20)142834.3总体结构 (22)183435详细设计 (23)74545.1前台模块 (23)284845.1.1注册登录模块 (23)284845.1.2购买商品模块 (24)284845.1.3个人中心模块 (25)284845.2后台模块 (26)284845.2.1管理员中心模块 (26)284845.2.2公告管理模块 (26)284845.2.3商品管理模块 (27)284845.2.4订单管理模块 (28)284845.2.5用户管理模块 (29)7205总结 (30)6844参考文献 (31)1绪论1.1选题依据1.1.1项目背景网络的高速发展使其与日常生活已紧密相连,网上购物也应运而生。实体店购买商品需要更多时间与精力,无法在短时间浏览大量不同类型的商品。相比实体商店,网络商城的优越性逐渐凸显,以淘宝、京东为代表的购物商城引领着新时代的网上购物潮流,网上购物能浏览各种各样的商品,支付方式多样化,使人们高效快捷地购物,逐渐变成人们不可缺少的生活方式。B2C模式是电子商务的一种模式,表示企业和客户之间的商务应用[1]。B2C模式实现了网上商城的信息化管理,增加了商家获取顾客的渠道,让消费者和商家的选择更多,强化了二者之间的双向选择沟通,结合B2C模式构建网上商城无疑是当前大数据时代商城网站的最佳选择。1.1.2项目意义网上购物商城是以B/S结构为基础,在B2C模式下运行的购物交易网站。B/S结构下的商城网站有着分布式的特点,使用便捷,可以随时随地进行搜索或者浏览商品。同时,用户数据更新相对简易,只要更改或刷新网页便能自动更新数据,也易于维护。B/S结构共享性较强,而且开发难度小,比较容易实现系统维护和扩展业务。B2C模式使得本项目能体现出客户与商家之间的紧密关系,并更好的实现网上购物商城交易的特点[2]。为了构建一个简易好用的网上购物商城。本项目建立起基于SSM框架的商城网站,前台使用简洁明了的界面,使用户能够快速挑选并购买商品。商城后台分为商品管理和订单管理等模块,实现系统管理员对商城商品和用户订单的效率管理,整个商城操作简便,购物快捷,让用户尽情享受购物的乐趣。1.2研究内容研究内容描述:商城布局的设计、SSM框架的构造、H-ui框架美化前端的过程;用户注册时用户名可用性判断、密码的长度判断、手机号的正确判断,用户登录时已登录用户名提示;商品的检索、通过固定编码分类排序商品、根据商品编码顺序推荐,商品按添加时间、价格、点击量等属性排序,商品价格筛选,个人中心查看或修改订单、收藏以及个人信息;管理员的管理职能:管理商城公告,以及对商品信息的一系列管理操作,还有对订单信息状态进行管理。目标:实现商品订单信息数据化,促进消费者与商家信息双向交互性;设立购物流程,完善搜索商品功能,明确网页分配,引导用户进行购物,增强商城实用性;简化管理后台,有序分类功能,方便操作管理;充分运用数据库,减少成本投入;美化前端页面,提升用户体验;减少代码冗余,优化代码,提升程序运行速度。1.3进度安排第一阶段:2020.06.01-2020.07.31,确定开发目标,了解要开发的系统的整体架构,理清思路,并学习相关技术;第二阶段:2020.08.01-2020.08.31,对系统进行需求分析,通过访谈或问卷的方式拟出需求分析报告书,并初步画出数据流图;第三阶段:2020.09.01-2020.09.15,查找和整理所需资料,撰写项目的开题报告,并论证项目可行性;第四阶段:2020.09.16-2020.10.05,完成数据库设计,以及软件结构设计;第五阶段:2020.10.06-2020.12.09,完成各个模块中的处理算法,及其编码工作,并做相应的单元测试,完成整个项目开发;第六阶段:2020.12.10-2020.12.29,完善项目并撰写毕业论文,并准备论文答辩相关事宜。1.4可行性分析可行性分析指的是系统开发之初,对系统的各方面条件进行研究和分析,以及系统完成后的影响预测,用最少的成本确定是否能够解决问题。1)技术可行性本网络商城项目的开发中,使用的JSP语言、Servlet技术、Tomcat服务器以及MySQL数据库几种技术和工具不仅免费,而且使用方便、快捷,减短了开发所用的时间,减少了开发的成本。并且使得开发更安全,有利于后期系统的维护。同时,基于网站开发课程的学习,学生已掌握开发网站的基础知识技术,在经验丰富的老师的指导下,能够顺利有序地完成网站设计,本项目在技术方面完全可行。2)操作可行性本商城系统前台界面简洁明了,操作简易方便。用户可以通过商品分类以及商品筛选等功能快速找到自己需要的商品,同时,商品推荐功能还能向用户提供优质的商品推荐。用户选择好商品后,将商品加入购物车,并在购物车选择想要下单的商品,能够方便快捷的完成购买。商城后台管理平台功能明确,管理员可以审查商品的各种信息并对其进行管理操作,还能够准确确认并处理用户已购买的商品订单,并同时管理用户的信息。本系统操作通俗易懂,能够迅速的运作各个功能,使用者不论是用户还是管理员,都可以很快熟悉操作流程,在操作方面是完全可行的。3)经济可行性本系统的开发软件为IDEA,采用自己的PC设备进行开发,开发环境是完全免费的。在需求分析的过程中,也是个人亲力亲为,收集相关资料以及技术知识,成本几乎为零,在经济层面完全可行。4)法律可行性本系统是一个模拟网上购物商城进行开发的商城系统,由于个人能力有限以及技术限制,网站的开发尚未完善,还不能够投入商业使用中。所以并不会产生实际性的交易,更不会产生商品交易过程中的一系列法律问题,是完全合法的网站项目,在法律方面也可行。1.5开发工具本系统采用Web+Apache-Tomcat8.0+MySQL5.6+JDK1.6的开发环境。系统运行环境则需要IntelCorei5以上处理器、4GB以上内存环境、Windows10系统、火狐浏览器以及Tomcat服务器。Tomcat开源服务器适用性强,扩展性好,配置无误时可为HTML等Web界面服务[3]。开发时采用IDEA编译器、Navicat数据库编辑器等工具。IntelliJIDEA支持Java等多种语言开发,在自动提示代码、重构等方面功能卓越,支持Html、CSS、MySQL,操作快捷,使用简便;Navicat数据库编辑器实用性强,简化了数据库管理,还能够降低管理成本,对MySQL、Oracle、PostgreSQL等数据库都可用,且适用于Windows、MacOSX及Linux三大系统,与本系统环境相契合。系统开发语言和技术分为前端和后端两部分,前端语言为Html、CSS、JavaScript、jQuery,采用JSP技术进行动态网页设计,并使用H-ui框架进行美化。JSP技术达成java扩展,动静结合,设计网页时分离网页逻辑与设计且复用组件基础,动态生成页面内容[4]。H-ui是轻量级别的前端框架,美观实用且服务价值高,使前端页面简洁美观,一目了然。后端由Java和SQL语句构成,基于SSM框架,使用MySQL数据库以及Tomcat服务器提供的服务使系统运行。SSM框架由SpringMVC,Spring,MyBatis三部分构成,不仅是开发工具,也是中间件。掌握了各框架核心思想,复用性强,有效简化开发,大大提高了系统研发效率,同时保障系统成品的可维护性、可扩展性以及敏捷性[5];跨平台开源数据库系统MySQL是大众化的数据库系统,方便实用,与JAVA、PHP等主流编程语言紧密结合[6]。本章主要介绍了网上购物商城的背景、发展状况以及存在的一些问题,从而表述乐享购物商城项目的意义。并引申出本系统的研究内容,以及进行可行性分析。简要介绍了本购物商城系统的开发条件,重点阐述了系统的研究内容、意义以及可行性,下一章将进行需求分析的工作。2需求分析需求分析就是指软件工程师通过分析客户对于目标软件具有哪些功能方面的需求,用规范化的形式将这些需求具体地描述出来,定出需求分析说明书[7]。本部分通过访谈及上网或者查阅书籍收集网上购物商城的相关资料,并对当前网上购物商城的技术发展状况进行研究,分析消费者对商品的需要以及商家的运营模式。逐步了解网上购物商城所需要的功能、性能、安全等方面的要求,在一系列的调查与分析下完成对乐享购物商城的需求分析。2.1访谈软件设计初期获取需求时,对问题了解往往比较模糊,用户对软件功能的需求描述、以及最终需要的软件的要求也经常不太清晰。所以在软件项目设计之初,需要对用户进行访谈,从而初步了解用户的需求。本系统的使用对象分别是消费者和商家,根据二者的不同特点,准备好计划的问题和自由开放性问题,分别对部分学生消费者、部分在职消费者、部分老年消费者以及部分网店商家进行正式化和非正式化的访谈,获取对象的需求。对于部分学生消费者,了解到较年轻的消费者业余时间充足,更倾向于浏览款式不同的商品,根据自己的喜好选择需求的商品,货比三家是常事。而且年轻人都喜欢时髦有趣的商品,也会购买一些各种各样不同的观赏或者把玩用的商品,需要有更多提供这些物件的渠道。因此,商城需提供商品推荐功能,将学生消费者常购买的商品进行归纳展示,从而帮助学生消费者挑选更多优质商品。对于部分在职消费者,由于已经参加工作,经常忙得不可开交,没有充足的业余时间挑选商品,而且对于长时间浏览商品抱有抵触感,这时就需要有能够帮助快速购物的功能。所以商城需有明确的商品分类,并能按价格、销量等实时更新的信息排序商品,以便忙碌的在职人员快速找到需要的商品,提高购物效率。对于部分老年消费者,由于对网络商城使用不够熟悉,甚至看不动一些更新信息,也找不到需要的商品。如果有了检索商品的渠道,就能帮助老年消费者精确查找所需,商城应完善搜索功能,方便老年消费者效率且精确寻找到需要的商品。同时,商城都应该获取消费者的个人信息,以便订单的确认提交以及商品的发货,还应设置个人中心,方便消费者查询或者编辑订单信息、商品收藏以及个人信息。对于部分网店商家,他们更需要的是好用的管理后台,操作简捷易懂,减少不必要的麻烦,在管理上尽可能的提高效率,从而能够对自己的店铺进行更好的管理,所以商城需要设计性能优越的管理后台,尽量采用简单分明的界面,提供简易操作的功能,方便商家管理店铺数据,上传、编辑商品信息,查看订单、评价信息,接收订单,然后发货,并提交发货信息,从而满足消费者与商家之间的信息交互。2.2数据流图数据流图是描述系统中数据流动情况的一种图形形式,需求分析过程中,通过数据的输入和输出表示其在系统中流动和处理的过程[7]。1)注册登录模块用户进行商城注册时,输入用户信息,将其存进用户表,注册后跳转登录界面,填入用户名和密码即可登录商城,登录后显示商城主页,具体如图2-1所示。图2-1注册登录模块数据流图2)购买商品模块用户登录网站后,浏览商品表中的商品信息,并选择想要购买的商品。同时,可以将喜欢的商品收藏,存入收藏表;选择商品后,商品信息存入购物车中,在购物车结算后,生成相应订单信息,存入订单表中;用户对订单信息进行确认,确认后提交订单,其订单号传递到商城中,具体如图2-2所示。图2-2购买商品模块数据流图3)个人中心模块用户进入个人中心,可以选择订单中心、商品收藏、账户信息三方面功能。在订单中心,用户可以了解具体的订单信息,并且能够更改订单,可以取消或者删除订单,删除的订单信息返回订单表。对于商家已处理的订单,可以根据物流信息进行收货确认,并完成订单,已完成的订单信息存在订单表;在商品收藏中,可以查阅已收藏信息,还可以删除收藏的商品,删除的收藏信息返回收藏表;在账户信息中,用户则可以修改其具体信息,修改后的用户信息存入用户表,具体如图2-3所示。图2-3个人中心模块数据流图
4)管理员中心模块管理员登录管理后台,在管理员中心可以修改管理员密码,将修改后的管理员密码存入用户表中,并且可以安全退出管理后台,具体如图2-4所示。图2-4管理员中心模块数据流图5)公告管理模块管理员通过管理后台,进入公告管理,可以通过搜索公告标题查看公告;可以添加新的公告,新的公告信息存入公告表中;可以修改已有公告,修改后的公告信息存入公告表;还可以删除不需要的公告,删除的公告信息返回公告表,具体如图2-5所示。图2-5公告管理模块数据流图6)图片管理模块管理员还能在管理后台中管理图片,图片管理分为首页图片和商品图片管理两部分。可以添加新图片,新的图片内容存入图片表;然后可以根据图片路径查看图片;可以修改图片,修改后的图片信息存入图片表;还可以删除图片,删除的图片信息返回图片表,具体如图2-6所示。图2-6图片管理模块数据流图7)商品管理模块在管理后台的商品管理中,分为商品分类、商品库存、商品评价三个部分。在商品分类中,管理员可以查看和编辑商品的分类,编辑后的分类信息存入分类表;在商品库存中,可以查看商品数量和编辑商品,编辑后的商品信息存入商品表,还可以推荐商品,推荐的商品将在商城首页中显示;在商品评价中,可以查看和编辑商品评价,编辑后的评价信息则存入评价表,具体如图2-7所示。图2-7商品管理模块数据流图8)订单管理模块管理员进行订单管理时,分为处理订单流程和订单查询流程。处理订单时,可以确认订单信息并进行商品发货操作,发货后提交发货信息;订单查询中则可以查询已处理和未处理的订单,具体如图2-8所示。图2-8订单管理模块数据流图9)用户管理模块管理员由管理后台进入注册用户管理,能搜索商城中已注册用户,并查看其详细信息,如果发现无效的用户,也能将其删除,删除的用户信息返回用户表,具体如图2-9所示。图2-9用户管理模块数据流图2.3数据字典数据字典是通过分析访谈获取的用户需求,并收集和归纳系统的有关数据,得到的实体数据及其信息的具体描述,囊括了数据流图所包含各元素的定义,同时也汇总了系统中各类数据描述[7]。数据流图中有两种属性的数据,分别是单属性和多属性数据。单属性数据是指数据流图中只有一个数据项的数据,多属性数据则指的是数据流图中具有两个或两个以上数据项的数据。2.3.1单属性1)用户名该数据表示用户注册登录时用户的名称信息,注册后用来登录系统,由1~20位字符或汉字构成,出现在图2-1中。2)用户密码该数据表示用户名对应的密码信息,用来登录系统,由6~20位字符构成,出现在图2-1中。3)商品价格该数据表示商品的价格信息,在购买商品时用于购物车结算,由1~11位数字构成,出现在图2-2中。4)商品编号该数据表示商品的价格信息,在购买商品时用于浏览商品,由1~11位数字构成,出现在图2-2中。5)订单号该数据表示订单的编号信息,提交订单时生成,管理订单时用于查询订单,由1~11位数字构成,出现在图2-2、图2-8中。6)管理员账户该数据表示管理员的账户信息,用于登录管理后台,由1~11位字符或汉字构成,出现在图2-4中。7)管理员密码该数据表示管理员账户对应的密码信息,用于登录管理后台,由6~20位字符构成,出现在图2-4中。8)公告标题该数据表示公告的标题信息,在公告管理时用于查看公告,由1~20位字符或汉字构成,出现在图2-5中。9)图片路径该数据表示图片存储的路径信息,在图片管理时用于查找图片,由1~255位字符构成,出现在图2-6中。10)商品数量该数据表示商品的数量信息,在商品管理时用于确认商品库存,由1~50位数字构成,出现在图2-7中。11)发货信息该数据表示商品的发货信息,在订单管理时用于确认商品发货,由1~255位字符或汉字构成,出现在图2-8中。2.3.2多属性1)用户信息该数据表示商城用户的详细信息,包括用户名、姓名、手机号和地址等信息,出现在图2-1中,接着对新出现的数据进行定义。(1)姓名该数据表示用户的真实姓名,用于确认用户身份,便于订单信息的生成,由1~11位字符构成。(2)手机号码该数据表示用户的真实手机号码,用于商品发货后联系用户,由11位数字构成。(3)地址该数据表示用户的真实地址,用于商品送货的目的地确认,由1~50位字符或汉字构成。2)商品信息该数据表示商品的具体信息,包括商品名、编号、价格、类型、库存、商品的介绍和商品评价信息,出现在图2-2中,接着对新出现的数据进行定义。(1)商品名称该数据表示商品的名称信息,用于确认商品,由1~11位字符构成。(2)商品类型该数据表示商品的类型信息,用于确认商品类型,由1~8位字符构成。(3)商品介绍该数据表示商品的介绍信息,用于了解商品的参数,由1~50位字符构成。3)公告信息该数据表示商城公告的具体信息,包括公告标题和公告内容,出现在图2-5中,接着对新出现的数据进行定义。公告内容数据表示公告的内容信息,用于用户了解商城公告内容,由1~255位字符或汉字构成,出现在图2-3中。4)收藏信息该数据表示商品的收藏信息,包括商品编号、用户名、商品名、收藏时间,出现在图2-8中,接着对新出现的数据进行定义。收藏时间数据表示商品收藏的时间信息,用于记录商品收藏的具体时间,由1~11位字符构成,出现在图2-2中。5)订单信息该数据表示订单的具体信息,包括订单编号、用户名称、收货者姓名、手机号码、商品总价和支付方式信息,出现在图2-8中,接着对新出现的数据进行定义。支付方式数据表示商品付款时的支付方式,用于确认支付渠道,由1~11位汉字构成,出现在图2-2中。本章主要是对乐享购物商城项目进行需求分析,先用访谈的方法达到需求获取的目的,明确项目的需求关系。然后通过数据流图来描述各个模块的功能,清晰地讲数据的流动方向表现出来。并设计项目的数据字典,从单属性和多属性两方面列举出乐享购物商城项目中各模块的属性,从而明确出各个实体数据包含的属性。表现出了需求分析的完整性和可行性的特点,重点描述了数据流图在需求分析中的重要作用,下一章进行的是数据库设计。3数据库设计数据库设计是由用户需求得出各种符合要求的数据类型,并将这些数据结构化组成各个实体,搭建起数据库,进行数据表的设计,使得系统能够有效存储和应用数据。本系统在获取用户需求分析后,先设计出系统的概念结构,然后分析数据库中实体数据,并根据实体属性进行逻辑设计,最后创建出数据库,完成物理设计。同时,保证数据库的实施和运行,并进行数据库的维护。3.1概念设计概念设计从用户\t"/item/%E6%A6%82%E5%BF%B5%E8%AE%BE%E8%AE%A1/_blank"需求分析入手,进行实体及其之间关系的分析描述,生成\t"/item/%E6%A6%82%E5%BF%B5%E8%AE%BE%E8%AE%A1/_blank"概念产品的相关功能的设计活动,是一个完整而全面的\t"/item/%E6%A6%82%E5%BF%B5%E8%AE%BE%E8%AE%A1/_blank"过程[7]。3.1.1实体在数据库设计中,实体往往指某类事物的集合,包含具体的人或事物的定义以及抽象的概念或联系。对于数据库,将各类数据对象的个体定义为实体。根据数据流图中的多属性分类实体,归纳出系统所含实体有:用户实体、公告实体、商品实体、商品分类实体、购物车实体、商品图片实体、商品评价实体、收藏实体、订单实体。3.1.2E-R图E-R图是实体之间联系的表现,其中还包含了实体的属性信息。能够较为准确地反映各个实体的信息联系,通过关系图的形式呈现出数据库的信息构成情况[8]。根据对数据流图2-2、2-6、2-8分析后可以得到,一个用户可以拥有多份不同订单,一个订单包含多个商品并可以将商品发货;同时,每个用户都拥有一个属于自己的购物车,一个购物车又包含多个商品,商品包含单独的图片和多条评价;一个管理员能够管理多个用户,具体如图3-10所示。图3-10系统整体E-R图3.1.3实体属性1)用户实体该实体描述用户的具体属性,包括用户名、姓名、地址等属性,这些信息用于用户购买商品后订单信息的生成,可确认用户具体信息,该实体与购物车实体有1:1的关系,与订单实体有1:n的关系,具体如图3-1所示。图3-1用户实体属性图2)公告实体该实体描述公告的具体属性,包括标题、内容、添加时间属性,这些信息用于商城公告生成以及搜索相应公告,具体如图3-2所示。图3-2公告实体属性图3)商品实体该实体描述商品的具体属性,包括商品名称、主图、商品库存、售后保障等属性,这些信息用于浏览商品时查看了解商品的具体信息,该实体与购物车实体有1:n的关系,与图片实体和评价实体有1:1的关系,具体如图3-3所示。图3-3商品实体属性图4)商品分类实体该实体描述商品分类的具体属性,包括商品分类编号、分类名称、分类序号属性,这些信息用于完成商品的分类以及分类之后的排序,商品实体与该实体有n:1的关系,具体如图3-4所示。图3-4商品分类实体属性图5)购物车实体该实体描述购物车的具体属性,包括商品售价、购买数量、价格小计等属性,这些信息用于确认购物车中的商品信息以及结算购物车,该实体与用户实体有1:1的关系,与商品实体有1:n的关系,具体如图3-5所示。图3-5购物车实体属性图6)商品图片实体该实体描述商品图片的具体属性,包括商品编号、图片路径属性,这些信息用于确认商品图片的有关商品和图片的位置信息,该实体与商品实体有1:1的关系,具体如图3-6所示。图3-6商品图片实体属性图7)商品评价实体该实体描述商品评价的具体属性,包括商品名称、用户名、评价的内容、类型、时间等属性,这些信息用于查看已评价的商品,商品实体与该实体有1:n的关系,具体如图3-7所示。图3-7商品评价实体属性图8)商品收藏实体该实体描述商品收藏的具体属性,包括商品名称、用户名、收藏时间等属性,这些信息用于确认收藏商品的信息和收藏商品的用户信息,该实体与商品实体有1:n的关系,具体如图3-8所示。图3-8商品收藏实体属性图9)订单实体该实体描述订单的具体属性,包括订单号、收货者姓名、手机号码、支付方式等属性,这些信息用于确认提交订单的用户信息以及收货人具体信息,方便商品的发货,用户实体与该实体有1:n的关系,商品实体与该实体有n:1的关系,具体如图3-9所示。图3-9订单实体属性图3.2逻辑设计逻辑设计通过分析实体以及相关数据,将实际数据模型转化为逻辑模式下的数据库,通过分析概念设计中得出的系统中各个实体所包含的属性、关键字,将其概念模型转化为数据模型,建立相关数据库表[7]。本商城网站项目规模小,信息量不大,采用的是轻量级数据库MySQL数据库,操作简易,网站数据交汇通畅。用MySQL数据库进行设计,效率更高,且数据更精确。下面则分析各个实体包含属性,以及了解各个实体信息表之间的关系,进行逻辑设计。1)t_user表该表用于储存用户或管理员信息,由lx_uersid,lx_username,lx_password,lx_name,lx_role等字段组成,用户角色为1时表示管理员,为2时表示普通用户;其中,lx_userid为主键,不能为空,lx_userid用于区分用户;该表为用户角色时,与t_orders表有着1:n的关系,该表为管理员角色时,与t_gonggao表和t_goodspic表有1:n的关系,具体如表3-1所示。表3-1t_user信息表实体属性字段MySQL数据类型备注用户IDlx_useridint(10)主键用户名lx_usernamevarchar(22)22位汉字或字符密码lx_passwordvarchar(22)22位数字或字符姓名lx_namevarchar(22)22位汉字或字符用户角色lx_rolevarchar(11)11位汉字或字符手机号码lx_telvarchar(11)11位数字地址lx_addressvarchar(50)50位汉字、数字或字符注册时间lx_ctimevarchar(11)11位数字或字符2)t_gonggao表该表用于储存商城公告信息,由lx_title,lx_content,lx_ctime字段组成,分别表示公告标题、公告内容和添加时间;该表与t_user表有n:1的关系,具体如表3-2所示。表3-2t_gonggao信息表实体属性字段MySQL数据类型备注公告标题lx_titlevarchar(50)50位汉字或字符公告内容lx_contenttext文本内容添加时间lx_ctimevarchar(11)11位数字或字符3)t_goods表该表用于储存商品具体信息,由lx_goodsid,lx_cateid,lx_catename,lx_goodsname,lx_goodsnumber等字段组成,分别表示商品ID、商品名、商品编号、商品库存、售后保障等;其中,lx_goodsid为主键,不能为空,lx_goodsid用于区分商品;该表与t_goodspic表有着1:1的关系,与t_collection表有着n:1的关系,具体如表3-3所示。表3-3t_goods信息表实体属性字段MySQL数据类型备注商品IDlx_goodsidint(11)主键商品类别编号lx_cateidint(9)9位数字或字符商品分类名lx_catenamevarchar(22)22位汉字或字符商品名lx_goodsnamevarchar(22)22位汉字或字符商品编号lx_goodsnumbervarchar(9)9位数字或字符销售价格(元)lx_priceint(11)11位数字或字符商品主图lx_picvarchar(255)255位字符的图片路径点击数lx_vistint(11)11位数字销量lx_saledint(11)11位数字添加时间lx_ctimevarchar(11)11位数字或字符商品介绍lx_Introtext文本内容商品库存lx_kucunint(11)11位数字售后保障lx_shouhoutext文本内容4)t_cate表该表用于储存商品分类信息,由lx_cateid,lx_catename,lx_paixu字段组成,分别表示分类ID、分类名称、分类序号;其中,lx_cateid为主键,不能为空,lx_cateid用于区分商品分类,具体如表3-4所示。表3-4t_cate信息表实体属性字段MySQL数据类型备注分类编号lx_cateidint(9)主键分类名称lx_catenamevarchar(22)20位汉字或字符分类序号lx_paixuint(11)11位数字或字符5)t_cart表该表用于储存购物车包含的信息,由lx_userid,lx_goodsid,lx_goodsname,lx_goodspic,lx_price等字段组成,分别表示商品名、关联商品、销售价格、购买数量、价格小计等;其中,lx_userid是t_user表的外键,lx_goodsid是t_goods表的外键,该表与t_user表有着1:1的关系,与t_goods表有着1:n的关系,具体如表3-5所示。表3-5t_cart信息表实体属性字段MySQL数据类型备注关联用户lx_useridint(22)外键关联商品lx_goodsidint(22)外键商品名lx_goodsnamevarchar(22)22位汉字或字符商品主图lx_goodspicvarchar(255)255位数字或字符销售价格lx_priceint(11)11位数字或字符购买数量lx_countint(11)11位数字价格小计lx_sumpriceint(11)11位数字6)t_goodspic表该表用于储存商品的图片信息,由lx_goodsid,lx_pic字段组成,分别表示商品ID以及图片路径;lx_goodsid是t_goods表的外键,该表与t_goods表有1:1的关系,具体如表3-6所示。表3-6t_goodspic信息表实体属性字段MySQL数据类型备注商品IDlx_goodsidint(11)外键图片路径lx_picvarchar(255)255位数字或字符7)t_pingjia表该表用于储存商品的评价信息,由lx_goodsid,lx_goodsname,lx_count,lx_price,lx_pcontent等字段组成,分别表示商品ID、评价内容、评价类型、评价状态等;其中,lx_goodsid是t_goods表的外键,该表与t_goods表有1:1的关系,具体如表3-7所示。表3-7t_pingjia信息表实体属性字段MySQL数据类型备注商品IDlx_goodsidint(11)外键商品名lx_goodsnamevarchar(22)22位汉字或字符购买数量lx_countint(11)11位数字或字符销售单价lx_priceint(11)11位数字或字符评价内容lx_pjcontenttext文本内容评价类型lx_pjleixingvarchar(22)22位汉字或字符评价时间lx_ctimevarchar(22)22位数字或字符评价状态lx_statusvarchar(22)22位汉字或字符8)t_collection表该表用于储存商品的收藏信息,由lx_goodsid,lx_goodsname,lx_goodspic,lx_username等字段组成,分别表示商品ID、商品名、商品图片、收藏的用户名、收藏时间;其中,lx_goodsid是t_goods表的外键,该表与t_goods表有着1:1的关系,具体如表3-8所示。表3-8t_collection信息表实体属性字段MySQL数据类型备注商品IDlx_goodsidint(11)外键商品名称lx_goodsnamevarchar(22)22位汉字或字符商品图片lx_goodspicvarchar(255)255位字符的图片路径收藏的用户名lx_usernamevarchar(22)22位汉字或字符收藏时间lx_ctimevarchar(11)11位数字或字符9)t_orders表该表用于储存订单信息,由lx_ordersid,lx_userid,lx_username,lx_address,lx_tel等字段组成,分别表示订单号、收货者姓名、地址、订单总价、订单状态等;其中,lx_userid是t_user表的外键,该表与t_user表有n:1的关系,具体内容如表3-9所示。表3-9t_orders信息表实体属性字段MySQL数据类型备注订单号lx_ordersidvarchar(11)11位数字或字符关联用户lx_useridint(11)外键下单的用户名lx_usernamevarchar(22)22位汉字或字符收货人姓名lx_namevarchar(22)22位汉字或字符收货人地址lx_addressvarchar(255)255位汉字或字符手机号码lx_telvarchar(11)11位数字或字符备注lx_remarkvarchar(255)255位汉字或字符生成时间lx_ctimevarchar(11)11位数字或字符支付方式lx_paywayvarchar(22)22位汉字或字符订单总价lx_totalpricevarchar(33)33位数字或字符订单状态lx_statusvarchar(22)22位汉字或字符3.3物理设计1)直接创建打开数据库编辑器Navicat,右键已连接的MySQL数据库“tmall”,新建数据库“shopping_db”,右键数据库“shopping_db”,新建表,命名为t_user表,t_user表中包含lx_uersid,lx_username,lx_password,lx_name,lx_tel,lx_address,lx_ctime字段,根据类型、长度、是否为空、主键设计各字段,其中,userid为主键,设置其不能为空,保存后t_user表便设计完毕,以“t_user表”为例,设计各种表,包括t_gonggao表、t_goods表、t_cate表、t_cart表、t_goodspic表、t_pingjia表、t_collection表、t_orders表。2)脚本创建(1)数据库CREATEDATABASEshopping_db;/*创建数据表*/(2)t_user表CREATETABLE`t_user`(`lx_id`int(11)NOTNULLAUTO_INCREMENT/*数据库主键*/,`lx_usename`varchar(10)/*用户名*/,`lx_password`varchar(22)/*密码*/,`lx_name`varchar(22)/*姓名*/,`lx_role`int(11)/*用户角色*/,`lx_tel`varchar(11)/*手机号码*/,`lx_address`varchar(50)/*收货地址*/,`lx_ctime`varchar(11)/*注册时间*/,PRIMARYKEY(`lx_Id`)/*设置lx_id为主键*/)(3)t_gonggao表CREATETABLE`t_gonggao`(`lx_Id`int(11)NOTNULLAUTO_INCREMENT/*数据库主键*/,`lx_biaoti`varchar(50)/*公告标题*/,`lx_neirong`text/*公告内容*/,`lx_ctime`varchar(11)/*添加时间*/,PRIMARYKEY(`lx_Id`)/*设置主键*/)(4)t_goods表CREATETABLE`t_goods`(`lx_Id`int(11)NOTNULLAUTO_INCREMENT/*数据库主键*/,`lx_cateid`int(9)/*商品分类ID*/,`lx_catename`varchar(22)/*商品分类名*/,`lx_goodsname`varchar(22)/*商品名*/,`lx_goodsnumber`varchar(9)/*商品编号*/,`lx_price`double/*销售价格(元)*/,`lx_pic`varchar(255)/*商品主图*/,`lx_vist`int(11)/*点击数*/,`lx_saled`int(11)/*销量*/,`lx_ctime`varchar(11)/*添加时间*/,`lx_recommend`varchar(22)/*是否推荐*/,`lx_intro`text/*商品介绍*/,`lx_kucun`int(11)/*商品库存*/,`lx_shouhou`text/*售后保障*/,PRIMARYKEY(`Id`)/*设置主键*/)(5)t_cate表CREATETABLE`t_cate`(`lx_Id`int(11)NOTNULLAUTO_INCREMENT/*数据库主键*/,`lx_catename`varchar(22)/*分类名称*/,`lx_paixu`int(11)/*分类排序*/,PRIMARYKEY(`lx_Id`)/*设置主键*/)(6)t_cart表CREATETABLE`t_cart`(`lx_Id`int(11)NOTNULLAUTO_INCREMENT/*数据库主键*/,`lx_userid`int(22)/*关联的用户*/,`lx_goodsid`int(22)/*关联的商品*/,`lx_goodsname`varchar(22)/*商品名*/,`lx_goodspic`varchar(255)/*商品图片*/,`lx_price`double/*销售价格*/,`lx_shuliang`int(11)/*购买数量*/,`lx_sumprice`double/*价格小计*/,PRIMARYKEY(`lx_Id`)/*设置主键*/)(7)t_goodspic表CREATETABLE`t_goodspic`(`lx_Id`int(11)NOTNULLAUTO_INCREMENT/*数据库主键*/,`lx_goodsid`int(11)/*关联的商品ID*/,`lx_pic`varchar(255)/*商品子图片*/,PRIMARYKEY(`lx_Id`)/*设置主键*/)(8)t_pingjia表CREATETABLE`t_pingjia`(`lx_Id`int(11)NOTNULLAUTO_INCREMENT/*数据库主键*/,`lx_goodsid`int(11)/*商品ID,外键*/,`lx_goodsname`varchar(22)/*商品名*/,`lx_pjcontent`text/*评价内容*/,`lx_pjleixing`varchar(22)/*评价类型*/,`lx_ctime`varchar(22)/*评价时间*/,`lx_status`varchar(22)/*评价状态*/,PRIMARYKEY(`lx_Id`)/*设置主键*/)(9)t_collection表CREATETABLE`t_collection`(`Id`int(11)NOTNULLAUTO_INCREMENT/*数据库主键*/,`lx_goodsid`int(11)/*收藏商品的Id*/,`lx_goodsname`varchar(22)/*商品名称*/,`lx_goodspic`varchar(255)/*商品图片*/,`lx_username`varchar(22)/*收藏的用户名*/,`lx_ctime`varchar(11)/*收藏时间*/,PRIMARYKEY(`lx_Id`)/*设置主键*/)(10)t_orders表CREATETABLE`t_orders`(`lx_Id`int(11)NOTNULLAUTO_INCREMENT/*数据库主键*/,`lx_ordersid`varchar(11)/*订单号*/,`lx_userid`int(11)/*关联的用户id,外键*/,`lx_username`varchar(22)/*下单用户名*/,`lx_name`varchar(22)/*收货人姓名*/,`lx_address`varchar(50)/*收货地址*/,`lx_tel`varchar(11)/*手机号码*/,`lx_remark`varchar(255)/*备注*/,`lx_ctime`varchar(11)/*生成时间*/,`lx_payway`varchar(22)/*支付方式*/,`lx_totalprice`varchar(33)/*订单总价*/,`lx_status`varchar(22)/*订单状态*/,`lx_goodsinfo`text/*购买详情*/,PRIMARYKEY(`lx_Id`)/*设置主键*/)本章主要描述了数据库设计,简要介绍了数据库设计的定义。罗列出了各个实体,描述了实体所包含的属性信息,并用E-R图的形式将实体之间的关系清晰的显示出来。从逻辑设计的角度,进行实体数据表的设计,通过数据表把每个实体所包含的属性以及数据类型准确的列举出来,每个实体属性及其所对应的字段一目了然。从物理设计的角度,简述了数据库的各种表的创建,写出各个表的建表代码语句,清楚的展现了创建数据库过程,下一章进行的是软件结构设计。4软件结构设计软件结构设计是对复杂的系统进行分解和规划,按照其功能要素将系统分解成多个有一定边界的模块,并以模块为单位设计软件结构,最后对软件结构质量进行评估,进行结构优化[9]。乐享购物商城具有前台和后台两个模块,前台模块又划分为注册登录模块、购买商品模块和个人中心模块,后台模块则分为管理员中心模块、公告管理模块、商品管理模块、订单管理模块和用户管理模块。本章从项目整体结构出发,基于需求分析中访谈得到的用户需求设计软件结构,并根据数据流图,采用自顶向下的方式分析各个模块,逐一研究各个模块的功能特性,用软件功能图的形式展现出来。最后用项目的整体结构功能图进行总结,体现出软件结构设计的逐步求精的设计特点。4.1设计原理软件结构设计就是确定组成系统的各个功能模块,且构建各模块之间的联系,将对用户需求分析为基础产生的系统模型转化为软件设计模型。在软件结构设计中,单独命名的模块是程序语句的集合体,能够独立地完成一定功能,充当着构造程序的基本单元。进行结构化设计时,模块作为表述功能的单位,大小依系统具体情况而定。模块体现了系统的结构层次,描述了系统的构成功能并对其进行分解。通过模块分解,可以降低某些软件问题的复杂程度并使其得到有效解决[9]。结构优化的方法实质上是指模块的分解或合并,综合分析优化从而得到趋于松散耦合、内聚程度高、模块独立且功能集中的系统结构,达到优化提升及降低成本的目的。并持续改进升级系统,同时确保模块独立性和模块规模的适中性[9]。接着从数据流图入手,设计乐享购物商城的软件结构,分析系统的整体功能结构,并划分出各个功能模块,并将各模块归类整合,结合到一个整体功能结构图当中,画出顶层结构图,具体如图4-1所示。图4-1整体功能结构图4.2细分模块1)注册登录模块根据图2-1数据流图的结构,细分出该注册登录模块的功能。用户进行注册后,使用用户名和密码登录商城,并可以安全退出商城,具体如图4-2所示。图4-2注册登录模块功能图2)购买商品模块根据图2-2数据流图的结构,细分出该购买商品模块的功能。用户进入商城主页,能够浏览各种商品,搜索商品帮助用户快速找到商品,挑选完商品后,可添加购物车,购物车结算后便完成了购买,并提交订单信息,具体如图4-3所示。图4-3购买商品模块功能图3)个人中心模块根据图2-3数据流图的结构,细分出该个人中心模块的功能。用户在已登录状态下进入个人中心,可以在订单中心查看订单信息,同时可以取消或删除商家未处理订单信息,对已处理订单进行信息确认以及完成订单;在商品收藏中,可以查看收藏的商品,删除不再收藏的商品;在账户信息中,可以修改用户信息,具体如图4-4所示。图4-4个人中心模块功能图4)管理员中心模块根据图2-4数据流图的结构,细分出该管理员中心模块的功能。管理员由管理后台进入管理员中心,可以更改管理员密码,或安全退出管理后台,具体如图4-5所示。图4-5管理员中心模块功能图5)公告管理模块根据图2-5数据流图的结构,细分出该公告管理模块的功能。管理员通过管理后台进入公告管理,可以对商城公告进行增删改查的操作,具体如图4-6所示。图4-6公告管理模块功能图6)商品管理模块根据图2-6、2-7数据流图的结构,细分出该管理员中心模块的功能。管理员可以通过商城后台,在商品管理功能中进行商品图片、分类、库存、推荐和评价管理等操作,具体如图4-7所示。图4-7商品管理模块功能图7)订单管理模块根据图2-8数据流图的结构,细分出该订单管理模块的功能。管理员由管理后台进入订单管理,可以进行处理订单操作和发货商品等操作,且能查询所有订单信息,具体如图4-8所示。图4-8订单管理模块功能图8)用户管理模块根据图2-9数据流图的结构,细分出该用户管理模块的功能。管理员通过管理后台,在用户管理模块中,可以搜索已注册用户,删除无效的用户,具体如图4-9所示。图4-9用户管理模块功能图4.3总体结构通过细分模块步骤得到系统各模块功能图,分别为注册登录、购买商品、公告管理、商品管理、订单管理等模块,根据各个模块之间的关系结合起来,得到整个系统的总体结构功能图。其中,注册登录模块细分为用户管理、用户登录和安全退出功能;购买商品模块细分为搜索商品、加入购物车、购物车结算和订单提交功能;个人中心模块分为订单中心、商品收藏和账户信息功能;管理员中心模块分为修改密码和安全退出功能;公告管理模块分为添加公告,修改公告和删除公告功能;商品管理模块分为商品图片、分类、库存、推荐和评价管理功能;订单管理模块分为处理订单、商品发货和查询订单功能,具体如图4-10所示。图4-10系统总体结构功能图本章是对乐享购物商城结构化设计过程的介绍,简述了软件结构设计的定义,详细描述了结构化设计的设计原理。用细分模块的方法,将前文所构造的数据流图逐个转化为项目模块的功能图,使每个模块的功能清晰的罗列出来。最后用整个项目的总体结构图收尾,体现出软件结构化设计自顶向下的特点,下一章将进行详细设计的工作。
5详细设计详细设计本质是细化概要设计工作,根据用户需求分析怎样实现软件系统的各个功能,充分详细介绍系统各模块的功能以及对系统设计过程进行描述,并通过对软件结构进行深入分析与对各模块功能的算法设计,得到关于软件数据结构和算法实现,最终完成系统功能设计[8]。考虑乐享购物商城的各个模块应该如何实现的问题,从功能描述、设计思想、关键代码和程序截图四个方面对项目每个模块的功能进行算法设计,并采用H-ui框架和CSS样式对前端网页进行美化,减少代码冗余,复用并提高其利用率;优化代码结构,提升系统运行速度,突显出详细设计逐步求精的特点。5.1前台模块5.1.1注册登录模块1)用户注册该功能用于未注册用户注册,使消费者能够注册成为商城新用户,用户在前端注册页面输入用户名,并输入两次密码且密码一致,同时输入姓名、手机号码、收货地址等信息,前端通过JavaScript采用正则表达式验证手机号等上述用户信息,符合条件便可完成注册。通过request对象获取用户名,根据用户名在数据库中查询是否有用户信息并返回,若用户名不为空则其在数据库中存在,跳出弹窗提示“该用户名已存在,注册失败!”,并刷新注册页面;若用户名为空则其在数据库中不存在,创建用户bean对象,同时设置用户名、姓名等用户信息并存入数据库,关键代码如下:Stringlx_username=request.getParameter("lx_username");//获取用户名Userlx_bean=userService.useryz(lx_username);//返回用户信息lx_bean=newUser();//创建用户对象lx_bean1.setAddress(lx_address);//设置用户地址等信息userService.insertBean(lx_bean);//用户信息存入数据库程序运行结果如图5-1所示。图5-1用户注册界面2)用户登录该功能用于已注册用户登录商城,用户在登录界面输入用户名和密码,点击按钮提交表单,在控制层根据用户名、密码以及角色权限到数据库查询是否有对应用户信息,返回给bean对象,如果没有的话bean为null。若bean为空,即数据库中不存在该用户,跳出弹窗提示“登录失败!”,并刷新登录界面;若不为空,则通过request获取session,将bean对象存入session中,并跳出弹窗提示“登录成功!”,关键代码如下:Userlx_bean=userService.userlogin(lx_username,lx_password,role:2);//返回用户HttpSessionlx_session=request.getSession();//获取sessionlx_session.setAttribute(lx_bean);//存入session5.1.2购买商品模块1)搜索商品该功能使用户能够在浏览商品时搜索商品,用户填入搜索信息,点击搜索按钮后,发送搜索请求到控制层的goodslist方法,需要商品名称和当前页两个参数,搜索商品后显示的商品列表没有提供当前页,默认使用第一页,根据商品类别或商品名称在数据库中模糊查询,查询结果形成商品列表,根据商品列表和页面容量生成pager对象,通过当前页码返回页码列表,渲染前端商品列表,分页展示搜索结果,关键代码如下:StringBuffersy=newStringBuffer();//初始化对象sy.append("goodsnamelike'%"+goodsname+"%'");//模糊查询List<Goodspic>lx_list=goodspicDao.queryData(sql);//返回商品列表
Pagerlx_pager=newPager(lx_list,pagesize);//生成pager对象
List<Goodspic>pagerlist=lx_pager.getObjects(currentpage);//返回页码列表程序运行结果如图5-2所示。图5-2搜索商品界面2)加入购物车该功能用于用户购买商品时将商品加入购物车,由于购物车是每个用户单独拥有的功能对象,所以需要先验证用户的登录状态,登用户登录时已经将登录信息存入session,在session中查找是否有用户对象,没有的话就弹出弹窗提示“请先登录”,并跳转到登录页面;若用户已登录,则可以进行加入购物车操作,通过request获取商品ID,并由商品ID获取商品对象,根据商品ID用户ID查询购物车记录,判断在购物车中是否有相应商品对象,如果有就跳出弹窗提示“该商品已加入购物车,请勿重复添加”,没有则通过商品对象获取商品购买数量,将购买数量跟商品库存对比,如果库存足够,选购商品便成功加入购物车,关键代码如下:Stringlx_goodsid=request.getParameter("lx_goodsid");//获取商品ID
Goodslx_goods=goodsService.selectData("select*fromt_goodswhereid="+goodsid).get(0);//获取商品对象
Stringlx_amount=request.getParameter("lx_amount");//获取商品数量3)购物车结算该功能用于用户结算购物车,验证用户已登录后,从session中获取用户对象,根据用户ID查询当前用户所拥有购物车列表,由于用户购买的商品数量不定,需要通过for循环遍历购物车列表,获取商品价格信息,计算商品总价格,并返回总价格到前端,完成购物车结算操作,关键代码如下:List<Cart>lx_cartlist=cartService.selectData("select*fromt_cartwhereuserid="+user1.getId()+"");//查找购物车列表for(Cartlx_cart:lx_cartlist)//遍历购物车列表lx_totalPrice=Arith.add(lx_totalPrice,lx_cart.getSumprice());//计算总价格
request.setAttribute("lx_totalPrice",lx_totalPrice);//返回总价格到前端程序运行结果如图5-4所示。图5-4购物车结算界面4)订单提交该功能用于用户购物车结算后生成的订单提交,订单生成时,用户对象从session中获得,从用户对象中获取用户信息,在前端订单提交界面中显示,通过request获取前端传递用户信息参数,根据订单生成时间产生订单号;提交订单后,创建新的订单对象,根据订单号查询当前结算购物车列表,使用for循环遍历结算购物车列表,生成商品结算信息,将用户信息和商品结算信息结合为完整订单信息并提交订单,根据商品ID查询商品信息,设置商品销量和商品库存,购物车结算时的商品数量添加到商品销量,且在商品库存中减少,计算完后更新数据库中的商品信息,关键代码如下:Stringlx_ordersid=Util.getTime2();//生成订单号lx_bean=ordersService.selectData("select*fromt_orderswhereordersid='"+ordersid+"'").get(0);//查询结算购物车列表Goodslx_goods=goodsService.selectData("select*fromt_goodswhereid="+cart1.getGoodsid()).get(0);//查询商品信息goodsService.updateBean(lx_goods);//更新商品信息5.1.3个人中心模块1)订单中心该功能用于用户购买商品后对订单信息的确认以及对订单的一些处理操作,用户能够查阅订单详情、取消或删除订单以及确认收货。从session中获取用户对象,通过request获取订单状态,根据订单的状态可以对订单进行不同的处理;展示订单时,由于数量较多,订单信息分页显示,方法与搜素商品结果分页相同;根据用户ID和订单状态,查询当前页的订单列表,获取订单详细信息;依据订单号查询数据库中的订单信息,将被撤销的订单状态设置为取消,并实时更新订单信息,便可成功取消订单;确认收货时,则将已确认收货的订单状态设置为已完成,并更新订单信息,便可完成订单;删除订单时,直接根据订单号删除相关订单,关键代码如下:Stringlx_status=request.getParameter("lx_status");//获取订单状态
List<Orders>lx_list=lx_map.get(pagerinfo);//获取订单详细信息lx_bean.setStatus("已取消/完成");//设置状态ordersService.updateBean(lx_bean);//更新订单信息ordersService.deleteBean(lx_id);//删除订单2)商品收藏该功能用于用户查看收藏的商品信息和删除收藏商品,查看收藏商品时,从session中获取用户对象,根据用户ID查询当前页商品收藏,同样依照分页的形式显示出来;删除商品时,直接根据商品ID将商品从收藏中删除,关键代码如下:Map<String,List<Collection>>lx_map=collectionService.selectBeanMap(currentpage,10,url,sql);//查询当前页商品收藏List<Collection>lx_list=lx_map.get(pagerinfo);//查询商品详细信息collectionService.deleteBean(lx_id);//删除收藏3)账户信息该功能用于用户修改个人信息和密码,修改个人信息时,从session中获取用户对象,运用selectById方法获取输入的修改后的用户信息,将新用户信息返回bean对象,通过其设置用户信息中地址等属性值,并更新用户信息;修改密码时,在控制层根据根据户名、密码以及角色权限到数据库查询是否有对应用户信息,获取密码信息,返回给bean对象,若bean为空,数据库不存在该密码,跳出弹窗提示“原密码错误,修改失败!”;若不为空,则将新密码的值赋值到bean对象,更新用户信息,关键代码如下:lx_bean.setAddress(lx_address);//设置地址lx_bean.setPassword(lx_password2);//修改密码userService.updateBean(lx_bean);//更新用户信息程序运行结果如图5-5所示。图5-5个人中心界面5.2后台模块5.2.1管理员中心模块该功能用于管理员修改密码或安全退出管理后台,管理员的登录信息也存在session中,从session中获取管理员对象,判断用户角色后根据名称到数据库中查询是否有对应管理员信息,获取管理员密码,返回给bean对象,判断bean是否为空,为空表示数据库中不存在输入的密码,跳出弹窗提示密码错误;不为空则将输入密码赋值给bean对象,更新管理员信息,关键代码如下:Userlx_user=(User)lx_session.getAttribute("lx_manage");//获取管理员对象lx_bean.setPassword(lx_password2);//修改密码
userService.updateBean(lx_bean);//更新管理员信息5.2.2公告管理模块该功能用于管理员处理商城公告的管理,可以对商城公告进行增删改查操作。管理员可根据公告的标题,获取当前页的公告列表,按照分页的形式显示公告,通过公告标题进行模糊查询查找具体公告信息;获取前端传递公告对象,得到公告信息,返回bean对象,在数据库中对商品公告进行增删改查操作,关键代码如下:StringBuffersy=newStringBuffer();//初始化对象sy.append("biaotilike'%"+biaoti+"%'");//模糊查询lx_bean.setCtime(Util.getRiqi());//获取公告对象gonggaoService.insertBean(lx_bean);//添加公告gonggaoService.updateBean(lx_bean);//修改公告gonggaoService.deleteBean(lx_id);//删除公告程序运行结果如图5-6所示。图5-6公告管理界面5.2.3商品管理模块该功能用于管理员对商品信息进行各种管理,包括商品图片、分类、库存、评价以及推荐的管理,可以进行增删改查操作。管理员由管理后台进入商品管理,首先应添加商品分类,获取前端传递的商品分类对象,存入request中,将得到商品分类信息返回bean对象,通过bean对象在数据库中对商品分类进行添加、修改和删除;商品分类查询后还是按照分页的形式显示,根据分类ID查询商品分类对象,也可以根据商品名称进行模糊查询,查找到具体的商品分类信息,关键代码如下:cateService.insertBean(lx_bean);//添加商品分类request.setAttribute("lx_bean",lx_bean);//把商品分类对象存入request中sy.append("catenamelike'%"+catename+"%'");//模糊查询Catelx_bean=cateSe
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 保险公司分公司业务副经理考题及答案解析
- 2026年二级建造师之二建水利水电实务考试题库300道含答案【基础题】
- 2026年企业人力资源管理师之四级人力资源管理师考试题库300道含答案(能力提升)
- 2026年企业人力资源管理师之四级人力资源管理师考试题库300道含答案(新)
- 2026年交管12123学法减分复习考试题库含答案【基础题】
- 2026年企业人力资源管理师考试备考题库含答案(a卷)
- 2026年基金从业资格证考试题库500道及答案(典优)
- 2026年劳务员考试题库附答案(黄金题型)
- 2025年一级注册建筑师考试题库500道及答案【夺冠】
- 2026年高等学校教师岗前培训考试暨教师资格笔试题库及答案(名校卷)
- 招标代理机构遴选投标方案(技术标)
- Unit 1 People of Achievement Vocabulary 单词讲解课件高二英语人教版(2019)选择性必修第一册
- 广东事业单位工作人员聘用体检表
- NB-T+10488-2021水电工程砂石加工系统设计规范
- 建设法规 课件全套 项目1-8 建设工程法规基础- 建设工程其他相关法律制度
- 2024年RM机器人大赛规则测评笔试历年真题荟萃含答案
- 头颈肿瘤知识讲座
- 小学二年级体育教案全册表格式
- 储能收益统计表
- 手术室经腹腔镜胆囊切除术护理查房
- GB/T 17451-1998技术制图图样画法视图
评论
0/150
提交评论