基于j2ee架构的网上购物系统的设计与实现.docx
- 文档编号:17435666
- 上传时间:2023-07-25
- 格式:DOCX
- 页数:42
- 大小:758.12KB
基于j2ee架构的网上购物系统的设计与实现.docx
《基于j2ee架构的网上购物系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于j2ee架构的网上购物系统的设计与实现.docx(42页珍藏版)》请在冰点文库上搜索。
基于j2ee架构的网上购物系统的设计与实现
摘要
这篇论文主要以基于J2EE的诚信网络购物中心为例,阐述了基于J2EE架构的网上购物系统的设计与实现,对系统实现的关键技术以及模式的运用进行了研究,实现了购物车设计、订单管理、会员管理、商品信息管理、公告维护等重要功能,并给出了相应的实现模型,实现了网上购物系统的基本功能,并且运用相关的设计模式融合到系统之中,对相关的设计模式在网上购物系统中的应用加以研究,分析出相关模式的作用。
该系统具有高效、安全、维护简单等特点。
系统基于B/S架构,采用jsp、java、Struts1.3+JDBC+DAO技术进行开发,数据库由sqlserver2000搭建。
面向广大的消费者设计的网上购的一个平台,实现价廉物美的公平交易。
本文按照软件工程的思想,应用统一建模工具(UML),并以组件的思想并以组件的思想,构造设计了电子商务平台中的各个功能模块;设计开发过程中,按照RUP项目开发原则进行设计开发工作,并应用用例图、顺序图等图形化手段进行了分析。
关键词:
J2EE诚信网络购物中心
ThisthesisistheintegrityofJ2EE-basedshoppingnetworkexampletoexplaintheJ2EE-basedonlineshoppingsystemarchitecturedesignandimplementationofkeytechnologiesforsystemimplementationandtheuseofmodelshasbeenstudiedtorealizetheshoppingcartdesign,ordermanagement,membershipmanagement,productinformationmanagement,announcementsandotherimportantmaintenancefunctions,andthecorrespondingimplementationmodeltoachievethebasicfunctionsofonlineshoppingsystem,andtheuseofdesignpatternsrelatedtothesystembeingintegrated,therelevantdesignpatternsIntheonlineshoppingsystemtostudy,analyzetheroleofrelatedpatterns.
Thesystemhashighefficiency,safety,maintenanceandsimple.SystembasedonB/Sstructure,usingjsp,java,Struts1.3+JDBC+DAOtechnologydevelopment,databasesetupbythesqlserver2000.Forthemajorityofconsumerspurchaseawebdesignplatform,cheapandfairtrade.
Thisaccordingtosoftwareengineering,applicationoftheUnifiedModelingtools(UML),andtheideaofcomponentsandtocomponentsoftheideaofe-commerceplatforminthestructuraldesignofthevariousfunctionalmodules;designanddevelopmentprocess,projectdevelopmentinaccordancewithRUPprinciplesofdesignanddevelopmentwork,andapplytheusecasediagram,sequencediagramandothergraphicalmethodswereanalyzed.
1引言
1.1选题背景
近年来,随着Internet的迅速发展,人们对互联网的认识逐渐增强,网上购物系统已经走进了人们的日常生活。
对于企业来说,这种新型的商业运营模式给他们的发展创造了良好的机遇。
对于个人来说,网上购物系统带来了方便和效率。
在软件技术趋于成熟的今天,构建一个稳定的、可靠的电子商务系统已经成为许多企业关注的焦点。
网上商城是在为个人用户和企业用户提供人性化的全方位服务,努力为用户创造亲切、轻松和愉悦的购物环境;不断丰富产品结构,最大化地满足消费者日趋多样的购物需求。
并凭借更具竞争力的价格和逐渐完善的物流配送体系等各项优势,赢得市场占有率多年稳居行业首位的骄人成绩,也是时代发展的趋势。
Jsp、Java网上商城系统是比较高端的网上商城系统,其适合开发大型的网上商城业务,能承载大数据量,大访问量,并且系统具备非常高的安全性,目前大部分大型的企业基本上都采用此类网上商城系统。
一个优秀的应用系统,必须有一个正确的设计思想,通过合理地选择数据结构、操作系统以及开发环境,构成一个完善的体系结构,才能充分发挥计算机应用的优势。
根据购买者的实际需求,本系统的设计按照下述原则进行。
1.实用性
系统以用户需求为目标,以方便用户为原则,同时融入先进的设计思想。
根据用户实际的需求情况,制作一个功能齐全、操作简单、实用性强,充分满足购物者的需求,真正成为为用户提供快捷、方便的工具。
2.先进性
本系统将充分应用现有成熟的计算机技术、软件开发技术,为用户提供高性能的系统,可以方便的实现用户的需要。
3.高可靠性
一个实用的系统同时必须是可靠的,本系统通过合理而先进的结构设计以及软、硬件的优化选型,可保证系统的可靠性与容错性。
4.可维护性
系统的设计要求方便维护(浏览、查找等)。
5.可扩展性及灵活性
系统的设计以方便未来业务的扩展和系统扩充为目标,系统要求能够方便的浏览,充分保护系统的投资。
购买者可以根据自己的需要,灵活的浏览页面,查找所需的物品。
6.智能性
智能化是这个系统软件的一大特色。
系统在设计时,充分考虑后台的管理,方便的将产品添加到前台,将各种情况考虑清楚。
2系统概述
2.1本系统技术概述
本系统采用JSP动态网页技术、SQLServer2000数据库管理系统、JDBC+DAO数据库连接技术、Apache-tomcat-6.0.14运行平台、MVC模式、J2EE等建立的网上购物平台。
2.1.1J2EE技术架构
J2EE采用了三层结构,客户端为标准浏览器,中间为J2EE的服务器,底层为数据库服务器,系统的J2EE的结构是基于J2EE平台,采用了JSP、Servlet、EJB、JDBC结构构建电子商务平台。
这种技术的原理是:
海量数据库系统作为数据仓库,用Servlet等高性能服务器端程序作为后台总控程序,JSP程序在前台运行,Servlet接收用户的输入,分别调用不同的JSP程序向客户端反馈数据,JSP、Servlet通过HTTP连接在服务端和客户端传递数据,JSP、Servlet并不使用JDBC技术直接访问数据库系统,而是把参数传递给事先已经编好的JavaBeans和EJB组件,由他们对数据库进行操作,这样就把系统内部的数据封装保护起来,JavaBeans和EJB组件还可以把事务分发到另一个组件中去处理,最后把数据库返回的结果,有JSP、Servlet送到前端显示出来,这样的模式很容易实现分布式网络计算,许多企业应用做成JavaBeans组件,可以重复利用,这样既封装了某些关键的操作,又方便了开发者,提高了开发速度和网站的延伸性,安全性也得到了很好的处理。
对事务的要求的支持也是J2EE体系结构的必要部分。
J2EE平台支持计划性和声明性的事物界定,组件提供者可以java事物API在组件代码中计划性地划分事物边界。
该技术主要支持两类软件的开发和应用。
一类是做高级信息系统架构的Web应用服务器(Webapplicationserver),另一类是在Web服务器上运行的Web应用程序(Webapplication)。
J2EE为搭建具有可搜索性、灵活性、易维护性的商务系统提供了良好的机制:
(1)保留现存的IT资产:
企业需要适应新的商业要求,利用已有的企业信息系统的投资,而不是重新制定全盘方案。
(2)高效的开发:
J2EE允许公司把一些通用的、很繁琐的服务交给软件供应商去完成,这样开发人员就可以将精力集中在如何创建商业逻辑上,缩短开发时间。
(3)支持异构环境:
J2EE能够开发部署在异构环境中的可移植程序。
基于J2EE的程序不依赖任何的特定的操作系统、中间件、硬件。
(4)可伸缩性:
基于J2EE的应用程序可以北部署到任何开发环境中,平台伸缩性可以响应多客户的请求。
2.1.2Jsp动态页面技术
JSP(JavaServer Pages)是Sun公司推出的一种动态网页技术。
JSP技术是以Java语言作为脚本语言的。
JSP本身虽然也是脚本语言,JSP代码却被编译成Servlet并由Java虚拟机执行,这种编译操作仅在对JSP页面的第一次请求时发生。
JSP在技术结构上有着其他脚本语言所没有的优势:
JSP可以通过JavaBeans等技术实现内容的产生和显示相分离,并且JSP可以使用JavaBeans或者EJB(Enterprise JavaBeans)来执行应用程序所要求的更为复杂的处理,进而完成企业级的分布式的大型应用。
JSP继承了Java语言的特点,允许Web开发人员开发与平台无关、信息丰富、动态的Web页面,能使Web开发人员 轻易搭建Web平台。
2.1.3Tomcat中连接池机制
使用传统的方式开发JDBC应用时,要为每一次请求建立一次数据库连接,因此在一个这样Web应用中,建立数据库连接的操作是系统中代价最大的操作之一。
而且,你必须去管理每一个连接,确保他们能被正确关闭,如果出现程序异常而导致某些连接未能关闭,将导致数据库系统中的内存泄露,最终将不得不重启数据库。
针对以上问题,首先想到可以采用一个全局的 Connection对象,创建后就不关闭,以后程序一直使用它,这样就不存在每次创建、关闭的问题了。
但是,同一个连接使用次数过多,将会导致连接的不稳定,进而会导致Web服务器的频繁重启。
故而,这种方法也不可取。
而连接池技术可以解决上述问题。
连接池最基本的思想就是预先建立一些连接放置于内存对象中以备使用,当程序需要建立数据库连接时,只须从内存中取出一个来使用,使用完毕后,只需放回内存即可。
而连接的创建和关闭都由连接池来管理。
同时,还可以通过设置连接池的参数来控制连接池中的连接数、每个连接的最大使用次数等。
通过使用连接池,将大大提高程序效率。
2.1.4JDBC数据访问技术
JDBC是Java数据库连接(JavaDatabaseConnectivity)技术的简称,是为各种常用数据库提供无缝连接的技术。
它由一些Java语言编写的类和界面组成.JDBC为数据库应用开发人员,数据库前台工具开发人员提供了一种标准的应用程序设计接口,使开发人员可以用纯Java语言编写完整的数据库应用程序。
JDBCAPI通过一个数据库管理器(DataManager)和为各种数据库定制的驱动程序提供与不同数据库通信的网络协议指令或其他API指令。
这种指令的转换机制,使基于JDBC接口开发的程序可以独立于数据库的种类。
JDBC和ODBC及其他API的比较:
(1)ODBC不适合在Java中直接使用,因为它是一个C语言实现的API,从Java程序调用本地的C程序会在安全性,完整性,健壮性方面都有许多缺点。
(2)不能完全精确地实现从ODBCCAPI到JavaAPI的翻译.
(3)ODBC很难学,它把简单和高级功能混杂在一起,甚至对非常简单的查询,其选项也非常复杂。
而JDBC恰好相反,其尽量保证简单功能的简便性,而同时在必要时允许使用高级功能。
2.1.5Struts技术
(1)Struts的起源
当JavaServlet刚刚开始出现的时候,由于它速度很快而且功能很强大,许多开发人员很快就意识到这是一个非常好的技术。
但是不停地使用println方法向浏览器提供HTML是一个比较简单的操作过程。
比较深层次地解决方法是Jsp在Servlet内部进行处理。
即可轻松地把HTML与JAVA结合在一起。
但是这种方法在解决控制流和某些特定问题上存在明显的缺陷。
于是开发工作者想到架构JSP和Servlet联合起来构成网络应用,其中Servlet操作控制流,Jsp用来完成HML—是解决这些问题的一种很好的模式,这就是众所周知的Model2
目Struts2.0正式版已经推出,它是Struts整合WebWork后的产品。
对传统的Struts逐出了很大的改进其中包括许多新特性,主要包括整体性能的提高、全功能的WebFlow支持,包括JSP,FreeMarker和Velocity,Quickstart的快速体验、全新的示例程序、更好更多的只能错误报告、用户界面改进等。
(2)Struts的特性
基于Struts框架的Web应用咸亨需基本上符合Model2的设计标准,可以说是传统的MVC设计模式的一个变种。
Struts框架将MVC模式分离显示逻辑和业务逻辑的能力发挥的淋漓尽致。
Struts继承了MVC的各种特性,它包括框架类、帮助类和定制的JSP标签库,以及大郎基于J2EEModel2设计模式的应用技术。
它为开发者建立Web应用提供了一个强大、方便、可扩展的开发环境。
其特性如下:
1)作为基于Servlet技术的框架,Struts具有Servlet所具有的如下特点:
i.持久性:
只需Web服务器加载一次,就可以在不同请求之间保持服务。
ii.平台无关性:
它继承了Java的平台无关性。
iii.可扩展性:
Struts是科扩展的。
iv.安全性:
从外界调用Servlet的唯一方法就是通过Web服务器。
这提供了高水平的安全性保障,尤其是当web服务器有防护墙保护的时候。
2)Struts是基于MVC实现的。
Struts是建立在MVC这种公认的良好模式上的,因此,它天生就有MVC所带来的一系列优,如结构层次分明、科重用性高、程序具有健壮性和科伸缩性,便于开发与设计分工,具有集中体内故意的权限控制等。
3)JSP标记机制和标签的使用。
Struts使用标记解决某些重大问题。
这个方法有助于提高代码的可重用性和灵活性。
通过将问题划分为更小的组件,当需求出现变化时,开发人员就有更多的机会重用他们原来的开发的代码。
4)对其他技术和框架的融合性。
Struts对其他的技术和框架显示出很好的融合性,比如现在它已经与Tiles融合一体,可以展望,它将很快就会与更多的其他技术融合在一起。
5)开发源码。
Struts是开源架构,开放源码具有很多优点,比如可以查看代码并在必要时候做代码检查。
而且真实由于Struts是个开源项目,因而得到了众多程序大师和开发高手的支持,使其经受了实践的检验,功能越来越强大,体系也日趋完善。
6)功能丰富。
Struts还提供了校验、国际化、日志等丰富功能,方便开发人员使用。
(3)Struts的体系结构
Struts是基于Model2之上的。
Model2是经典MVC模型的Web应用变体,则个改变主要是由于HTTP的无状态性引起的,Model2和MVC一样,也是利用控制器来分离模型和视图,达到一种层间松散耦合的效果,以提高系统灵活性、复用性和可维护性.
Struts继承了MVC的各项特性,并根据J2EE的特点,做了一些变化和调整。
作为MVC模式的典型实现,对Model、View和Controller都提供实现组件,其具体实现如下图1.1所示。
图1.1Struts框架结构图
2.1.6MVC设计模式
MVC设计模式是一种著名的用户界面软件开发设计模式,它是模型-视图-控制器(Model-View-Controller)缩写。
在MVC设计模式中,它把应用程序分成了3个核心部分,原理如图1.2所示。
图1.2MVC模型组件关系图
(1)MVC的每部分功能如下:
模型(Model)是软件所处理问题逻辑在独立于外在显示内容和形式情况下的内在抽象,封装了问题的核心数据、逻辑和功能的计算关系,独立于具体的界面表达和I/O操作。
视图(View)把表示模型数据及逻辑关系和状态的信息及特定形式展示给用户。
它从模型获得显示信息,对于相同的信息可以有多个不同的显示形式或视图。
控制器(Controller)是处理用户与软件的交互操作的,其职责是控制提供模型中任何变化的传播,确保用户界面于模型间的对应联系;它接受用户的输入,将输入反馈给模型,进而实现对模型的计算控制,是使模型和视图协调工作的部件。
通常一个视图对应一个控制器。
模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。
如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应反映到这些变化。
因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。
这实际上是一种模型的变化-传播机制。
(2)MVC的优、缺点
优点如下:
1)系统代码的可重用性高。
多个视图共享一个模型,使得同一个模型可以被不同的视图重用。
如,订单模型可能有本地订单,也有网上订单,或者其他方式订单,但对于订单的处理都是一样,这样减少了代码的复制,即减少了代码的维护量。
2)各个模块相对独立。
由于MVC的各个模块相对独立,改变一个不会影响其他两个,所以开发人员可以构建系统的松散耦合构件。
3)控制器提高了系统应用程序的灵活性和配置性。
控制器可以连接不同的模型和视图去完成用户的需求,这样可以为构造应用程序提供强有力的方法。
4)有利于软件工程化管理。
由于不同的层各尽其职,每一层不同的应用具有某些相同的特征,有利于通过工程化、工具化产生系统程序代码。
缺点如下:
它没有明确的定义,所以一个开发人员完全理解MVC并不是很容易。
使用MVC也需要精心的计划,由于它的内部原理比较复杂,所以开发者需要花费相当可观的时间去考虑如何将MVC运用到应用程序之中。
同时由于模型和视图要严格的分离,这样也给调试应用程序到来了一定的困难。
每个构件在使用之前都需要经过彻底的测试。
一旦构件经过了测试,就可以毫无顾忌的重用它们了。
还有开发MVC系统比简单的JSP开发要复杂许多,它需要更多的时间学习和掌握。
2.1.7DAO模式
数据访问对象(DAO)模式是J2EE核心模式的一种,主要是业务核心和具体数据源之间增加了一层,从而实现了两者之间的解耦。
因为持久层的数据源可能是多样化的,可能是XML或是关系数据库,在具体的关系数据库中也有不同的产品。
通过DAO模式,业务核心部分就无需考虑具体的数据库是如何操作数据库系统的。
其原理图如图1.3所示。
图1.3DAO模式
其表达的核心思想有:
(1)业务对象BusinessObject,DAO,数据访问层DAL分离。
(2)业务对象BusinessObject通过DAO完成业务操作。
(3)若需要持久化操作的,DAO调用DAL来完成持久化。
(4)业务层BLL通过传递JavaBean/BO[4]与DAO层通信。
3基于J2EE的诚信网络购物中心
3.1项目概述
3.1.1诚信网络购物中心简介
诚信网络购物中心是面向广大消费者为节省时间和降低商家的成本,实现物美价廉,公平的交易而利用网络技术构建的一个在线购物的平台。
它是按照商品销售相关的标准设计、开发的网上购物商城。
业务上涉及商品信息管理、会员信息管理、订单管理以及公告管理等相关业务过程。
诚信网络购物中心采用计算机互联网技术,不受地域的限制,实现商家和客户在网上直接进行商品交易,节省商家的实际的运作费用的支出,提高效率,方便客户。
形成通过计算机网络相互协作的业务工作流;采用网络数据库技术,为商城的业务、管理部门提供基于权限的有序数据共享服务;使用基于WEB三层结构的J2EE应用系统开发技术构建结构灵活,部署方便,可扩充,易维护,面向未来发展需要的网上购物系统的需要。
系统开发目标如下:
(1)采用互联网技术将网下的商家的商品在商城中展示,提供客户所需的相关的商品信息。
用户可以通过商城这个平台浏览相关的商品信息,以查找自己所需的商品,进而促成交易。
提高效率,方便客户。
(2)采用J2EE技术进行设计,迎合Browser/Server架构的潮流,为应用Java技术开发服务器端应用提供一个独立的、可移植的、多用户的、安全的和基于标准的企业级平台,从而简化企业应用的开发、管理和部署,适应商城以后的扩大和发展。
(3)采用相关的模式进行开发,以研究模式在网上购物系统之中的应用及前景。
适合的模式可以让整个系统实现的更加简单和高效,节省开发时间及提高系统的逻辑,使系统能够更加完善。
(4)采用前后台管理分离了客户和管理员的权限和操作,对商城的数据进行了安全的维护,方便商家的信息管理及对整个业务流程的监控,做到相关数据的变化的实时反映,为商家的销售带来方便。
3.1.2诚信网络购物中心的业务流程
诚信网络购物中心分为前台和后台管理。
前台管理:
客户在商城上浏览商品的信息,寻找自己所需要的商品,再注册成为会员,进行商品的购买,商品在仓库中有存货时,将商品放入购物车,填写好订单中客户的信息并确认。
客户登陆后可以进行订单的查询,查看订单的状态。
如果订单未处理的,还可以退订。
前台的业务流程图如图2.1所示。
图2.1前台业务流程图
后台管理:
管理员登陆账号之后,对商品信息、管理员信息、会员信息、友情链接信息、公告信息、商品大类别信息、商品小类别信息进行管理,及时更新相关信息,使数据库信息与库存信息相一致,及时、客观地为客户提供服务。
前台管理的业务流程图如图2.2所示。
图2.2前台管理业务流程图
系统总的业务流程图如图2.3所示。
图2.3系统总的业务流程图
3.1.3诚信网络购物中心的需求分析
系统由前台、后台两部分组成。
前台的功能需求
(1)会员注册功能。
这个是针对客户设条件计的进行商城注册,获得相关的购买商品及优惠活动权利的首要条件。
首先要注册为网上商城的用户。
注册时需填写登录用户名、密码、联系电子信箱,地址等。
注册后,用户可继续如实填写、修改详细个人信息及收货人信息,同时可修改密码、凭会员的身份进行购物、查询及修改订单。
(2)商品查询功能。
顾客浏览网上商城,可以根据自己所需的商品的类别(家用电器、服装鞋帽)进行查看相关的查询。
在顾客登陆后可以将自己需要的产品放入到购物车中,可连续添加商品。
(3)商品展台功能。
将商城新品上架、销售排行等分不同的分类展现给顾客,顾客可以及时得到相关信息。
(4)管理购物车。
顾客选择完商品后可进入购物车页面,查看自己要购买的商品,可修改某一商品数量、取消购买某商品和清空整个购物车。
(5)订单功能。
顾客确定购物车中的商品后提交订单,如顾客已填写收货人信息,则页面显示该信息并由顾客确认。
如尚未填写则显示相应表单请其填写,系统记录顾客提交的收货人信息以便其下次购物时使用。
顾客提交订单后可在网上商城查询该订单,并可对尚未处理的订
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 j2ee 架构 网上 购物 系统 设计 实现