版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于Javaweb的b2c商城系统设计与实现摘要:近年来,人们在线上购物的习惯已经慢慢养成了,不再向过去一样提起线上购物就想着假货,所以和它相关的服务业,如快递业务也随着线上购物的兴起而蓬勃发展起来了。目前,线上购物已经发展的越来越好了,比如我们可以各个平台购买我们需要的商品,正因为这样越来越多的企业和个体经营者开始通过自己的电子商务网站来吸引顾客,同时降低实体店的运营成本。近年来,基于微信应用的电商网站层出不穷。正是在这样的背景下,商城的便捷性和安全性就重要了,所以一一商城采用了SSM技术来搭建整个商城系统,采用分布式模式把一些重要的模块分开来部署,这样可以让系统的可靠性大幅度增强,同时对于系统的维护也非常方便,该系统对于商场网站有很大的参考价值。关键字:电子商务、SSM、分布式DesignandimplementationofB2CmallsystembasedonJavaWebAbstract:Inrecentyears,people'shabitofshoppingonlinehasbeengraduallyformed,andtheynolongerthinkoffakegoodsasinthepast,sotheserviceindustryrelatedtoonlineshopping,suchasexpressdeliverybusiness,hasalsobeenboomingwiththeriseofonlineshopping.Nowadays,onlineshoppinghasbeendevelopingbetterandbetter.Forexample,wecanbuythegoodsweneedonvariousplatforms.Justbecauseofthis,moreandmoreenterprisesandindividualoperatorsbegintoattractcustomersthroughtheirowne-commercewebsitesandreducetheoperatingcostsofphysicalstores.Inrecentyears,e-commercewebsitesbasedonWeChatapplicationshaveemergedinanendlessstream.Itisinthiscontext,theconvenienceandsecurityofthemallisimportant,sooneappliesSSMtechnologytobuildthewholemallsystem,adoptsthemodelofdistributedtoseparatesomeimportantmodulestodeploy,sothatwecanmakethesystemreliabilitygreatlyenhanced,atthesametimeforsystemmaintenanceisalsoveryconvenient,thesystemhasagreatreferencevalueforthemallwebsite.Keywords:ElectronicCommerce、SSM、Distributed目录TOC\o"1-3"\h\u206331绪论 1141841.1研究的背景 1116221.2研究内容 1137202商城开发的系统和工具介绍 2251312.1idea和tomcat简介 2168732.2MYSQL数据库概念和特点 249882.3AngularJS简介 2104452.4SSM简介 2300573商城系统项目需求分析 3107113.1目标 3158633.2商城业务流程图 4114683.2.1商城前台业务流程图 4246723.2.2商城后台业务流程图 5326173.3系统模块展示 6306403.3.1商城首页 6141543.3.2运营商后台 694983.3.3商家管理后台 792184商城系统详细设计及实现 791424.1系统设计思想 728421(1)Model(模型): 711974(2)View(视图): 718344(3)Controller(控制器): 7319964.2系统总体设计 89634.3系统功能模块设计 8182014.4数据库的设计 10210664.4.1概念模型设计 10236894.4.2数据库表设计 10307225系统的实现 19322325.1商城主页的实现 1936985.2注册模块的实现 20134545.3品牌管理的实现 22163195.4规格及模板管理的实现 23224185.5商品录入的实现 2436105.6购物车模块的实现 25127796总结与展望 2727622参考文献 281绪论研究的背景近些年来,人们的购买方式从花费时间去固定的商场转变为可以任意时间挑选物品的电商平台。随着社会的快速发展,人们越来越没有时间和耐心去进行线下购物,但是线上的商品从视觉上并没有线下商品来的直观。所以如何在线上购物商场中解决这个问题,提高用户的购买需求,我们一直在解决这个问题。随着线上购物需求不断加大和深入人心,从一开始不相信线上购物到现在大多数东西都会线上购买。衣食住行都可以在网上解决。目前从小学生到90岁的老人可能都体验过线上购物,正是在这种趋势下,线上购物才越来越让人们喜欢。研究内容本商城使用SSM技术来作为主要开发框架,为了方便系统的开发,所以将系统分为如下几个模块:(1)一一商城的运营商模块。主要内容包括商家和商品的一些管理。具备功能包括:商家管理与审核、品牌与规格管理、广告管理等几个部分。(2)成功加入一一商城的商家才能登录的后台,对自己的商品和订单进行管理。(3)一一商城的前端显示,商品搜索、页面静态等功能。商城中用户的登录与注册、购物车与支付等等。2商城开发的系统和工具介绍2.1idea和tomcat简介IDEA是java编写的开发环境。虽然说是一个收费软件,但是它的实用性确实业内第一的。尤其是在Debug时,会在代码旁边显示字段在此时的具体值。其内嵌了Tomcat,在整合JavaWeb项目时特别方便。Tomcat是小巧并且功能强大的服务器,免费开源且支持访问量较少,个人开发者使用时即为方便,缺点就是当访问量过大时,系统就负载不了了。2.2MYSQL数据库概念和特点在一一商城中常常面对着数据太多不能存储和使用的问题,而为了解决后台和数据不得不处理的存储问题,我们都会选择一个容器来帮助我们来存储这些数据,可以选择数据库来存放数据。使用数据库后,可以将一一商城用户和商品的信息都存储在数据库中MySQL数据库提高了数据之间的独立性,让我们对数据的处理更加方便。MySQL具有很多优点,尤其是其让人称赞的交互性,使用和它相关的图形用户界面也可以降低使用难度,使用方法一目了然。2.3AngularJS简介它是一个非常优秀且小巧的前端js插件,较Jquery来说较为好用,因此在开发商城时决定用它来作为前端的主要框架,最为核心的数据的双向绑定这样能使我们操作数据更加的方便,另一点就是依赖注入,它可以嵌入html标签中直接使用,这样就避免了我们使用jsp去实现前后端交互。2.4SSM简介SSM中的第一个S指的是Spring、第二个S指的是SpringMVC、M指的是Mybatis。简单地说我们可以把Spring看成一个容器,我们可以用这个容器来管理我们需要的所有对象以及许多第三方插件,Spring的核心要点在于IOC(控制反转),即通过反射机制去创建对象并进行管理,AOP(面向切面编程),即横向开发模式。SpringMVC作为一个优秀的web层框架,通过Controller完成前后端的交互。使用了Mybatis就不用我们自己去编写代码去操作数据库了,Mybatis把java自带的jdbc重新封装了一下,提供给我们使用的方法,使用起来极为方便。3商城系统项目需求分析3.1目标基于JavaWeb的b2c商城是依托于目前主流的SSM框架搭建而成。主要由两部分组成:前台展示和后台数据处理两个部分;第一个部分为一一商城的运营商管理,第二部分为一一商城商家管理;而前台方面,展现给用户的内容有商城首页、登录页、注册页、购物页等等。商城需要实现的具体目标包括:一一商城中实现运营商对商家信息管理、商品品牌管理,商品规格管理。一一商城中商家中应该实现对商品的上下架,管理本店铺的商品信息。以及更改本店铺的基本信息。一一商城中展现给用户的部分包括,首页包括一些商品信息和一些商品分类,用户登录和注册。每个商品的详细信息,商品的直接购买和加入购物车之后购买以及在修改购物车中的商品和直接在购物车中购买商品。3.2商城业务流程图3.2.1商城前台业务流程图图3-1商城前台业务流程图3.2.2商城后台业务流程图图3-2商城后台业务流程图3.3系统模块展示3.3.1商城首页主要包括搜索栏、主要商品分类、购物车、登录注册和一些必要的商品信息。图3-3商城首页展示3.3.2一一商城运营后台一一商城运营人员的管理后台。主要负责管理整个商城、按照规定对一一商城进行管理,包括对商家的管理、商品的管理等等。主要功能如下图所示:图3-4运营商后台展示3.3.3商家管理后台入驻的商家进行管理的后台,只有在通过运营商的审核之后才可以成为商家。主要的内容为管理自己的商品。主要功能如下图所示:图3-5商家管理后台展示4商城系统详细设计及实现4.1系统设计思想本课题意在设计一款基于SSM+AnjularJs+mysql实现的电商网站系统。一一商城使用的是MVC(Model即模型、View即视图、Controller即控制器)框架,分别对以下三块进行详细介绍:(1)Model(模型):根据要求,将商城的核心部分,即增删改查部分汇总于Model模块,其实他就是一个一个对象。Controller可以用Model为媒介来传输数据,通过持久层的逻辑代码来完成从数据库中读取或者写入数据。(2)View(视图):一个界面模块,对交互功能进行实现,将数据写入到对应的数据库中。Controller(控制器):当使用了控制器后就极为方便了,可以从数据库中读取我们所需要的数据然后显示在前台页面中。也可以把我们需要存储在数据库中的数据通过控制器存储在数据库中。4.2系统总体设计根据上面所言,总的来说分为管理员和用户两大方面。关于用户的功能包括购物车、购买、主页显示等等。管理员模块为一一商城的后台维护、商品维护等等一一商城所有功能概述如图:图4-1一一商城所有功能概述图4.3一一商城主要功能设计(1)一一登录设计:用户分为3种身份,商城的运营商、商家以及商城的消费者(普通用户),在不同的登录页面用户根据提示完成登陆操作。需要用户输入登录名、密码、验证码,然后调用对应的代码去和数据库中的数据进行对比,如果正确则提示登录成功,并跳转至登录成功后的页面,如果登录失败则会提示账号或密码错误。(2)系统用户管理:运营商是不允许注册的,允许注册的只有商家和普通用户。(3)普通用户管理:该权限包括删除普通用户,当然这里考虑的不全面,后期将对运营商进行分级,只有到达一定级别的运营商才拥有删除用户的权限。(4)修改密码:已注册的用户可以更改自己的登录密码,但是系统对密码进行了md5加密处理,所以存储在数据库中的密码是加密过的,因为不能够找回密码,只能修改密码。(5)品牌管理:运营商拥有品牌管理的权限,对品牌进行增删改查。商家只能上架运营商制定的品牌商品,能减少一部分的安全隐患。(6)规格及模板管理:每一种商品可能对于不能的规格,比如上衣的尺寸L、XL、XXL等,我们需要针对的不同的商品给出不同的尺寸。(7)商家入驻审核:需要在该电商平台进行申请入驻,填写商家的基本信息,然后由运营商进行审核,如果审核通过,即可录入商品信息出售自己的商品。(8)商品录入:商品可根据自己的需求,上传自己出售的商品信息,包括商品的名字、商品的价格、商品图片等信息。然后由运营商进行审核,审核通过后自动上架该商品。(9)商品搜索:以往的搜索都是直接从数据库中查询然后把数据返回给前端,这种方式在一些管理系统中使用的比较多。但是商城中数据量庞大所以这里采用solr来帮助我们查询数据,简单来说solr可以看成一个容器,是直接在内存中运行的,所以查询速度比从数据库中查询要快的多。(10)购物车管理:用户如果对商品感兴趣可以将商品加入购物车,在购物车中可以对商品的数量和规格进行修改,还可以批量删除一些不想要的商品以及批量购买商品等等。4.4一一商城数据库的设计4.4.1概念模型设计我们应该先完成模型的设计,这是非常重要的。要先明确每张表之前的关系,模型是否合理,其中包含了每个二维表的属性,表与表之间的关系,是一对多、一对一、还是多对多。一一商城总体ER图如图所示:图4-1数据库总体ER图4.4.2数据库表设计表4-1tb_address表序号字段名类型备注1address_idbigint地址的主键2user_idvarchar用户id用来标识用户3ad_provincevarchar所属省4ad_city_idvarchar所属市5ad_town_id varchar所属县/区6ad_mobile varchar手机号7ad_addressvarchar邮寄地址8ad_contactvarchar收件人名称9is_defaultvarchar是否为默认地址10ad_notes varchar备注11ad_create_datedatetime地址创建时间12ad_aliasvarchar别名表4-2tb_areas表序号字段名类型备注1a_idint区域的主键2area_idvarchar区域id标识区域3area_namevarchar该区域的名称4area_cityidvarchar区域中城市id表4-3tb_brand表序号字段名类型备注1idbigint(20)主键,自动递增2namevarchar(255)品牌名称3first_charvarchar(1)品牌首字母表4-4tb_cities表序号字段名类型备注1idint主键,自动递增2cityidvarchar城市ID3cityvarchar城市名称4provinceidvarchar省份ID表4-5tb_content表序号字段名类型备注1c_idbigint内容的主键2category_idbigint类目id标识所属类目3content_captionvarcharcontent对应的标题4content_urlvarchar内容跳转路径5content_picvarchar内容包含的图片6sort_orderint排在第几位表4-6tb_content_category表序号字段名类型备注1idbigint类目ID,自动递增2namevarchar分类名称表4-7tb_freight_template表序号字段名类型备注1template_idBigint模板的主键2seller_idvarchar模板对应的商家id3is_defaultvarchar是否默认4namevarchar模版名称5send_time_typevarchar发货时间6pricedecimal统一价格7create_timedatetime创建时间表4-8tb_goods表序号字段名类型备注1goods_idbigint商品的主键2seller_idvarchar商品属于哪个卖家3merchandise_namevarchar货物名称4is_for_salevarchar商品是否还在出售5g_brand_idint商品的品牌标识6g_categoryone_idbigint1级商品分类7g_categorytwo_idbigint2级商品分类8g_categorythree_idbigint3级商品分类9merchandise_picvarchar商品对应的图片表4-9tb_item表序号字段名类型备注1item_idbigint类型对应的商品id2item_headlinemaxvarchar商品大标题3sell_bright_pointvarchar商品最大卖点4pricedecimal商品价格5numint库存数量6imageBigint商品图片7categoryIdvarchar所属类目8statusvarchar商品状态9create_timedecimal创建时间10update_timeDecimal更新时间11item_snvarchar分类编号12cost_pircedecimal商品实际购买价13market_pricedecimal市场价格14goods_is_defaultvarchar是否为默认选项15item_goods_idbigint规格所属商品16categoryvarchar所属分类17Brandvarchar所属品牌18specvarchar所属规格19sellervarchar所属卖家表4-10tb_order表序号字段名类型备注1order_idbigint订单id自行设置2order_gross_amountdecimal订单总金额3defray_moldvarchar支付方式是什么4order_from_post_feevarchar快递费用5order_from_statusvarchar订单的状态6order_from_create_timedatetime用户下单时间7order_from_payment_timedatetime用户付钱时间8order_from_consign_timedatetime商家发货时间9order_from_end_timedatetime订单完成时间10order_from_close_timedatetime订单取消时间11order_from_shipping_namevarchar发货快递公司名12order_from_shipping_codevarchar快递公司单号13order_from_user_idvarchar订单对应的用户14order_from_buyer_messagevarchar订单留言15order_from_buyer_nickvarchar用户的网络昵称16order_buyer_ratevarchar17recipients_area_namevarchar收货人所在区域18recipients_mobilevarchar收件人的手机号19recipients_zip_codevarchar邮政编码20recipientsvarchar收件人名称21order_from_seller_idvarchar哪个商家的订单表4-11tb_order_item表序号字段名类型备注1item_idbigint订单详情的主键2order_item_goods_idbigint订单对应的商品3order_item_idbigint所对应的订单4order_item_headlinevarchar对应商品的标题5order_item_costdecimal对应商品的价格6order_item_amountint对应商品的数量7order_item_total_feedecimal对应商品的总价8order_item_pic_pathvarchar对应商品的图片表4-12tb_seller表序号字段名类型备注1seller_idvarchar卖家主键2corporate_namevarchar卖家注册公司名3seller_name_of_shopvarchar卖家店铺名4seller_passwordvarchar商家登录的密码5Seller_emailvarchar商家的邮箱6Seller_Mobilevarchar商家的手机号7Seller_telephonevarchar商家的固定电话8Seller_statusvarchar商家是否合法9Vendor_address_detailvarchar卖家详细地址10Vendor_linkman_namevarchar卖家姓名11Vendor_linkman_mobilevarchar卖家手机号码12Vendor_license_numbervarchar营业执照号表4-13tb_user表序号字段名类型备注1subscriber_idbigint标识用户的主键2subscriber_rnamevarchar用于登录的账号3subscriber_passwordvarchar用于登录的密码4subscriber_phonevarchar用户注册手机号5subscriber_createddatetime注册账号时间6subscriber_source_typevarchar用户会员类型7subscriber_nick_namevarchar用户网络昵称8subscriber_namevarchar用户现实姓名9subscriber_head_picvarchar用户自定义头像10subscriber_account_balancedecimal用户商城余额11subscriber_sexvarchar用户的性别5系统的实现5.1商城主页的实现用户登录后,会跳转到主页。由于主页的访问量较大,所以把主页单独作为一个分布式模块进行搭建。主页信息包括顶部的导航栏,中间的商品搜索栏、以及商品展示栏以及最底部的商城信息栏。一一商城首页如下图所示:图5-1主页界面页面排版的主要代码如下:图5-2页面布局主要代码数据显示的主要代码:图5-3主页显示代码5.2注册模块的实现用户注册的页面在user-web模块中的register.html的页面中,该页面也被嵌入在主页面中,当点击注册按钮之后,跳转到注册页,在填写用户名、密码之后js会先对这些数据的合法性进行检查,当这些输入都合法了之后输入短信验证码,点击注册即可将用户信息写入到数据库中,并跳转到商城首页。图5-4注册页面展示图5-5注册流程图图5-5注册页显示代码图5-5注册判断逻辑图5-5新增用户代码5.3品牌管理的实现在一一商城中,品牌管理的实现是不可或缺的一步。因为商城中规定商家只能商家运营商所规定的品牌及该品牌下所有的商品。该模块的功能主要包含对品牌的增加、删除、修改、查询等部分。当运营商点击增加时,输入品牌的名称和logo后点击添加,若数据库中没有该品牌即可添加成功。在对品牌进行修改时,在品牌列表点击修改即可对品牌进行编辑。流程图如下图所示:图5-5品牌增加流程图品牌管理页面如下图所示:图5-6品牌管理页面图5-7品牌管理显示页图5-8品牌操作主要代码5.4规格及模板管理的实现当录入商品时,商品的规格是必不可少的。在规格列表页specification.html中会显示每种规格的规格名称,当点击详情时会显示出该规格下所有的规格选项。流程图如下图所示:图5-7规格流程图规格页面如下图所示:图5-8规格页面图5-9规格显示主要代码图5-10规格操作主要代码5.5商品录入的实现作为一个商城来说,商品录入是一个最重要的环节。当商家通过审核后即可在商品后台进行商品的录入。图5-9商品录入流程图页面展示如下:图5-10录入商品流程图图5-11商品录入显示页代码图5-12商品录入逻辑代码5.6购物车模块的实现购物车模块和首页一样属于访问量较高的模块之一,所以本商城在开发的时候在购物车模块也独立出来作为一个单独的模块来搭建了。命名为dongyimai-cart-web。当不一样的是,本商城的购物车在用户没登录的时候也能添加成功。因为考虑到用户可能在没登录的情况下访问商城,当用户点击加入购物车时,会把该商品的信息先存入到cookie中,当用户登录后,系统会把cookie中的信息读取出来,并且把它加入到用户的购物车中。购物车模块流程图如下:图5-11购物车模块流程图页面展示如下:图5-12购物车界面图5-13购物车显示页面代码图5-14显示购物车主要代码6总结与展望本系统的优点在于把一些重点模块分开搭建,分别放在不同的服务器上,这样有利于系统的开发和维护。把主页单独作为一个模块来搭建,因为主页是访问量最多的一个页面,这样有利于系统的运行,不至于在访问量过大时导致系统的崩溃,还有不足的地方就是没有考虑到商品秒杀的模块,一些页面的展示页面做的也不是很好,未来会把商城继续完善,把之前没有考虑到的问题,如秒杀模块、会员积分、拼团等模块继续完善,在页面优化方面继续努力,把页面进行一些特色布局,让整个商城更加的简单易用,美观性十足。相信商城以后会变得越来越好。参考文献[1]张学诚。Java
WEB开发中的中文乱码问题解决方法[J].电脑知识与技术,2018,14(27):62-63.[2]李天赐,李璟璐,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 关于民营企业加强固定资产管理的重要性及策略分析
- 施工安全草原生态失行安全为执行安全管理制度
- 初中英语教师招聘考试试题及答案
- 宿舍文明主题教育
- 机床设计流程
- 2026 育儿中的亲子艺术创作课件
- 课堂表扬游戏设计与应用
- VR教育项目商业化路径
- 未来教育创想
- 路灯图纸培训课件
- 2026年宝鸡市辛家山林业局、宝鸡市马头滩林业局招聘(12人)考试参考题库及答案解析
- 超声科产前筛查异常应急预案演练脚本
- 2026年非遗保护中心招聘考试面试题及参考答案
- 6.3 社会主义市场经济体制(教学设计) 2025-2026学年统编版道德与法治八年级下册
- 2026年及未来5年市场数据中国电化学工作站行业发展监测及投资战略咨询报告
- 江苏省南京市2025届中考化学试卷(含答案)
- DB35-T 2262-2025 海峡两岸共通 美人茶加工技术规程
- DB5134-T 14-2021 美丽乡村 农村人居环境整治规范
- 矿井供电设计毕业论文
- 《医学免疫学》 课件 第1-7章 免疫学概述- 细胞因子
- 大学校医笔试试题及答案
评论
0/150
提交评论