在线商城系统的设计与实现.docx
《在线商城系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《在线商城系统的设计与实现.docx(52页珍藏版)》请在冰豆网上搜索。
在线商城系统的设计与实现
摘要
随着Web技术的发展以及人们购物心态的转变,网上购物已经成为时尚一族的购物首选。
而网上商城系统也随之不断完善。
目前各大门户网站也纷纷推出了在线商城业务,比较流行的有淘宝网、腾迅公司的拍拍网以及京东等等。
使用javaWeb技术结合MySQL数据也可以非常方便的制作出在线商城系统。
本文根据当当网网上购物的具体情况,详细介绍了通过B/S架构实现在线商城系统的过程。
该系统采用目前流行的Java语言,利用JSP、Javascript、Servlet、JavaBean、AJAX等技术以及MySQL数据库存储数据完成系统的开发。
该系统实现了用户的注册与登录,采用数据库存储用户信息;网页浏览产品模块,JSP技术实现了良好的人机交互界面;实现购物车模块,模拟超市选购物品暂时存放的一个模型;实现创建订单模块,当用户选购完物品将订单生成并确认的一个模型。
关键词B/S,java,MySQL,在线商城
ABSTRACT
AlongwiththedevelopmentoftechnologyandtheWebpeopleshoppingmentalitychange,onlineshoppinghasbecomeafashionbreedofshoppingfirstchoice.Andonlinemallsystemalsowillcontinuouslyimproved.Atpresentmajorwebsitealsohavelaunchedonlinemallbusiness,morepopularhave,roomofclapnetsandjingdongetc.UsejavaWebtechnologyincombinationwithMySQLdatabasecanalsobeveryconvenientproduceonlinemallsystem.Inthispaper,accordingtothenetworkshoppingwhenthespecificsituation,introducesindetailthroughtheB/Sstructurerealizeonlinemallsystemprocess.ThesystemadoptsthecurrentlypopularJavalanguage,usingtheJSP,Javascript,Servlet,JavaBean,AJAX,technologyandMySQLdatabasedatastoragecompletesystemdevelopment.Inthissystem,theuserregistrationandlogin,usingthedatabasestoringuserinformation;Webbrowsingproductmodule,JSPtechniqueisgoodhuman-machineinteractioninterface;Achieveashoppingcartmodule,thesimulationsupermarketstemporarystorageofgoodsofamodel.Establishingordermodule,whenauserchooseandbuythegoodswillorderformandconfirmationofamodel.
KeywordsB/S,java,MySQL,onlinemall
1绪论
1.1在线商城系统的概述
在线商城系统又称为网上购物、网络商城、网上商城、网上开店平台、网店管理系统、网店程序、网上购物系统、在线购物系统等。
无论是开设个人网上购物商店还是企业在线购物商城,一套好用的网上购物系统都是必须的。
网上购物系统拥有完整规范的商流和金流,整合了几十家国内知名的支付网关,并且内置了多套精美模版,同时还提供灵活强大的模版编辑功能。
商家可以根据自己的喜好对网上商店(网上购物系统)的前台页面做个性化设置;
同时,网上购物系统还拥有强大的商城功能,如店铺推荐和搜索,商品推荐和展示等等。
运营商可以给商家提供全方位的广告宣传和推广。
顾客也可以方便的找到自己心仪的商品和商店。
通过网上购物系统的建设以实现对商业零售企业提供信息化管理。
建立了B2C的网络销售系统。
着重论述了系统功能与实现、数据流程及存储,包括商品目录、用户注册、网上订货与购物、库存查询、后台数据库管理等。
运用HTML语言、JavaScript技术、SSH、JSP与后台数据库链接等关键技术建设网上购物系统。
1.2本课题研究的背景及意义
1.2.1本课题来源及背景简介
随着网络、通信和信息技术的突破性进展,Internet在全球爆炸性增长并迅速普及。
在这一前提下,电子商务应运而生了。
电子商务是基于互联网、以交易双方为主体、以银行电子支付和结算为手段、以客户数据为依托的全新的商务模式,它可以使商家与供应商更紧密地联系起来,更快地满足客户需求,也可以让商家在全球范围内选择最佳供应商,在全球市场上销售产品。
自1998年“电子商务年”以来,电子商务在全球发展迅猛,大约每九个月其交易额就翻一番,全球电子商务交易额(包括网上贸易额、销售额等)达到数千亿美元,电子商务收入剧增262%。
目前,世界各国纷纷看好电子商务这块新大陆,普遍认为电子商务的发展将是未来25年世界经济发展的一个重要推动力,对经济的促进将远远超过200年前的工业革命。
1.2.2研究本课题的意义
21世纪是—个以网络为核心的信息时代,数字化、网络化与信息化是21世纪的时代特征。
电子商务作为信息时代的一种新的商贸形式,不仅对商务的运作过程和方法产生巨大的影响,实际上也带来了一场革命,其影响将远远超出商务的本身,将对社会的生产和管理、人们的生活和就业、政府职能、法律制度以及文化从多方面改变人类的观念、思维和相互交往的方式。
1.3本课题研究的主要内容
本文详细地介绍了在线商城系统从分析、设计到实现的全部过程。
共分为6部分,具体如下:
第1部分绪论,阐述了在线商城的概述、课题研究的背景及意义,以及论文研究的主要内容。
第2部分系统开发相关技术,介绍了本课题所用到的技术,包括Java、Jsp、Servlet、Ajax等技术以及C/S和B/S的比较,为系统开发提供技术支持。
第3部分系统需求分析,主要是进行功能分析,整个系统包括网站页面显示系统和管理人员的用户和网页数据管理系统两部分组成。
第4部分系统设计,主要是描述网站页面显示系统的系统体系结构,根据分析得出功能结构,根据需求模型,利用MySQL进行数据库设计,接下来对整个系统的子模块进行详细进行详细设计。
第5部分系统实现,介绍系统开发平台的搭建及部分模块的详细实现过程和实现的界面效果图。
第6部分系统测试,采用单元测试和系统测试对系统进行测试,检验系统是否实现需求的功能。
最后是本课题的结论,所用到的参考文献及致谢的部分。
1.4本章小结
通过在线商城系统的概述,引出了本课题研究的背景和意义,介绍了论文的主要组织结构和主要内容。
2系统开发相关技术
本课题主要研究采用JAVA语言开发B/S模式的津贴管理系统,其中涉及到JavaEE、JSP、JavaScript、Servlet、JavaBean、AJAX、数据库等技术以及MVC设计模式,在本章中将对系统开发运用的主要技术、开发模式以及系统运行环境作详细介绍。
2.1JAVA相关简介
2.1.1Java简介
JAVA是由美国SunMicrosystems公司在1995年推出的一种编程语言。
该语言具有安全、跨平台、面向对象、简单、适用于网络等显著特点。
JAVA程序的执行主要是通过JAVA虚拟机实现的。
JAVA虚拟机是利用软件模拟的计算机,可以在任何处理器上安全并兼容地执行经编译生成的JAVA程序目标文件中的字节码。
JAVA执行的过程是先由JAVA编译器负责将源程序编译成为字节码文件,再由JAVA虚拟机中的JAVA解释器将字节码文件解释成为特定的机器码进行运行。
JAVA虚拟机的建立需要针对不同的软硬件平台做专门的实现,既要考虑处理器的型号,也要考虑处理器的类型。
目前在SPARC结构、X86结构、MIPS和PPC等嵌入式处理芯片上;在UNIX、Linux、Windows和部分实时操作系统上都可以安装对应版本的虚拟机。
同时Java具有面向对象、鲁棒并且安全、结构中立并且可以移植、高性能、解释执行、多线程并且是动态的等一系列优点。
目前Sun公司把Java平台划分为JavaSE(JavaPlatform,StandardEdition)、JavaEE(JavaPlatform,EnterpriseEdition)、JavaME(JavaPlatform,MicroEdition)三个平台。
JavaSE允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的Java应用程序。
JavaSE包含了支持JavaWeb服务开发的类,并为JavaPlatform,EnterpriseEdition(JavaEE)提供基础。
JavaEE是在JavaSE的基础上构建的,它提供Web服务、组件模型、管理和通信API,可以用来实现企业级的面向服务体系结构(service-orientedarchitecture,SOA)和Web2.0应用程序。
JavaME为在移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)上运行的应用程序提供一个健壮且灵活的环境。
鉴于JAVA众多的优秀特性,许多项目都采用JAVA来进行开发,JAVA语言正逐步成为世界上程序员使用最多的编程语言。
2.1.2JAVAEE平台介绍
JavaEE是Sun公司为企业级应用推出的标准平台。
随着Java技术的发展,JavaEE成为Java平台中应用最广泛的平台之一。
它不仅仅是一种标准平台,更多的是代表一种软件架构和设计思想。
JavaEE技术的基础就是JavaSE标准版,JavaEE不仅巩固了标准版优点,同时还提供了对EJB(EnterpriseJavaBeans)、JavaServletAPI、Jsp以及XML等技术的支持。
在JavaEE架构下,开发人员可遵循规范基础,进行企业级的应用。
基于JavaEE架构的应用系统,可以部署在不同的服务器上,提高了应用系统的可移植性。
JavaEE体系结构为开发B/S架构的服务器提供了一个平台独立的、可移植的、多用户的、安全的和基于标准的企业级平台,降低了企业级应用开发、部署和维护的成本和复杂性。
2.1.3JSP简介
随着Web应用的发展,传统的静态HTML已经不能满足Web的发展需求。
为了实现与Web进行信息交互,在静态HTML的基础上增加了新的功能,于是就产生了动态网页技术。
JSP(JavaServerPages)就是由Sun公司在1999年推出的一种动态网页技术标准。
Jsp是基于JavaServlet以及整个Java体系的Web开发技术,利用这一技术可以建立安全、跨平台的先进动态网站。
与ASP相比JSP以Java技术为基础,动态页面与静态页面分离,因此用JSP开发的Web应用能够在不同的系统环境下运行。
与其它动态网页技术相比,JSP还具有以下特点:
1)一次编写,到处运行。
2)系统的多平台支持。
基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。
3)JSP标签库的可扩充性。
JSP技术能够使用开发者扩展的JSP标签,通过定制标签库,减少了对脚本语言的依赖。
4)支持服务器端组件。
web应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供web页面调用,以增强系统性能。
JSP可以使用成熟的JavaBean组件来实现复杂商务功能。
5)易于维护。
基于JSP技术的Web应用比其它技术开发的程序更容易管理维护,JSP突出的组件技术使修改内容而不影响业务逻辑。
2.1.4Servlet简介
Servlet是Java服务器端程序,它是一种独立于平台和协议的服务器端的Java应用,可以生成动态的WEB页面。
它使用JavaServletAPI以及其他相关类和方法来分发客户端浏览器请求。
Servlet是JSP的基础,JSP的运行是被预编译成Servlet然后运行的。
通过Web.xml配置文件可以找到用户请求和特定的Servlet对应关系,每个Servlet都有一个Servlet对象与之对应。
许多Web服务器都支持Servlet,既使不支持Servlet的服务器也可以通过附加的应用服务器和模块来支持Servlet。
2.1.5JavaBean简介
JavaBean的实质是Java类,它的体系结构是一个基于组件的标准模型,通过封装属性和方法成为具有独立功能、可重复使用并且可以与其它控件通信的组件对象,已经成为当今流行的设计开发方法。
JavaBean组件可以用来执行复杂的计算任务,负责与数据库间的数据交互。
为了创建和使用Java软件组件,JavaBean被实现为一种独立于平台和结构的应用程序接口,它的实现可以忽略内部的结构和细节问题,只需定义其外部的特征及对外的功能。
其中,属性、方法和事件三种接口可以独立对外进行开发。
利用JavaBean组件还有以下优势:
1)可以实现代码的重复利用
2)易编写、易维护、易使用
3)可以在任何安装了Java运行环境的平台上的使用,而不需要重新编译。
4)在JSP中JavaBean常用来封装事务逻辑,可以很好的实现业务逻辑与前台程序的分离,使系统具有更好的健壮性和灵活性。
2.2AJAX简介
AJAX(AsynchronousJavaScriptAndXML),即异步JavaScript和XML。
它并不是一项单独的技术,而是由XHTML、CSS、DOM、XML、XSTL、XMLHttpRequest以及JavaScript等多项技术组合在一起的。
XHTML和CSS负责呈现界面;DOM实现动态显示和交互;XML和XSTL进行数据的处理和交换;使用XMLHttpRequest进行异步数据查询检索;JavaScript将以上技术实现综合运用。
AJAX技术的核心是JavaScript对象XMLHttpRequest。
通过它可以实现数据的异步传送,在不刷新整个页面的情况下和服务器实现数据交互。
AJAX技术的实现是在客户端和服务器之间增加了AJAX引擎,客户端与服务器之间不在直接的进行数据交互,客户端的Http请求都是通过JavaScript调用AJAX来完成与服务器的数据交互。
这样当每次用户请求服务器后不用等待服务器完成响应后再做其它的操作,使用户有更好的操作体验。
2.3MySQL数据库
MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司。
在2008年1月16号被Sun公司收购。
而2009年,SUN又被Oracle收购。
MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内。
这样就增加了速度并提高了灵活性。
MySQL的SQL“结构化查询语言”。
SQL是用于访问数据库的最常用标准化语言。
MySQL软件采用了GPL(GNU通用公共许可证)。
由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
MySQL数据库的特点:
1)使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性
2)支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多种操作系统
3)为多种编程语言提供了API。
这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。
4)支持多线程,充分利用CPU资源
5)优化的SQL查询算法,有效地提高查询速度
6)既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名
7)提供TCP/IP、ODBC和JDBC等多种数据库连接途径
8)提供用于管理、检查、优化数据库操作的管理工具
9)可以处理拥有上千万条记录的大型数据库
10)支持多种存储引擎
2.4MVC设计模式
MVC设计模式,即模型(Model)-视图(View)-控制器(Controller)的缩写,是一种著名的软件开发设计模式。
MVC设计模式最早由Xerox在20世纪80年代为Smaltalk-80语言的发展而提出的,而这种设计思想并没有被局限于该语言而是被广泛地应用到其它面向对象的编程语言中。
视图是用户看到并与之交互的界面。
作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。
对以前的Web应用程序,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括MacromediaFlash和像XHTML,XML/XSL,WML等一些标识语言和Webservices.如何处理应用程序的界面变得越来越有挑战性。
MVC一个大的好处是它能为你的应用程序处理很多不同的视图。
模型表示企业数据和业务规则。
模型从概念上可以分为两类――系统的内部状态和改变系统状态的动作。
在MVC的三个部件中,模型拥有最多的处理任务。
例如它可能用像EJBS和ColdFusionComponents这样的构件对象来处理数据库。
被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。
由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。
控制器接受用户的输入并调用模型和视图去完成用户的需求。
所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。
它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。
MVC的处理过程是首先由控制器接受用户的请求,并决定调用哪个模型来处理用户请求;然后模型根据相应的请求进行相应的业务逻辑处理,并将处理结构返回;最后控制器调用相应的视图来格式化模型返回的数据,通过视图将结果显示给用户。
图2.1描述了MVC中模型、视图、控制器三者的功能及相互之间关系:
状态查询状态改变
通知改变
通知改变
视图选择
用户请求
方法调用事件
图2.1MVC组件类型的关系和功能
2.5C/S模式与B/S模式比较
C/S和B/S是当今世界开发模式技术架构的两大主流技术。
C/S是美Borland公司最早研发,B/S是美国微软公司研发。
目前,这两项技术以被世界各国所掌握,国内公司以C/S和B/S技术开发出产品也很多。
C/S(Client/Server)即客户机和服务器结构。
在C/S结构模式中,系统分为两层:
第一层是在客户机上运行的用户界面与业务逻辑程序,具有为用户提供服务、保持与服务器通信等功能;第二层是服务器上运行的数据库管理系统,具有管理数据、与客户机通信的功能。
C/S将复杂的用户交互界面、业务处理模块和数据库管理分离,减小了服务器数据处理的压力。
但C/S结构模式也存在着许多缺点,传统的C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件,由于产品的更新换代十分快,需要高昂的投资和复杂的技术支持,维护成本很高,维护任务量大。
随着信息技术的发展和应用系统的复杂化,B/S结构模式比C/S结构模式显示出更多的优点。
B/S(Browser/Server)结构即浏览器和服务器结构。
它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。
在B/S模式中,系统分为三层:
第一层是客户端即浏览器,完成用户与系统交互和结果显示的功能;第二层是Web服务器的功能层,完成接受用户请求、连接数据库和返回结果的功能。
第三层是数据库服务器层,完成数据处理的功能。
在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层结构。
这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。
在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效。
与C/S相比B/S还存在以下优势:
1)维护和升级方式简单。
目前,软件系统的改进和升级越来越频繁,B/S架构的产品明显体现着更为方便的特性。
系统开发者不必再为不同级别的用户开发不同的客户端应用程序,所有的客户端只是浏览器,根本不需要做任何的维护,只需要将所有的功能在服务器端实现。
所有系统的维护和升级操作只需要针对服务器进行。
所以客户机越来越“瘦”,而服务器越来越“胖”是将来信息化发展的主流方向。
今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省是显而易见的。
2)成本降低,选择更多。
B/S结构软件一般只有初期一次性投入成本。
对于集团来讲,有利于软件项目控制和避免IT黑洞。
大家都知道windows在桌面电脑上几乎一统天下,浏览器成为了标准配置,但在服务器操作系统上windows并不是处于绝对的统治地位。
现在的趋势是凡使用B/S架构的应用管理软件,只需安装在Linux服务器上即可,而且安全性高。
所以服务器操作系统的选择是很多的,不管选用那种操作系统都可以让大部分人使用windows作为桌面操作系统电脑不受影响,这就使的最流行免费的Linux操作系统快速发展起来,Linux除了操作系统是免费的以外,连数据库也是免费的,这样就降低了成本。
从以上的分析可以看出,B/S结构的管理软件有着C/S结构软件无法比拟的优势。
B/S结构的大型管理软件势必在将来的几年内占据管理软件领域的主导地位。
鉴于B/S结构的优势,本系统采用B/S系统结构结合JavaEE技术进行开发。
2.6系统开发与运行环境
硬件平台:
CPU:
2.0GHZ以上
内存:
1G以上
软件平台:
开发工具:
MyEclipse6.5
服务器:
apache-tomcat-6.0.14
开发环境:
jdk1.6.0_21
数据库:
MySQL
浏览器:
IE6.0及以上
分辨率:
最佳效果1024*768像素
2.7本章小结
本章介绍了系统开发过程中涉及的主要技术,包括JSP、Servlet、JavaBean、AJAX、MVC设计模式、B/S模式、开发环境以及数据库MySQL。
3需求分析
3.1系统设计目标
采用jsp语言,mysql数据库进行该网站的后台管理系统的自主设计开发,力求达到系统平台的先进性、安全性、实用性、可扩充性和易维护性的要求。
前台采用静态页面+连接动态页面的模式。
网站后台管理平台:
1)具有完整、全面、统一的网站管理平台。
2)网站管理平台分级管理,分系统管理员后台、会员后台等。
3)网站管理平台具有强大的权限管理功能