基于社区的商品代理服务平台系统设计_第1页
基于社区的商品代理服务平台系统设计_第2页
基于社区的商品代理服务平台系统设计_第3页
基于社区的商品代理服务平台系统设计_第4页
基于社区的商品代理服务平台系统设计_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要21世纪以来,人类经济高速发展,人们的生活发生了日新月异的变化,特别是计算机的应用及普及到经济和社会生活的各个领域。为了让消费者网上购物过程变得简单、方便、安全、快捷,网上购物成了一种新型而热门的购物方式。网上购物系统是一种具有交互功能的商业信息系统,它在网络上建立一个虚拟的购物商城,使购物过程变得轻松、快捷、方便。基于社区的商品代理服务平台(BASEDONCOMMUNITYSCOMMODITYPROXYSERVICEPLATFORM)系统实质上也是一个新型的网上购物系统,不同的是它服务对象是面向社区,搭建了社区住户、物业以及代理厂商三方面一起的综合服务平台,相对于传统的购物网站具有一定的优势,服务的对象更加具体化,参与的对象多元化,使得网络安全更加有所保障,增加了购买双方的信任程度,一定程度上增加了网上购物的热情和信心,也代表着未来社区生活购物的一种方向,从而使得人们在繁忙的生活节奏中更加能享受信息时代的给人们带来的不一样的生活方式。该平台的系统设计是基于J2EEWEB应用相关技术,主要采用MVC三层架购,选择使用了一种比较成熟的基于STRUTS框架和HIBERNATE框架的J2EE应用开发策略,系统的开发效率,稳定性和安全性都有着一定的保障。关键词社区网上购物J2EEMVCABSTRACTWITHTHERAPIDECONOMICDEVELOPMENTHAPPENEDINTHEWHOLEWORLDFROMTHE21STCENTURY,PEOPLESLIFEGREATLYCHANGEDWITHEACHPASSINGDAY,ESPECIALLYTHEAPPLICATIONANDPOPULARITYOFCOMPUTERSINNEARLYEVERYFIELDOFECONOMYANDSOCIALLIFEFORTHISREASON,SHOPPINGONLINEISGETTINGANEWFASHIONEDANDPOPULARSHOPPINGWAYTHESHOPPINGONLINESYSTEM,WHICHISAKINDOFBUSINESSINFORMATIONSYSTEMWITHTHEFUNCTIONOFINTERACTION,ESTABLISHESADUMMYSHOPPINGMARKETTOMAKETHEPURCHASEPROCESSEASY,FASTANDCONVENIENTSUBSTANTIALLYISALSOANEWONLINESHOPPINGSYSTEMACCORDINGTOTHESERVICETERRACETHEPLATFORMOFTHEPROXYSERVICEOFTHECOMMUNITYSCOMMODITYOFTHEBASEDONOFTHEMERCHANDISEAGENCYOFTHECOMMUNITYSYSTEM,DISSIMILARITYOFISITSSERVICEOBJECTTOFACETOCOMMUNITY,BUILTACOMMUNITYINHABITANT,THINGINDUSTRYANDACTFORMANUFACTURERSTHREEASPECTSTOGETHEROFCOMPREHENSIVESERVICETERRACE,OPPOSITEINTRADITIONOFTHESHOPPINGWEBSITEHAVECERTAINOFADVANTAGE,SERVICEOFTHEOBJECTEMBODYMOREANDPARTICIPATEOFOBJECTDIVERSIFICATION,MAKENETWORKSAFETYHAVEGUARANTEEMORE,INCREMENTPURCHASEBOTHPARTIESOFTRUSTDEGREE,CERTAINDEGREETOPINCREMENTNETTOPSHOPPINGOFENTHUSIASMANDCONFIDENCE,ALSOREPRESENTATIVEFUTURECOMMUNITYLIFESHOPPINGOFAKINDOFDIRECTION,MAKETHUSPEOPLEAREINTHEBUSYNESSOFTHELIFETHERHYTHMMOREABILITYENJOYANINFORMATIONFORAGESOFTOTHEDIFFERENTLIFESTYLEOFWHATPEOPLEBRINGSHOULDTHESYSTEMOFTHETERRACEDESIGNISACCORDINGTOTHEJ2EEWEBAPPLICATIONRELATEDTECHNIQUE,MAINADOPTIONTHEMVC3FBUY,CHOICEUSAGE1KINDMOREMATUREOFACCORDINGTOTHEJ2OFTHESTRUTSFRAMEANDTHEHIBERNATEFRAMEEEAPPLICATIONDEVELOPMENTSTRATEGY,SYSTEMOFDEVELOPMENTTHEEFFICIENCY,STABILITYANDSAFETYALLHAVECERTAINOFGUARANTEEKEYWORDSCOMMUNITYONLINESHOPPINGSYSTEMJ2EEMVC目录1前言42系统需求分析521系统开发背景5211网上购物的基本概念5212网上购物的现状及分析622基于社区的商品代理服务平台的可行性分析723系统服务流程说明824系统用例说明顶层用例93系统开发环境及相关技术介绍931J2EE架构概述9311J2EE应用程序架构的发展1132STRUTS框架概述12321STRUTS的体系结构与工作原理1333HIBERNATE框架概述15331数据持久层简介15332HIBERNATE数据持久层解决方案1534JSP概述18341JSP简介18342JSP常用指令和脚本元素1835系统开发环境配置19351准备必备的软件19352ECLIPSE概述20353TOMCAT服务器安装20354MYSQL简介204系统总体设计2141系统架构设计21411模型层设计21412控制层设计22413视图层设计22414系统核心流程序列图2242系统数据库表结构关系图2243系统模块划分2344系统静态模型235系统模块详细设计2451任务管理模块24511模块数据库表设计24512模块数据实体图25513模块部分类图26514模块主要功能描述28515模块主要功能实现2952管理员管理模块30521模块数据库表设计31522模块数据实体图31523模块部分类图31524模块主要功能描述32525模块主要功能实现3353系统模块测试36结束语38致谢39参考文献40附录一英文资料原文41附录二英文资料译文591前言据CNNIC中国互联网络信息中心的数据显示,中国网民的数量在2008年1月就已经突破了21亿,平均每分钟就新增近100个网民,成为仅次于美国的全球第二网络大国,有255的中国网民有过网络购物经历。网上购物,这个逐渐流行于二十一世纪的购物方式已经为越来越多的人所接受。不论是腰缠万贯的大富翁、时尚的白领丽人还是普通的工薪阶层,其中大部分人可能都有过网上购物的经历。网上购物突破了传统商务的障碍,无论对消费者、企业还是市场都有着巨大的吸引力和影响力,在新经济时期无疑是达到“多赢”效果的理想模式。但是我们在看到网上购物优点的同时更要认清它在现阶段存在的问题,以便尽早地找到解决方案以促进网上购物的良性发展。现阶段我国消费者对网上购物状况的评价是“痛并快乐着”,而这其中痛的指数要高于快乐指数。主要的问题就是部分商家对消费者的欺诈。我国目前并没有专门针对网上交易的法律法规,放眼世界也只有美国,欧盟等少数国家和组织才制定过相关的法律条款,而且还不够完善。可以说,网上交易方式还主要依靠的是商家的诚信。网上购物已不再是新鲜事物,越来越多的消费者和商家接受了这种营销方式。但是,即使是在网络经济发达的美国,目前的网上销售额仍然只占了总销售额的大约1。网上销售该如何发展是一个需要不断思索和探讨的问题。同时随着生活节奏和生活质量的日益提高,人们需要新型的购物方式的出现愿望也越加强烈。本系统采用一种新型的设计模式基于社区的商品代理服务平台,通过这个平台可以提供普通社区住户、物业以及商品供应商三者绑定一起贯穿整个购买过程,互相监督,互相协力,达到确保商品买卖过程的顺利,安全,快捷,同时节约商家和消费者双方的成本和时间,最大限度地创造“多赢”的局面。2系统需求分析21系统开发背景211网上购物的基本概念简单来说,网上购物就是把传统的商店直接“搬”回家,利用INTERNET直接购买自己需要的商品或者享受自己需要的服务。专业地讲,它是电子商务的一个重要组成部分。电子商务是指一种依托现代信息技术和网络技术,集金融电子化、管理信息化、商贸信息网络化为一体,旨在实现物质流、资金流与信息流和谐统一的新型贸易方式,是贸易过程的电子化、网络化。简单的理解,就是利用电子技术进行商业行为。按应用领域划分,电子商务有以下几种模式一、企业BUSINESS对消费者CONSUMERSORCUSTOMERS,也称商业机构对个人用户,即B2TOC;二、企业对企业,也称商家对商家,即B2B;三、企业对政府机构GOVERNMENT,即B2G;四、消费者对政府机构,即C2G;五、网上拍卖等个人行为,即C2C。其中,企业对企业B2B、企业对消费者B2C、消费者对消费者C2C是网络购物最常见的三种交易方式B2B是指企业与企业之间通过互联网进行产品、服务及信息的交换。通过B2B的交易方式买卖双方能够在网上完成整个业务流程,从建立最初印象,到货比三家,再到讨价还价、签单和交货,最后到客户服务。B2B使企业之间的交易减少了许多事务性的工作流程和管理费用,降低了企业经营成本。网络的便利及延申性使企业扩大了活动范围,企业发展跨地区跨国界更方便,成本更低廉。B2C模式相当于现实生活中的“商场”或“专卖店”。商业机构利用先进的通信和计算机网络的三维图形技术,把现实的商业街搬到网上,并通过建立网站,在线发布信息和提供数据库检索向用户介绍和销售产品;消费者使用浏览器进行浏览、购买、定单发送、支付操作,最后由商家将产品送到消费者手中。这种形式的电子商务一般以网络零售业为主,例如经营各种书籍、鲜花、计算机、通信用品等商品。C2C比较类似于现实生活中的“小商品批发市场”,网站提供数据库检索和一定的安全保障,收取一定的费用,商品信息的上载和交易的协商都由作为独立个体的“买家”和“卖家”完成,一个网站中同时存在数目众多的个体经营者,网站只起一个现实中“市场管理者”的作用。212网上购物的现状及分析中国互联网络信息中心(CNNIC)的数据显示,中国网民的数量在2007年6月已经突破了162亿,平均每分钟就新增近100个网民,成为仅次于美国的全球第二网络大国,有255的中国网民有过网络购物经历。随着经济的发展,网络购物逐渐大放异彩。2005年,当当网实现全年销售44亿,这一数字大大超过两三年前绝大部分投资机构的预期。这一数字,证明了AMAZONCOM亚马逊,著名电子商务网站模式在中国的成功,也证明了经济学家的过分悲观主义和市场力量的伟大。在当当、卓越这样的以图书切入市场的综合性网络商城模式之外,淘宝网和易趣网两家C2C网站也随后兴起,并在交易额上后来居上,在短期内赢得了很大的成功。而以八佰拜、NO5时尚广场、18900手机网为代表的一批定位明确的专业购物网站也获得了较快速的发展。2007年是中国网络购物市场快速发展的一年,无论是C2C电子商务还是B2C电子商务市场交易规模都分别实现了1252和923快速增长。根据艾瑞咨询公司最新推出的20072008中国网络购物发展报告数据显示2007年中国B2C电子商务市场规模达到43亿元,其中当当以146的市场份额位居第一,卓越与当当份额差距逐步缩小,达到119,随后是北斗手机网、京东商城分别以97和81位列第三、四位;2007年中国C2C电子商务市场交易规模达到518亿元,其中淘宝网的交易份额占比达到836,由于TOM与易趣合资处于磨合期,因此2007年整体成交状况并不理想,拍拍网成交额首次超越TOM易趣,以87的交易份额位居第二。如果网络购物年均增长50,那么中国网络购物的市场规模将在2009年突破1000亿。但在很多人看来,这一估计还是相当保守的,而且这一估计没有考虑到中国网络购物的发展完全有可能迎来增长速度的拐点。据艾瑞咨询公司预计,随着2008年奥运会的召开及百度等新进入者对市场发展的拉动,网络购物市场将继续保持950的高速率增长。考虑影响未来3年中国网络购物市场发展的因素,总体而言利好因素更多,影响也更大,因此艾瑞咨询预测至2011年中国网络购物市场规模将达到4060亿元。据CNNIC在其发布的中国互联网络热点调查报告中显示在我国有179的网民在半年内有过网络购物经历,在浏览过购物网站的网民中,有296的人在半年内有过网络购物经历,有过网络购物经历的被访者中有超过90的人今后会继续进行网络购物,有637没有购物经历的网民表示今后会尝试网络购物。这些数据都表明了我国网上购物市场的巨大潜力。22基于社区的商品代理服务平台的可行性分析虽然网上购物成为一种新型的购物方式已经是大势所趋,但怎样寻找更多的途径扩展网上购物的成交量和成交规模,而不仅仅停留在少量、低廉、折扣等促销方式下进行。因为很多人对网络购物还存在一些顾虑,主要包括不信任网站、怕受骗;担心商品质量问题;质疑网络购物的安全性;担心售后服务;担心付款环节;担心商品配送有问题等等。而基于社区的商品代理服务平台系统的搭建或许也是一种值得期待的尝试,可以有效解决网上购物中所存在的一些隐忧。主要因为这个平台涉及的购物过程有社区用户(顾客)、厂商用户(商品生产商或代理商)、物业用户(监督、中介)三方面,从而大大提高了购物过程的效率和安全性。基于社区的网上购物的效力究竟何在首先,对于消费者来说,方便和便宜就是硬道理,节约时间是最大的需求。面对现代高节奏的工薪阶层的生活,忙碌一周难得有一个双休日,又不得不花大量时间集中到购物商场采购日常用品及生活所需。忙完了工作还得继续在人山人海的商场拥挤、疲惫至极。而很多有过一次网络购物体验的人,往往因为其方便、低价而被征服,并成为网络购物的铁杆消费者。消费者购买一般的商品,网络购物不仅可以节省大量的时间和精力,而且还能获得较高的消费折扣。以图书为例,与北京图书大厦相比,当当网、卓越网的图书销售价格的让利空间大约是3040。美容化妆品在线销售价格与地面店相比,其优惠幅度大约在2030,而礼品、小众商品的优惠空间可能更大。其次,由于现在这个购物平台是基于社区,有各个社区物业负责处理和接受社区用户所订购的商品,以及和相应商品代理商保证商品的方便和安全保质得到达用户的手里,消除了用户的网上购物的疑虑。再者,对于商家来说,在传统的网上购物网站上出售商品需要网站管理者的限制,需要付出较大的代价,也无法直接参与商品的销售的过程。而本平台可以允许代理商注册和修改自己要出售的商品。直接参与到购物过程中,大量节约商品成本,同时由于网上销售没有库存压力,经营成本低,经营规模不受场地限制,在将来会有更多的企业选择网上销售,通过互联网对市场信息的及时反馈适时调整经营战略,以此提高企业的经济效益和参与国际竞争的能力。而对于整个市场经济来说,这种新型的购物模式也可在更大的范围、更多的层面以更高的效率实现资源配置。可以看出,基于社区的网上购物突破了传统商务的障碍,无论对消费者、企业还是市场都有着巨大的吸引力和影响力,在新经济时期无疑是达到“多赢”效果的理想模式。对标准化的商品来说,网络购物的优势是巨大,网络销售会占领越来越大的市场份额。这就是真正意义上的市场推动力。23系统服务流程说明物业用户未登陆用户社区用户邮件列表商品列表定单列表注册、登陆注册、登陆注册、登陆查看查看查看生成采购任务生成确认供货任务生成确认注册商品厂商用户24系统用例说明顶层用例3系统开发环境及相关技术介绍31J2EE架构概述J2EE(JAVA2PLATFORM,ENTERPRISEEDITION)是一个开放的、基于标准的开发和部署的平台,用于构建N层的、基于WEB的、以服务端计算为核心的、模块化的企业应用。J2EE同时也是所有兼容J2EE标准的应用服务器产品的统一标识。SUN公司领导着J2EE规范和标准的制定,但同时很多公司如IBM、BEA也为该标准的制定贡献了很多力量,所以J2EE每一个新规范的推出,都体现着整个业界对技术的共同认同。大家都遵守着“在标准上进行合作,在产品上进行竞争”的原则,从而使J2EE在技术规范上日臻完善和进步,同时又有各厂家实现J2EE规范的应用服务器产品在市场上推出,在性能上、价格上互相竞争,为最终用户提供多样化的选择。J2EE技术是在J2SE的基础之上,提供了企业计算所必须的服务如事务、安全性、消息服务等。J2SE平台提供JAVA运行时环境的标准功能,如对跨平台开发的支持和内存管理等。J2EE应用的组件如企业JAVABEAN(EJB)、JSP和SERVLET运行于J2EE容器之中,通过连接器访问企业信息系统,如数据库系统、ERP系统和其他应用程序系统。J2EE应用可以集成一系列的客户端,包括独立运行的台式客户端、无线客户端,以及基于WEB浏览器的客户端等。J2EE平台为开发企业应用提供了高性能、高可靠性和可伸缩性的运行支撑环境。J2EE提供了一个多层的端到端的应用系统架构,如图1所示。在客户端层,多种客户端可通过多种不同的协议来访问中间层的J2EE服务,在设计J2EE应用的时候,首先需要选择的就是J2EE客户端的类型,应根据用户的使用模式及应用环境的特点来选择适合的客户端类型和通信协议,如JAVAAPPLET客户端和JAVAWEBSTART客户端适合于复杂的图形用户界面,如大量的数据录入、数据统计等应用,能满足高效的用户交互需求,根据具体应用环境的不同,可选择HTTPS、RMI/IIOP或JNLP等通信协议。图1端到端的多层应用系统架构在中间层,主要包括WEB服务器和应用服务器。在实际部署时,它们可以运行于单一的或多个物理平台上。从可靠性和可伸缩性考虑,应该采用多个WEB服务器和应用服务器。WEB服务器接受从客户端发来的请求,通过JSP和SERVLET技术动态生成响应的内容,JSP或SERVLET可以接着调用运行于应用服务器EJB容器中的企业JAVABEAN进行相应的业务处理和运算。而中间层通过标准的协议访问企业信息系统层来读取数据和调用服务。总之,J2EE为我们提供了一个建立在开放和标准的技术之上、非常灵活的端到端的多层体系架构,从而满足各种不同企业应用的需求。311J2EE应用程序架构的发展在J2EE应用程序架构的发展路程中,主要经历了两个大的阶段1、MODEL1在JSP页面中结合业务逻辑、服务器端处理程序和HTML,在JSP页面中同时实现显示、业务逻辑和流程控制,从而快速的完成WEB应用开发。这种模型的不足之处1)不利于应用扩展和更新。2)业务逻辑和表示逻辑混合在JSP页面中没有进行抽象和分离,不利于应用系统业务的重用和改动。图311MODEL1规范实现的WEB框架示意图2、MODEL2表示的是基于MVC模式的框架。根据MODEL2,SERVLET处理数据存取和导航流,JSP处理表现。MODEL2使JAVA工程师和HTML设计者分别工作于它们所擅长和负责的部分。MODEL2应用的一部分发生改变并不强求其他部分也跟着发生改变。HTML开发人员可以改变程序的外观和感觉,并不需要改变后端SERVLET的工作方式。把应用逻辑、处理过程和显示逻辑分成不同的组件实现。弥补了MODEL1的不足图312MODEL2规范实现的WEB框架示意图32STRUTS框架概述STRUTS框架就是基于J2EE的MODEL2的架构,也就是基于MVC模式的框架技术。它是一个免费的开源的WEB层的应用框架,具有很高的可配置性,和有一个不断增长的特性列表。一个前端控制组件,一系列动作类,动作映射,处理XML的实用工具类,服务器端JAVABEAN的自动填充,支持验证的WEB表单,国际化支持,生成HTML,实现表现逻辑和模板组成了STRUTS的灵魂。图2显示了STRUTS组件是如何一起工作的。STRUTS是APACHE基金会JAKARTA项目组的一个OPENSOURCE项目,它采用MVC模式,能够很好地帮助JAVA开发者利用J2EE开发WEB应用。和其他的JAVA架构一样,STRUTS也是面向对象设计,将MVC模式“分离显示逻辑和业务逻辑“的能力发挥得淋漓尽致。STRUCTS框架的核心是一个弹性的控制层,基于如JAVASERVLETS,JAVABEANS,RESOURCEBUNDLES与XML等标准技术,以及JAKARTACOMMONS的一些类库。STRUTS有一组相互协作的类(组件)、SERLVET以及JSPTAGLIB组成。基于STRUTS构架的WEB应用程序基本上符合JSPMODEL2的设计标准,可以说是一个传统MVC设计模式的一种变化类型。STRUTS有其自己的控制器(CONTROLLER),同时整合了其他的一些技术去实现模型层(MODEL)和视图层(VIEW)。在模型层,STRUTS可以很容易的与数据访问技术相结合,如JDBC/EJB,以及其它第三方类库,如HIBERNATE/IBATIS,或者OBJECTRELATIONALBRIDGE对象关系桥。在视图层,STRUTS能够与JSP,包括JSTL与JSF,以及VELOCITY模板,XSLT与其它表示层技术。STRUTS为每个专业的WEB应用程序做背后的支撑,帮助为你的应用创建一个扩展的开发环境。321STRUTS的体系结构与工作原理MVC即MODELVIEWCONTROLLER的缩写,是一种常用的设计模式。MVC减弱了业务逻辑接口和数据接口之间的耦合,以及让视图层更富于变化。MVC的工作原理,如下图1所示图1STRUTS是MVC的一种实现,它将SERVLET和JSP标记(属于J2EE规范)用作实现的一部分。STRUTS继承了MVC的各项特性,并根据J2EE的特点,做了相应的变化与扩展。STRUTS的体系结构与工作原理如下图2所示图2从图2中我们可以知道,STRUTS的体系结构包括模型(MODEL),视图(VIEW)和控制器(CONTROLLER)三部分。下面让我们从MVC角度来看看STRUTS的体系结构(MODEL2)与工作原理1)模型(MODEL)在STRUTS的体系结构中,模型分为两个部分系统的内部状态和可以改变状态的操作(事务逻辑)。内部状态通常由一组ACTINFORMBEAN表示。根据设计或应用程序复杂度的不同,这些BEAN可以是自包含的并具有持续的状态,或只在需要时才获得数据(从某个数据库)。大型应用程序通常在方法内部封装事务逻辑(操作),这些方法可以被拥有状态信息的BEAN调用。比如购物车BEAN,它拥有用户购买商品的信息,可能还有CHECKOUT方法用来检查用户的信用卡,并向仓库发定货信息。小型程序中,操作可能会被内嵌在ACTION类,它是STRUTS框架中控制器角色的一部分。当逻辑简单时这个方法很适合。建议用户将事务逻辑(要做什么)与ACTION类所扮演的角色(决定做什么)分开。2)视图(VIEW)视图主要由JSP建立,STRUTS包含扩展自定义标签库(TAGLIB),可以简化创建完全国际化用户界面的过程。目前的标签库包括BEANTAGS、HTMLTAGS、LOGICTAGS、NESTEDTAGS以及TEMPLATETAGS等。3)控制器(CONTROLLER)在STRUTS中,基本的控制器组件是ACTIONSERVLET类中的实例SERVELT,实际使用的SERVLET在配置文件中由一组映射(由ACTIONMAPPING类进行描述)进行定义。对于业务逻辑的操作则主要由ACTION、ACTIONMAPPING、ACTIONFORWARD这几个组件协调完成的,其中ACTION扮演了真正的业务逻辑的实现者,ACTIONMAPPING与ACTIONFORWARD则指定了不同业务逻辑或流程的运行方向。STRUTSCONFIGXML文件配置控制器。STRUTS框架的处理流程清楚的体现了MVC系统的特点,简单的STRUTS组件结构如图2所示。STRUTSCONTROLLERACTIONSERVLET处理客户请求,利用配置的ACTIONMAPPING对象把请求映射到ACTION处理器对象进行处理。ACTION处理对象访问ACTIONFORM中的数据,处理和响应客户请求,它还调用后台的BEAN组件,这些组件封装了具体的业务逻辑。ACTION处理器对象根据处理结果通知CONTROLLER,CONTROLLER进行下一步的处理。图3STRUTS框架的组件结构图上图3显示了ACTIONSERVLETCONTROLLER、ACTIONFORMFORMSTATE和ACTIONMODELWRAPPER之间的最简关系。33HIBERNATE框架概述331数据持久层简介J2EE的三层结构是指表示层(PRESENTATION),业务逻辑层(BUSINESSLOGIC)以及基础架构层(INFRASTRUCTURE),这样的划分非常经典,但是在实际的项目开发法中,开发者通常对三层结构进行扩展来满足一些项目的具体要求,一个最常用的扩展就是将三层体系扩展为五层体系,即表示层PRESENTATION,控制/中介层CONTROLLER/MEDIATOR、领域层DOMAIN,数据持久层DATAPERSISTENCE和数据源层DATASOURCE。它其实是在三层架构中增加了两个中间层。控制/中介层位于表示层和领域层之间,数据持久层位于领域层和基础架构层之间。由于对象范例和关系范例这两大领域之间存在“阻抗不匹配”,所以把数据持久层单独作为J2EE体系的一个层提出来的原因就是能够在对象关系数据库之间提供一个成功的企业级映射解决方案,尽最大可能弥补这两种范例之间的差异。332HIBERNATE数据持久层解决方案HIBERNATE是一个数据持久框架,是一种实现对象和关系之间映射(O/RMAPPING)的工具,它对JDBC进行了轻量级的对象封装,使程序员可以使用对象编程思想来操作数据库。它不仅提供了从JAVA类到数据表的映射,也提供了数据查询和恢复机制。相对于使用JDBC和SQL来操作数据库,使用HIBERNATE能大大的提高实现的效率。HIBERNATE框架用配置文件的形式来定义JAVA对象和数据表之间的映射关系,同时在更深的层面将数据表之间的关系解释为JAVA对象之间的继承及包含等关系。通过使用HQL语句将复杂的关系算法用对象的方式描述,在很大程度上简化了对数据的查询,加快了开发的效率。在HIBERNATE中有一个简单而直观的API,用于对数据库所表示的对象执行查询。要创建或修改这些对象,只需在程序中与它们进行交互,然后告诉HIBERNATE保存即可。这样,大量封装持久化操作的业务逻辑不再需要编写烦琐的JDBC语句,从而使数据持久层得到了极大的简化。HIBERNATE原理和配置HIBERNATE技术本质上是一个提供数据库服务的中间件。它的架构如图1所示图1图1显示了HIBERNATE的工作原理,它是利用数据库以及其他一些配置文件如HIBERNATEPROPERTIES,XMLMAPPING等来为应用程序提供数据持久化服务的。HIBERNATE具有很大的灵活性,但同时它的体系结构比较复杂,提供了好几种不同的运行方式。在轻型体系中,应用程序提供JDBC连接,并且自行管理事务,这种方式使用了HIBERNATE的一个最小子集;在全面解决体系中,对于应用程序来说,所有底层的JDBC/JTAAPI都被抽象了,HIBERNATE会替你照管所有的细节。配置HIBERNATE在SRC目录下创建名为HIBERNATECFGXML的配置文件,并且将它的路径添加到应用的类路径中就可以完成HIBERNATE的配置。该配置文件由HIBERNATE用来连接到数据库、生成模式和获得其它特定数据库信息的属性组成。要将底层数据库内的变动反射到整个应用,只需要修改该文件内的属性值。该配置文件的内容如下COMIBMDB2JDBCAPPDB2DRIVERJDBCDB2CIPDBADMINRUBIPASSCIRRUSHIBERNATESQLDB2DIALECT创建映射文档映射文档是用来定义持久数据和在需要时保存关于对象的持久域、关联、子类和代理的XML文档。对于每个持久对象和以名字CLASS_NAMEHBMXML保存的文件来说,都要创建一个映射文档。在CLASS_NAMEHBMXML中CLASS_NAME就是对象的类名,下面是EVENTHBMXML的内容。映射文档在应用启动时编译,它可为HIBERNATE提供关于持久对象的相应类、它们的结构、它们应该映射到哪个数据库表格、以及如何映射的信息。HIBERNATE也使用这些映射文档,分别利用内建设备SCHEMAEXPORT和CODEGENERATOR来生成相应的数据库模式和JAVA类。34JSP概述341JSP简介JSP(IAVASERVERPAGES)是由SUN公司在JAVA语言上开发出来的一种动态网页制作技术,其可使您可以将网页中的动态部分和静态的HTML相分离。您可以使用平常得心应手的工具并按照平常的方式来书写HTML语句。然后,将动态部分用特殊的标记嵌入即可,这些标记常常以“”开始并以“”结束。在SUN正式发布JSP之后,这种新的WEB应用开发技术很快引起了人们的关注。JSP为创建高度动态的WEB应用提供了一个独特的开发环境。按照SUN的说法,JSP能够适应市场上包括APACHEWEBSERVER、IIS40在内的85的服务器产品。JAVASERVERPAGESJSP技术允许开发人员轻松的创建静态或动态的WEB内容。JSP不仅具有象SERVLET一样创建动态WEB页面的能力,而且更接近创建静态内容的方式。JSP使得页面的动态内容与它的表示进一步分离。JSP的设计迎合了两个不同的技术层面页面的图形设计和创建动态内容的软件开发。JSP的主要特性包括JSP是基于文本的文档,用来处理客户端请求(REQUEST)和构造响应(RESPONSE)构造SERVER端访问的对象定义扩展JSP语言的机制342JSP常用指令和脚本元素1)JSP指令是为JSP引擎而设计的。他们并不直接产生任何可见输出,而只是告诉引擎如何处理其余JSP页面。这些指令始终被括在“”标记中。两个最重要的指令是“PAGEPAGE”和“INCLUDE”。几乎在所有JSP页面顶部都会看到“PAGE”指令。尽管不是必须的,但它可以让你指定到何处查找起支持作用的JAVA类别,出现JAVA运行问题时,将网上冲浪者引向何处,还有你是否需要管理用户的会话级信息,这些信息可能来自多个网页述“INCLUDE”指令可以把你的内容分成更多可管理的元素,比如包括一个普通页面页眉或页脚的元素。包含的网页可以是一个固定的HTML页面或更多的JSP内容2JSP声明用来让你定义页面级变量,以保存信息或定义JSP页面的其余部分可能需要的支持方法。如果你发现代码太多,通常最好把它们写成一个独立的JAVA类别。声明一般都在“”标记中。一定要以分号(;)结束变量声明,因为任何内容都必须是有效的JAVA语句。3有了JSP表达式,表达式评估结果会被转换成一个字符串,并且被直接包括在输出页面之内。JSP表达式包含在“”标记中,没有分号,除非在加引号的字符串部分使用分号。4代码片段/脚本片段(SCRIPTLETS)JSP代码片段或脚本片段是嵌在“”标记中的。这种JAVA代码在WEB服务器响应请求时就会运行。在脚本片段周围可能是原始的HTML或XML语句,在这些地方,代码片段可以使你创建条件执行代码,或要用到另外一段代码的代码。例如,以下的代码组合使用表达式和代码片段,显示H1、H2、H3和H4标记中的字符串“HELLO”。代码片段并不局限于一行源代码HELLO5在JSP中嵌入式注释。尽管你始终可以在文件中加入HTML注释,但用户在查看页面源代码时会看到这些注释。如果你不想让用户看到它,你就应该将其嵌入“”标记中JSP还有三类主要的元素SCRIPTINGELEMENTS,DIRECTIVES,和ACTIONS使用SCRIPTINGELEMENTS您可以定义最终转换为SERVLET的部分,DIRECTIVES使您可以控制这个SERVLET的整体结构,而ACTIONS使您可以指定可重用的已有组件,另外,还可控制JSP引擎的运行。35系统开发环境配置351准备必备的软件搭配该环境应该必备的几个软件,以及下载地址如下JDK15HTTP/WWWJAVARESEARCHORG/MEMBERS/JROSS/JDK/JDK1_5_0WINDOWSI586EXETOMCAT50解压缩版HTTP/MIRRORVMMATRIXNET/APACHE/TOMCAT/TOMCAT5/V5028/BIN/JAKARTATOMCAT5028ZIPECLIPSE31HTTP/WWWECLIPSEORG/DOWNLOADS/DOWNLOADPHPFILE/ECLIPSE/DOWNLOADS/DROPS/R311200509290840/ECLIPSESDK311WIN32ZIPMYECLIPSE41及破解补丁HTTP/WWWFIXDOWNCOM/SOFT/12987ASPFULLCQOLTELDOWNSHTTP/JAVACHINAITLABCOM/UPLOADFILES_8734/200602/20060205102144373RARMYSQL50HTTP/DEVMYSQLCOM/DOWNLOADS/352ECLIPSE概述ECPIPSE是JAVA的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。它是开源免费的,可以在网上下载。如果要用到WEB开发,还要安装MYECLIPSE插件。因为它是免费的,所以使用比较广泛。我们使用它记住安装ECLIPSE前要安装JDK,现在主要使用JDK15版本,注意版本匹配。353TOMCAT服务器安装TOMCAT是一个免费的开源的SERLVET容器,它是APACHE基金会的JAKARTA项目中的一个核心项目,由APACHE,SUN和其它一些公司及个人共同开发而成。由于有了SUN的参与和支持,最新的SERVLET和JSP规范总能在TOMCAT中得到体现。因此,它现在使用比较广泛的一种WEB服务器安装TOMCAT在WINDOWS系统上成功安装TOMCAT,只需要三步1、下载JDK15,可以从HTTP/WWWSUNCOM/DOWNLOADS上免费下载。从HTTP/TOMCATAPACHEORG上免费下载,解压TOMCAT到CJAKARTATOMCAT55。2、在WINDOWS2000的控制面板中选择系统,在高级页选择环境变量新增JAVA_HOMECJ2SDK50CLASSPATHJAVA_HOMEBINJAVA_HOMEJREBIN;PATHJAVA_HOMEBINJAVA_HOMEJREBIN第一行是设置WINDOWS下JAVA_HOME环境变量,是必须设定的,后面两行主要对WINDOWS下命令窗口起作用(DOS窗口)。注意CLASSPATH的第一个参数是“”,如果这个不设置,使用JAVAHELLOHELLOWORLD会报EXCEPTIONINTHREAD“MAIN“JAVALANGNOCLASSDEFFOUNDERROR354MYSQL简介MYSQL是最受欢迎的开源SQL数据库管理系统,它由MYSQLAB开发、发布和支持。MYSQLAB是一家基于MYSQL开发人员的商业公司,它是一家使用了一种成功的商业模式来结合开源价值和方法论的第二代开源公司。MYSQL是MYSQLAB的注册商标。MYSQL也是开源的,这意味着任何人都可以使用和修改该软件,任何人都可以从INTERNET上下载和使用MYSQL而不需要支付任何费用。如果你愿意,你可以研究其源代码,并根据你的需要修改它。ECLIPSEMYSQLTOMCAT是当前J2EE开发的流行组合。在网站上下栽一个MYSQL的安装文件,按照提示安装就可以了。注意要把语言设置为GB2312防止以后存汉语出现乱码。4系统总体设计41系统架构设计基于社区的商品代理服务平台系统设计根据其需求分析采用B/S结构即浏览器和服务器结构进行设计,主要技术采用基于STRUTS框架的MVC三层架构,分别为模型层(M)、视图层(V)、控制层(C)。411模型层设计模型层又称持久层进行数据处理和业务逻辑处理,本系统采用MYSQL存储数据,而对数据进行持久化操作主要是基于HIBERNATE框架进行,它是一种实现对象和关系之间映射(O/RMAPPING)的工具,它对JDBC进行了轻量级的对象封装,使程序员可以使用对象编程思想来操作数据库。同时HIBERNATE框架也提供了数据查询和恢复机制。相对于使用JDBC和SQL来操作数据库,使用HIBERNATE,惟一需要做的就是创建一份XML“映射文档”,告诉HIBERNATE您希望能够保存在数据库中的类,以及它们如何关联到该数据库中的表和列,然后就可以要求它以对象的形式获取数据,或者把对象保存为数据。运行时,HIBERNATE读取映射文档,然后动态构建JAVA类,以便管理数据库与JAVA之间的转换。在HIBERNATE中有一个简单而直观的API,用于对数据库所表示的对象执行查询。要修改这些对象,(一般情况下)只需在程序中与它们进行交互,然后告诉HIBERNATE保存修改即可。类似地,创建新对象也很简单;只需以常规方式创建它们,然后告诉HIBERNATE有关它们的信息,这样就能在数据库中保存它们。模型层是软件所处理问题逻辑在独立于外在显示内容和形式情况下的内在抽象,封装了问题的核心数据、逻辑和功能的计算关系,独立于具体的界面表达和I/O操作。412控制层设计控制层用于协调M层与V层,把用户请求翻译成系统识别的事件,在本系统中主要是基于STRUTS框架进行系统流程控制,它负责对来自用的户请求进行解释,并把这些请求映射成相应的行为,这些行为由模型负责实现。当用户发送请求后,STRUTS会去读取配制文件,配置文件就是STRUTS的控制器,根据配置文件转发到相应的ACTION,通过ACTION调用相应的业务逻辑。当其中的一个层次改变时,其它的层次不用改变,大大提高了代码的可重用性和可维护性。这也是我们使用STRUTS框架的原因。413视图层设计视图层又称表现层,代表系统的显示,它完全存在于WEB层。本系统主要由JSP,JAVABEAN实现。JSP可以动态生成网页内容,JAVABEAN可以封装显示逻辑,更有利于于模块化和重用。JAVABEAN用来控制JSP和MODEL对象。JSP通过JAVABEAN来读取MODEL对象中的数据,MODEL和CONTROLLER对象则负责对JAVABEAN的数据更新。414系统核心流程序列图42系统数据库表结构关系图43系统模块划分本次毕业设计在于完成一个基于社区的商品代理服务平台的设计,其本质上也是一个电子购物网站,但由于其业务逻辑的不同,故设计以下模块(1)用户管理模块(2)订单管理模块(3)邮件管理模块(4)厂商及商品管理模块(5)任务管理模块(6)管理员管理模块由于我们是三个人合作这个项目,分工是免不了的。根据小组安排,我负责完成任务管理模块和管理员管理模块。44系统静态模型5系统模块详细设计51任务管理模块511模块数据库表设计1TB_GOODS表用来保存注册商品的一些基本信息,用于物业用户查询网站注册商品时调用数据库存储的数据,设计出TB_GOODS表如表511表511TB_GOODS表字段名称数据类型说明IDINT商品编号NAMEVARCHAR商品名称ITEMPRICEDOUBLE商品价格FACTORYNAMEVARCHAR商品厂商DESCRIPTIONTEXT商品描述NOTETEXT备注信息GOODSTYPEVARCHAR商品类型IMAGEVARCHAR商品图片2TB_FACTORY表用来保存商品供应厂商的一些基本信息,用于物业用户查询网站商品提供商时调用数据库存储的数据,设计出TB_FACTORY表如表512表512TB_FACTORY表字段名称数据类型说明USERIDINT用户编号FACTORYNAMEVARCHAR厂商名称ADDRESSVARCHAR地址PEOPLEVARCHAR联系人RELATIONSVARCHAR联系方式REACTIONTYPEVARCHAR投诉方式3TB_TASK表用来保存订单列表生成的商品采购任务,用于物业用户查询需要采购的商品以及厂商用户查询需要的供货任务,设计出TB_TASK表如表513TB_TASK表表513TB_TASK表字段名称数据类型说明TASKIDINT任务编号ORDERIDINT订单编号TASKSTATUSINT任务状态FACTORYIDINT厂商编号ZONEIDINT物业编号512模块数据实体图商品信息实体商品类型商品名称商品价格商品厂商商品编号商品描述备注信息厂商信息实体地址联系人联系方式用户编号投诉方式厂商名称任务实体任务状态厂商编号任务编号物业编号订单编号513模块部分类图(1)商品信息类图如下(2)供货厂商信息类图如下514模块主要功能描述(1)查看注册商品列表物业用户登陆系统后可以查看各个厂商在网站上注册的商品。(2)查看供货厂商列表物业用户登陆系统后可以查看各个供货厂商。(3)查看定单列表物业用户登陆系统后可以查看所属物业的订单列表。(4)生成采购任务通过物业对相应定单的确认,可以生成采购的任务列表,厂商可以以此生成供货任务列表515模块主要功能实现PUBLICCLASSZONEACTIONEXTENDSMAPPINGDISPATCHACTION/生成商品列表PUBLICACTIONFORWARDALLGOODSACTIONMAPPINGMAPPING,ACTIONFORMFORM,HTTPSERVLETREQUESTREQUEST,HTTPSERVLETRESPONSERESPONSETHROWSEXCEPTIONGOODSSERVERGSERNEWGOODSSERVERLISTLISTGSERGETALLGOODSREQUESTSETATTRIBUTE“ALLGOODSLIST“,LISTRETURNMAPPINGFINDFORWARD“SUCCESS“/生成供货厂商列表PUBLICACTIONFORWARDALLFACTORYACTIONMAPPINGMAPPING,ACTIONFORMFORM,HTTPSERVLETREQUESTREQUEST,HTTPSERVLETRESPONSERESPONSETHROWSEXCEPTIONFACTORYSERVERFSNEWFACTORYSERVERIMPLLISTLISTFSFINDALLFACTORYSREQUESTSETATTRIBUTE“ALLFACTORYLIST“,LISTRETURNMAPPINGFINDFORWARD“SUCC

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论