网上商城基于web的电子商城的设计与实现.docx
《网上商城基于web的电子商城的设计与实现.docx》由会员分享,可在线阅读,更多相关《网上商城基于web的电子商城的设计与实现.docx(33页珍藏版)》请在冰点文库上搜索。
网上商城基于web的电子商城的设计与实现
本科毕业论文(设计)
论文(设计)题目:
基于WEB的电子商城
的设计与实现
系别:
专业(方向)及班级:
计算机科学与技术
学生姓名:
指导教师:
年月日
陇桥学院本科毕业论文(设计)原创性声明
本人郑重声明:
所呈交的论文(设计)是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文(设计)不包含任何其他个人或集体已经发表或撰写的成果作品。
本人完全意识到本声明的法律后果由本人承担。
作者签名:
年月日
基于WEB的电子商城的设计与实现
摘要
随着互联网的不断发展,电子商城迅速崛起,电子商城以网店为根本进行在线销售,突破了时间、空间的局限,随时可下单。
没有地域障碍,在更大程度上满足了各类消费者的需求,同时也真正实现了购物无国界。
本文实现了电子商城的设计,采用Eclipse开发工具Tomcat服务器及MySQL数据库,使用JSP实现基于B/S架构的电子商城,采用了MVC设计模式和三层架构来实现,该系统实现对电子商城的商品信息的管理、库存管理、销售管理等几个模块功能。
商品信息管理主要涉及商品的添加、修改、删除、查询等相关业务。
销售管理主要涉及对用户生成的订单进行处理,如发货、订单查询等。
库存管理主要涉及修改库存的相关业务。
[关键词]电子商城;JAVA;MySQL
TheDesignAndImplementationOfWebBasedElectronicMall
ABSTRACT
WiththecontinuousdevelopmentofInternet,e-commercerapidrise,e-commerceonlinesalesinstoreasafundamental,tobreakthroughthelimitationoftimeandspace,canplacetheorderatanytime.Nogeographicalbarrier,inalargerextent,meettheneedsofallkindsofconsumers,butalsorealizetheshoppingwithoutborders.Thispaperimplementsthedesignoftheelectronicmall,theuseofEclipsedevelopmenttoolstomcatserverandMySQLdatabase,usingJSPimplementationofe-commercebasedonB/Sarchitecture,usingtheMVCdesignpatternandthreelayerarchitecture,thesystemimplementedtheelectronicmallcommodityinformationmanagement,inventorymanagement,salesmanagementandsoonseveralmodules.Commoditiesinformationmanagementmainlyinvolvedtoadd,modify,delete,queryandotherrelatedbusiness.Salesmanagementmainlyinvolvestheusergeneratedordersforprocessing,suchasdelivery,orderquery,etc.Inventorymanagementisprimarilyconcernedwithmodifiedinventoryrelatedbusiness.
[Keywords]electronicshoppingmall;java;mysql
基于WEB的电子商城的设计与实现
一、开发背景
随着互联网的出现,电子商城也随之出现。
并且随着互联网的发展,电子商城的功能和性能也随之发展并且在不断的完善。
电子商城类似于现实世界当中的商店,差别是利用电子商务的各种手段,达成从买到卖的过程的虚拟商店,从而减少中间环节,消除运输成本和代理中间的差价,造就对普通消费和加大市场流通带来巨大的发展空间,尽能的还消费者以利益,带动公司发展和企业腾飞,引导国民经济稳定快速发展,推动国内生产总值。
电子商城是用计算机管理商城业务的一种计算机应用技术的创新,在计算机还未普及之前,传统商店是固定地点、固定时段销售。
电子商城以网店为根本进行在线销售,突破了时间、空间的局限,随时可下单。
没有地域障碍,在更大程度上满足了各类消费者的需求,同时也真正实现了购物无国界,你的业务可以做到世界的任何角落,没有地区限制。
传统商城都是建立在资金基础之上开展的,需要店面租金、装修费用、人员、硬件设施、仓库等各种资金来供应,而电子商城的开展则不需要如此之多的实物及资金,成本降低的同时可将更多的利润空间转让给用户,同时也形成了与线下相比的价格优势。
传统商城开展中,销售可能需要经过代理商、经销商等多种环节,不能够快速直接的面对客户;而电子商城则打破了长久以来的局面,使厂商可以直接面对消费者,减少很多中间环节,同时也减少了中间的交易费用,提升了利润空间。
与传统商务相比,电子商务的销售渠道大大增加。
可进驻天猫、京东等平台,可通过第三方服务商的商城系统开设独立网店,可以开展网络分销、代销渠道模式多样化,销售更加可观。
传统商务管理较为繁琐,财务、数据、库存等信息不完善,经常出错,且费时费力;但是就电子商城来说,进入信息化时代,不管是自身的网店业务还是旗下的代理商、分销商,各类数据都可通过网络清晰呈现,管理、结算、查阅都非常方便、快速、清晰。
传统商务中,用户对于产品的意见和看法一般都只能反馈给最终零售商;而电子商务时代则不同,网络加速了我们和用户的密切沟通,用户可以直接将第一线感知告知厂商,厂商也可深入了解用户心声,进行改善;并且通过电商还可进行用户调研,知己知彼,才能最终掌握用户需求,获得用户青睐和市场。
传统企业模式单一,电子商务模式更具多样性。
二、系统分析
(一)需求分析
使用电子商城的目的是用最少的人力,来完成比较繁琐的商城日常工作。
一个典型的电子商城除了最基本的销售业务之外还应具备后台管理功能,后台管理的功能主要负责对顾客所购买的商品业务进行处理商品信息进行管理,同时还需要有系统管理模块,负责对用户和管理员进行管理。
(二)可行性分析
计算机网络作为一种先进的信息传输媒体,有着信息传送速度快,信息覆盖面广、成本低的特点。
因此很多商店开始利用网络展开商务活动。
可以看到,在电子商城进行网上交易产生的效益是多方面的。
但是,开发任何一个基于计算机的系统,都会受到时间和资源上的限制。
因此,对在任何一个项目开发任务之前,必须根据客户可能提供的时间和资源条件进行可行性分析,以减少项目开发风险,避免人力、物力和财力的浪费。
经济可行性分析:
由于电子商城网站对硬件(计算机及相关硬件)的要求不高,软件环境(Eclipse+MySQL)都容易从相关网站下载,系统成本主要集中在本管理系统的开发与维护上,对用户不造成过重的经济负担。
而一旦此系统投入使用,不仅可以减少库存的工作强度,提高工作效率,而且方便了库存对信息的管理,延续了传统的管理模式,极大限度地方便了库存管理人员,而且,目标系统不是很复杂,开发的周期较短,人员经济支出不大,所节省的大量人力、财力产生的效益将远远大于本系统的开发成本,所以从经济方面来讲开发此系统是可行的。
技术可行性分析:
技术上的可行性分析要考虑现有技术条件能否顺利完成开发工作及将来要采用的硬件和软件技术能否满足用户提出的要求(如计算机的容量、速度等)。
Eclipse能帮助软件开发者提高软件开发的质量和效率,缩短开发周期,完全能够满足本系统的开发需求。
此外,从开发人员的水平考虑,作为计算机科学与技术专业毕业的学生,大学四年所积累的专业知识使我们从一定程度上具备了开发一个小型系统的能力,而且学校现有的计算机设备也完全能够满足开发的需要。
操作可行性分析:
传统的商城管理是手工管理,这种方式应用传统的“笔纸操作系统”,将库存的货物信息、销售信息等均以纯手工的形式进行,将信息以表格文件的表现形式记录在纸上,再进行统一保存。
这种方式虽然在简单信息查询时会有一定的方便,但是存在着更多的不便:
信息保存时间和条件很受限制、容易被损坏、信息查询不便、信息传达容易造成失误等。
因为商城管理人员已经有丰富的信息管理经验,加之有相当的计算机应用经验,所以对于此系统一定很容易就可熟练操作。
综上所述,此电子商城投资少、收益大,且其运行操作简单易学,具备了开发的可行性。
三、系统设计
(一)功能详细介绍
一个完整的电子商城网站流程首先应该是客户在客户端浏览商品,根据需要选择商品加入购物车,去点击结账生成订单号,电子商城管理人员在管理端获取到用户生产的订单,根据订单来发货,客户收到货物后完成交易,其次在管理端管理员能够对商品进行管理。
综上所述,一个完整的电子商城应具备以下几个模块。
系统管理模块的主要功能包括:
系统管理员和用户的注册登录以及退出功能,电子商城管理员和用户只有通过登录才能进行相关业务操作。
商品信息管理模块的主要功能包括:
添加商品、修改商品、删除商品、以及修改库存信息,该模块主要有管理员来进行操作。
销售管理模块的主要功能包括:
对订单进行管理、发货、查询订单信息。
用户登录货可以购买相关的商品,然后结账生成订单,等待发货,管理员可以根据订单进行发货,然后完成交易。
(二)系统功能结构
电子商城的功能结构图如图1所示:
图1电子商城的功能模块图
(三)系统开发环境及运行环境
系统开发环境如下:
系统开发平台:
Eclipse。
数据库管理系统软件:
MySQL。
Java开发包:
JDK7.0以上。
运行环境如下:
运行平台:
Windows7。
Web服务器:
tomcat6.0。
浏览器:
火狐浏览器。
四、数据库设计
(一)数据库分析
根据需要本系统中采用的是MySQL数据库,系统数据库名称为supermarket。
数据库supermarket包含5张表。
数据库表树形结构如下图2所示该数据表树形结构包含本系统所有的数据表。
图2数据表树形结构图
(二)数据库E-R图
本系统根据分析设计了5个实体分别是用户信息实体、管理员信息实体、商品信息实体、订单实体、订单项实体。
实体E-R图如下所示:
不同的用户具有不同的用户信息,用户信息实体E-R图如图3所示:
图3用户信息E-R图
不同的管理员具有不同的管理员信息,管理员信息实体E-R图如图4所示:
图4管理员信息E-R图
对于电子商城所展示的商品,为了使消费者详细了解商品,应将商品的所有的信息都展示出来。
商品信息实体E-R图如图5所示:
图5商品信息E-R图
当消费者选购好商品放入购物车后,如果不继续购物,便可生成订单,商品订单实体E-R图如图6所示:
图6订单信息E-R图
当用户提交完订单后,需要进一步了解所购买的商品的信息,如购买的商品数量、金额、订单号等。
订单项实体E-R图如图7所示:
图7订单项信息E-R图
用户、订单、订单项之间的对应的实体E-R图如图8所示:
图8用户、商品、订单信息E-R图
(三)数据库表结构
根据设计好的各个实体E-R图创建数据库的逻辑结构,数据库各表的结构如下。
用户信息表用来保存用户的所有信息,包括用户编号、用户名称、密码、邮箱地址等4个字段,该表的逻辑结构如表1所示:
表1用户信息表
字段名
字段类型
字段大小
是否为空
字段说明
id
int
11
否
自动编号(主键)
username
varchar
100
否
用户名称
password
varchar
100
是
密码
email
varchar
100
是
邮箱地址
管理员信息表用来保存电子商城管理员的所有信息,包括管理员编号、管理员名称、密码、邮箱地址等4个字段,该表的逻辑结构如表2所示:
表2管理员信息表
字段名
字段类型
字段大小
是否为空
字段说明
id
int
11
否
自动编号(主键)
username
varchar
100
否
管理员名称
password
varchar
100
是
密码
email
varchar
100
是
邮箱地址
商品信息表用来保存商品的所有信息,包括商品编号、商品名称、商品类别、商品价格、商品库存、商品销量、商品图片路径等7个字段,该表的逻辑结构如表3所示:
表3商品信息表
字段名
字段类型
字段大小
是否为空
字段说明
id
int
11
否
自动编号(主键)
category
varchar
50
是
商品类别
name
varchar
50
是
商品名称
price
double
11,2
是
商品价格
sales
int
11
是
商品销量
stock
int
11
是
商品库存
Img_path
varchar
200
是
图片路径
订单信息表用来保存用户订单的所有信息,包括订单项编号、商品类别、商品名称、商品数量、订单金额、商品单价、商品图片路径、订单号等8个字段,该表的逻辑结构如表4所示:
表4订单项信息表
字段名
字段类型
字段大小
是否为空
字段说明
id
int
11
否
自动编号(主键)
category
varchar
100
是
商品类别
name
varchar
100
是
商品名称
count
int
11
是
商品数量
amount
double
10,2
是
单种商品金额
price
double
11,2
是
商品单价
img_path
varchar
200
是
商品图片路径
order_id
varchar
100
是
订单id
订单信息表用来保存用户订单的所有信息,包括订单号、订单时间、商品数量、总计金额、订单状态、用户id、等6个字段,该表的逻辑结构如表5所示:
表5订单信息表
字段名
字段类型
字段大小
是否为空
字段说明
id
int
100
否
自动编号(主键)
order_time
datetime
是
订单生成日期
total_count
int
11
是
商品数量
total_amount
double
11,2
是
总计金额
state
int
11
是
订单状态
user_id
int
11
是
用户Id
五、电子商城的实现
(一)登录模块的实现
为了系统的安全考虑,登录是必不可少的一个模块。
登录模块中用户和管理员的登录功能实现的方式相同,登录的验证方法类似,只是登录后所处的页面不同,用户登录后跳转到客户端页面,管理员登录后跳转到管理端页面。
在登录验证的过程中,通过将页面中获取的用户和管理员填写的用户名和密码作为查询条件,在用户或管理员表中查找条件匹配的用户信息,如果查询返回的结果不为空则验证通过,反之验证失败。
用户登录模块流程设计,如图9所示:
图9用户登录的流程图
用户登录界面如图10所示:
图10用户登录界面
核心代码:
protectedvoidlogin(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
Useruser=WEBUtils.paramToJavaBean(request,newUser());
Userlogin=userService.login(user);
if(login!
=null){
HttpSessionsession=request.getSession();
session.setAttribute("login",login);
response.sendRedirect(request.getContextPath()+"/pages/user/login_success.jsp");
}else{
request.setAttribute("msg","用户名或密码错误!
");
request.getRequestDispatcher("/pages/user/login.jsp").forward(request,response);
}
}
管理员登录模块流程设计,如图11所示:
图11管理员登录的工作流程图
管理员登录界面如图12所示:
图12管理员登录界面
核心代码:
protectedvoidlogin(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
Adminadmin=WEBUtils.paramToJavaBean(request,newAdmin());
Adminlogin=AdminService.login(admin);
if(login!
=null){
HttpSessionsession=request.getSession();
session.setAttribute("login",login);
response.sendRedirect(request.getContextPath()+"/pages/administrator/login_success.jsp");
}else{
request.setAttribute("msg","用户名或密码错误!
");
request.getRequestDispatcher("/pages/administrator/login.jsp").forward(request,response);
}
}
(二)管理员管理模块
此模块主要功能是实现管理员登录。
管理员登录后获得管理权限,可以对商品信息、订单、商品库存进行管理。
模块流程设计,如图13所示:
图13管理员业务的工作流程图
管理员界面如图14所示:
图14管理员界面
(三)商品信息管理模块
此模块的主要功能是让管理员并对商品进行维护。
管理员登录后可以对商品信息进行管理,包括商品的添加、修改、删除等相关业务的处理。
商品信息管理模块流图设计,如图15所示:
图15管理员商品管理业务的工作流程图
商品信息管理界面如图16所示:
图16商品信息管理界面
登录后就可以对商品信息进行管理。
核心代码:
publicclassProductManagerServletextendsBaseServlet{
privatestaticfinallongserialVersionUID=1L;
privateProductServiceproductService=newProductServiceImpl();
protectedvoidproductList(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
Listlist=productService.getProductList();
request.setAttribute("list",list);
request.getRequestDispatcher("/pages/manager/product_manager.jsp").forward(request,response);
}
protectedvoidaddProduct(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
Productproduct=WEBUtils.paramToJavaBean(request,newProduct());
productService.saveProduct(product);
response.sendRedirect(request.getContextPath()+"/manager/ProductManagerServlet?
method=findProduct");
}
protectedvoiddelProduct(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
StringproductId=request.getParameter("productId");
productService.delProduct(productId);
Stringreferer=request.getHeader("Referer");
response.sendRedirect(referer);
}
protectedvoidupdateProduct(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
Productproduct=WEBUtils.paramToJavaBean(request,newProduct());
if(product.getId()==null){
productService.saveProduct(product);
response.sendRedirect(request.getContextPath()+"/manager/ProductManagerServlet?
method=findProduct");
}else{
productService.updateProduct(product);
Stringreferer=request.getParameter("referer");
response.sendRedirect(referer);
}
}
(四)购物车管理模块
此模块的主要功能