版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业论文B2C电子商务平台——网上商店系统的设计和开发PAGEPAGE14 目录摘要TOC\o"1-3"\h\z第一章电子商务的概述 3第一节电子商务的概念 3第二节B2C电子商务的发展现状和趋势 3第三节B2C电子商务系统开发技术的现状和发展趋势 4一、B2C电子商务技术 4二、B2C电子商务系统开发技术的现状和发展趋势 4第四节电子商务技术相关标准 5一、国际电子商务技术标准 5二、我国电子商务技术相关标准 6第二章系统概述 7第一节开发背景 7第二节系统开发目的 7第三节系统开发思想 7第四节系统开发内容 8第三章系统分析和设计 9第一节软件工程方法学 9一、结构化与面向对象方法特点比较 9二、方法学的选择 9第二节系统分析 9第三节系统功能设计 10一、系统功能结构 10二、前台功能设计 11三、后台功能设计 11四、操作流程设计 12第四节数据库设计 13一、数据库的需求分析 13二、数据库概念结构设计 14三、数据库的逻辑设计 19第四章系统的实现 21第一节网站结构的设计 21一、服务器架设模式 21二、系统的软硬件配置 22第二节数据库的创建 23第三节程序主要开发技术 24一、MVC体系 24二、JDBC 24三、Servlet、JSP、JavaBean开发技术 25四、JavaBean 26五、HTML、CSS和javascript 27第四节页面设计 27第五节程序的开发 28一、通用数据库操作Bean设计 28二、通用数据库操作Bean的调用 30三、JSP程序开发 30第六节代码的调试 31一、数据库代码的调试 31第七节代码的测试 32结束语 37致谢. 38参考文献 38第一章电子商务的概述第一节电子商务的概念电子商务(e-business,e-comerce,e-trade)从英文的字面意思上看就是利用现在先进的电子技术从事各种商业活动的方式。电子商务的实质应该是一套完整的网络商务经营及管理信息系统。再具体一点,它是利用现有的计算机硬件设备、软件和网络基础设施,通过一定的协议连接起来的电子网络环境进行各种各样商务活动的方式。这是一个比较严格的定义,说得通俗一点,电子商务一般就是指利用国际互联网进行商务活动的一种方式,例如:网上营销、网上客户服务、以及网上做广告、网上调查等。电子商务关键组成要素有:信息流、资金流、实物流。电子商务是一个由计算机、通信网络及程序化、标准化的商务流程和一系列安全、认证法律体系组成的集合,是一个由不同实体和不同层次组成的应用体系。其内部的体系结构是:在电子商务的环境体系(即支付体系、安全认证体系、法律法规体系、物流配送体系和社会信息化环境体系等)下,以电信基础设施、电子商务技术与标准体系为基础,在电子商务的各参与实体(主要有政府、企业和消费者)之间及内部形成不同的模式:B2C(企业对消费者),B2B(企业对企业),B2G(企业对政府)等。如图1.1所示。图1.1电子商务的体系结构第二节B2C电子商务的发展现状和趋势信息化与电子商务是先进生产力发展的方向。电子商务促进了资源优化配置,加速了经济全球化的进程。前一阶段,尽管由于过高期望和过度投资导致网络经济泡沫破灭,但是,总体发展趋势表明,电子商务将使人类社会生产力得到空前释放和提高,推动世界经济加速发展。近几年,在西方发达国家经济普遍不景气的情况下,电子商务发展仍然逆势而上。联合国贸易与发展组织(UNCTAD)发布的《电子商务与发展报告》表明,截至2002年底,全球互联网用户数目达到5.91亿,年增长20%。这二年来,全球互联网用户又有较大增长,其中很大一部分网络用户涉足电子商务。有人估计,到2006年,全球电子商务交易额将占到全球贸易总额的18%左右。自1998年3月我国第一笔因特网上交易成功以来,我国的电子商务发展迅速。电子商务的理念和概念在我中国日益认同并逐渐深入,网上购物、特别是网上购书、网上购票、网上拍卖、网上存储等已经成为人们时尚的消费行为,更大的需求、更多的网上交易方式正在实现,购物网站人气剧增,访问量和交易量都呈快速增长之势。广大企业认识到,电子商务是赢得市场竞争能力的新手段,是促进企业供应链,实现信息共享和多赢的最快捷、最方便、最实用、最有效的手段。日前上海东方网诚数据科技有限公司公布的一项研究结果显示,我国电子商务产业近年来发展迅速,目前网上商店(包括全部拥有独立域名和网上商店系统的网站,以及部分租用第三方平台、具有一定规模的网上商店,但不包括设在易趣、淘宝、易拍等拍卖网站上的店铺)总数已经超过10万家,网上展示的商品总数约为2000万件。第三节B2C电子商务系统开发技术的现状和发展趋势电子商务涉及到一大批相关的技术,如Web服务器技术、数据库管理和接口技术、数据仓库、数据挖掘与数据库的连机事务分析处理技术、可靠通信技术、电子支付技术、安全认证技术、电子商务平台和集成框架技术。一、B2C电子商务技术B2C的技术主要是由网络服务器的可靠性、可扩展性以及各种保护在线顾客的隐私的安全技术、实时在线支付技术和内容管理技术等构成。B2C电子商务站点的建设已经由于模块化的成熟而被简化了。它主要是由上述的技术和产品进行集成,并把网站内容和图形用户界面个性化。二、B2C电子商务系统开发技术的现状和发展趋势ApplicationServer是Internet上电子商务应用的基础,采用ApplicationServer技术可大大缩短开发周期、减小风险、降低成本。它在技术上并没有任何标准和规范是为某个商业性公司所独占,全部都基于Internet上的开放标准,因而具有极强的生命力。该技术已逐渐成为电子商务技术主流。目前主要的ApplicationServer开发商以及产品有IBM的WebSphere、BEA的Weblogic、微软的.NET。如果不采用ApplicationServer,只能采用传统的技术方法来实现电子商务网站的软件系统:一种是用CGI编程,采用C或perl,完全靠程序员开发出一套适合自己目前需求的系统,可能会在目前要求不高的情况下看似可行,但这种两层结构的系统复杂层度高、逻辑与表达混合在一起、开发难度大、在企业核心级应用中的稳定性难以达到要求,更重要的是当以后系统需要扩展时,完全无法实现,只能重新开发。另一种是用某个电子商务软件开发包来开发站点。比如IBM在1999年以前主推的电子商务解决方案Net.Commerce,就是这样概念的产品。采用这种产品最大的限制在于,它大多已经提供了一个既定的电子商务模版,用户只能使自己的商业逻辑尽量符合它,而不是根据自己特点量身定制。而且也存在着以后扩展性的问题。从1999年上半年开始,IBM就将电子商务解决方案的重点彻底转向了ApplicationServer产品WebSphere,从这个举动中就能看到ApplicationServer是必然的技术发展趋势。ApplicationServer采用目前国际最先进的开发理念、拥有许多适合Internet上电子商务需求的特点:三层结构体系--最适合Internet环境,可以使系统有很强的可扩展性和可管理性。分布式环境--可以保证系统的稳定性,同时拥有较高的性能。面向对象的模块化组件设计--可以提高开发速度,降低开发成本。采用JAVA技术--完全跨平台,适应Internet需要,并能得到大多数厂商支持,保护用户投资。ApplicationServer主要由两种技术:.NET和J2EE.它们都为应用服务器,在架构上具有相似性,主要的区别是安全性、性能、开发效率和成本。第四节电子商务技术相关标准一、国际电子商务技术标准从国际电子商务的标准技术方面看,主要存在以下几个方面的内容和趋势:(1)制定基于互联网的ebXML,提出框架性的、用于定义和解释电子商务数据和票据的语义信息的标准化解决方案。(2)建立以电子商务应用为突破口,最终面向全球信息化的基本语义数据字典(BSR),推动应用于不同组织和行业的各种异构数据体系向集成化的方向发展。(3)推动UN/EDIFACT交换结构向XML/ebXML的迁移与融合。(4)制定一系列技术标准,规范包括EDI报文在内的电子票据封装技术,提出这些被封装的电子票据在互联网上传输时面临的安全威胁的标准化解决方案。(5)制定一系列与电子商务安全和电子支付有关的协议(如SSL、SET、PKI),推动电子商务涉及的电子支付和数据安全技术的应用和发展;(6)制定一系列电子商务应用协议(OTP、OBI、xCBL),集成各种现行的技术标准于一体,支持针对不同模式的电子商务应用;(7)制定一系列电子商务基础性标准,规范电子商务相关概念在全球范围内的一致性理解,并步入与法律法规有关的国际电子商务用户交换协议样本标准化领域。(8)进一步发展和完善UN/EDIFACT系列标准,使其向支持批式EDI、交互式EDI、业务"剧本"、多媒体数据传送、EDI安全的方向发展的同时,建立其与ebXML的迁移与融合技术。二、我国电子商务技术相关标准从今年开始执行的有关电子商务技术推荐国家标准有:《电子商务技术要求第一部分:基于扩充标记语言(XML)的企业对消费者(B2C)电子商务总体框架》,编号为YD/T1322.1-2004;《电子商务技术要求第二部分:支付网关》,编号为YD/T1322.2-2004;《电子商务技术要求第三部分:证书及认证系统》,编号为YD/T1322.3-2004;《电子商务技术要求第四部分:票据的表示层句法》,编号为YD/T1322.4-2004。第二章系统概述第一节开发背景随着上世纪九十年代互联网的商业化和本世纪的广泛普及,互联网已经改变了商业的很多方面。7X24的不间断运行、实时的信息沟通、低成本建设、全球化的服务,大多数企业认识到企业电子商务可以提高核心竞争力,为企业经营带来以下优势:更广泛的市场渗透。建立商业自动化流程提高生产力和灵活性,如自动化订单处理。降低运行成本,如节省人力、减少人工错误和重复操作。提高客户服务满意度。通过供应链的整合提高企业运作的利润水平。我们的电子商务网站正是要满足企业电子商务而设计开发的。第二节系统开发目的我们开发本系统的目的是:1、帮助企业利用internet实现商务活动的国际化、信息化和无纸化,在竞争中处于优势,占有先机,更好的发展。2、使企业建立在Internet网上进行商务活动,保障网上商务顺利运营的管理环境。是协调、整合信息流、物质流、资金流有序的、高效流动的重要场所。3、企业可充分利用本系统提供的网络基本功能、对各种共享资源有效地、低成本地进行管理和维护。4、本系统给企业的经营管理带来的改变是明显的,增强整体竞争优势,增强企业的竞争能力。第三节系统开发思想目前许多B2C电子商务网站试图包罗万象,内容上追求面面俱到,形式上力求标新立异,结果适得其反。许多B2C电子商务网站打开主页后,若是首次登陆,直叫人眼花缭乱,令人目不暇接,无所适从。同时图形数量的增加基本没有考虑广大客户网速的实情。我们在B2C电子商务网站设计之初,就应该设定简洁明快的主基调。因此,B2C电子商务网站的设计完全从多数客户的实际需要出发,尽量不遗漏的实现各种功能,画面结构力求简单,可以让人一目了然。所以我所设计的B2C电子商务网站基于功能性与人性化的合理融合的网站。在功能上实现所有B2C电子商务网站所需要的功能,在人性化上,使得操作简单,不烦琐,而且整个网站的基调简单明快,使人一见就知道自己在干什么,下一步又应该干什么。第四节系统开发内容1、设计一个b2c电子商务网站2、实现b2c电子商务对产品的宣传与展示。热门商品的展示最近商品的展示最新商品的展示商品的详细信息展示商品的动态广告信息宣传3、实现b2c电子商务所需要的会员管理客户的注册和登陆管理员对客户信息的删除管理员权利的任命与删除4、实现b2c电子商务所需要的交易管理管理员对客户订单的审核管理员对已发货订单的删除5、实现b2c电子商务所需要的产品的管理管理员对商品的添加管理员对商品的修改管理员对商品的删除第三章系统分析和设计第一节软件工程方法学一、结构化与面向对象方法特点比较1.从概念方面看,结构化软件是功能的集合,通过模块以及模块和模块之间的分层调用关系实现;面向对象软件是事物的集合,通过对象以及对象和对象之间的通讯联系实现;2.从构成方面看,结构化软件=过程+数据,以过程为中心;面向对象软件=(数据+相应操作)的封装,以数据为中心;3.从运行控制方面看,结构化软件采用顺序处理方式,由过程驱动控制;面向对象软件采用交互式、并行处理方式,由消息驱动控制;4.从开发方面看,结构化方法的工作重点是设计;面向对象方法的工作重点是分析;但是,在结构化方法中,分析阶段和设计阶段采用了不相吻合的表达方式,需要把在分析阶段采用的具有网络特征的数据流图转换为设计阶段采用的具有分层特征的结构图,在面向对象方法中则不存在这一问题。5.从应用方面看,相对而言,结构化方法更加适合数据类型比较简单的数值计算和数据统计管理软件的开发;面向对象方法更加适合大型复杂的人机交互式软件和数据统计管理软件的开发。二、方法学的选择OOSE方法确实比结构化方法更能自然地抽象现实世界,但没有放之四海而皆准的方法学,任何方法学都有其局限性。例如,面向对象方法的对象模型图,这种形式化语言远不如结构化方法的结构图和数据流图简单明了。根据我们的经验,我们采用结构化方法进行系统的分析和设计。第二节系统分析采用结构化方法分析电子商务系统后的数据流图如图3.1所示:图3.1数据流图第三节系统功能设计一、系统功能结构根据数据流图得到的电子商务系统的功能结构图,如图3.2所示:图3.2电子商务系统功能模块结构图基本支持子系统:由计算机硬件以及网络通信设备、各种系统软件组成,实现Internet功能,提供系统最基本的运行平台。数据管理子系统:商品数据管理、客户数据管理等。安全认证子系统:保证数据安全、Intranet安全、外部非法用户的入侵检测、身份验证等。购物子系统:商品陈列、分类查询、购物车等。支付子系统:电子货币支付、各种折扣、银行结算等。物流管理子系统:商品即时配送、有关商家的联络、客户反馈等。二、前台功能设计首页:近期最新品列表,近期热门新品展示,登陆框,订单查询框,商品查询框等。产品搜索:关键字模糊搜索,按产品的分类搜索。按商品的名称查询:在框中输入需要查询的商品名称,类型选择其它(默认为其它类),点击查询,即可得到所要查询的内容。按商品的类型查询:不需要在框中输入商品的具体的名字,直接选择下拉框选商品的类型,点击查询,即可得到该类型的所有商品列表。产品定购:产品的选择,确认。流程图如图3.3所示:图3.3订单操作流程图用户管理:订单查看,查看购物车(限登录用户)网站静态新闻:按时间先后顺序排列网站动态新闻:首页左侧滚动显示三、后台功能设计商品管理: 对所要发布的商品进行添加、修改、删除管理。订单管理: 对已有的订单进行管理。查看、删除、确认订单 查看、删除已确认订单用户管理: 对所注册的人员进行管理。查看、修改、删除用户资料管理员的任命、删除四、操作流程设计产品列表查询商品产品列表查询商品按名查询按类查询按名查询按类查询定单查询定单明细会员登陆进入首页输入网址定单查询定单明细会员登陆进入首页输入网址填写信息确填写信息确认确认身份确认资料修改会员注册确认身份确认资料修改会员注册产品管理订购订购详细信息商品列表商品列表付款方式成功订购付款方式购物列表订付款方式成功订购付款方式购物列表订购图3.4总体操作流程图第四节数据库设计一、数据库的需求分析在数据库的选择上,我选择了Microsoft公司的关系数据库MicrosoftSQLserver2000。该数据库是Microsoft公司的产品,与Windows平台上各类软件都具有良好的兼容性。本设计在顾客信息,产品信息,订单信息等方面需要进行数据的存储,根据各种不同的应用分配了4个数据表:表名:RegUser描述:用户数据表,主要用于存储注册用户的各类数据。表名:product描述:商品数据表,主要用于存储各类商品的数据。表名:orderlist描述:订单数据表,主要用于存储订单数据。表名:shoplist描述:发货清单表,主要用于存储发货记录。二、数据库概念结构设计用户信息实体:注册时间用户ID注册时间用户ID电子邮件姓名电子邮件姓名用户信息实体用户信息实体性别性别用户电话用户电话密码密码用户地址用户地址提示问题提示问题用户邮编用户邮编提示答案提示答案图3.5用户信息实体图商品信息实体:市场价格商品序号市场价格商品序号会员价格商品ID号会员价格商品ID号商品信息实体商品信息实体浏览次数商品名称浏览次数商品名称小图片所属大类小图片所属大类大图片大图片所属小类所属小类商品说明商品说明入库时间商品介绍入库时间商品介绍图3.6商品信息实体图订单信息实体:订单ID订单ID客户地址客户地址客户ID客户ID付款方式付款方式订单信息实体订单信息实体姓名姓名订货日期邮政编码订货日期邮政编码是否发货客户电话是否发货客户电话备注备注客户邮件客户邮件图3.7订单信息实体图售货信息实体:序号序号商品ID商品ID订单ID订单ID商品名称售货信息实体商品名称售货信息实体购买数量购买数量交易价格交易价格订单时间订单时间图3.8售货信息实体图实体关系图:用户信息实体用户信息实体 n 挑选商品挑选商品 n商品信息实体商品信息实体 n 购买商品 购买商品 1订单信息实体订单信息实体 1 订单结算订单结算 1售货信息实体售货信息实体图3.9实体关系E-R图三、数据库的逻辑设计数据库的逻辑结构设计是把上面的设计用逻辑表格的形式加以表示,并对数据类型进行定义,以及数据类型是否为空进行说明.在这个过程中必须严格定义每一个具体的数据,形成数据字典.本设计所用到的数据字典如下表3.1、表3.2、表3.3所示:用户数据表:列名数据类型允许空说明USERIDvarchar否客户IDNAMEVarchar是客户姓名SEXVarchar是客户性别PASSWORDVarchar是客户密码QUESTIONVarchar是密码提示问题ANSWERVarchar是密码提示答案EMAILVarchar是电子邮件USEPHONEVarchar是客户电话号码HADDRVarchar是客户地址POSTCODEVarchar是邮编REGTIMEdatetime是注册时间表3.1用户数据表商品数据表:列名数据类型允许空说明PRODUCT_NOInt是商品序号PRODUCT_IDVarchar是商品IDPRODUCT_NAMEVarchar是商品名称CLASS_1Varchar是商品所属大类CLASS_2Varchar是商品所属小类PRODUCT_INTROVarchar是商品介绍PRODUCT_SHOWVarchar是P_NEWPRICEReal是市场价格P_OLDPRICEReal是会员价格P_PICVarchar是小图片路径P_FULL_PICVarchar是大图片路径REGTIMEDatetime上货时间LOOK_COUNTint被浏览次数表3.2商品数据表订单信息表:列名数据类型允许空说明FORM_IDInt是订单IDUSER_IDVarchar是客户IDNAMEVarchar是客户姓名ZIPVarchar是PHONEVarchar是客户电话EMAILVarchar是客户电子邮件ADDRESSVarchar是客户地址PAYSVarchar是付款方式REGTIMEDatetime是订货日期FLAGVarchar是是否发货的标记REMARKVarchar是备注表3.3订单信息表售货信息表:列名数据类型允许空说明IDInt是订单IDPRODUCT_IDVarchar是客户IDFORM_IDVarchar是客户姓名PRODUCT_NAMEVarchar是NUMBER1Int是客户电话P_NEWPRICEFloat是客户电子邮件REGTIMEDatetime是客户地址表3.4售货信息表第四章系统的实现第一节网站结构的设计一、服务器架设模式根据不同的规模可以架设不同的网站,对于小型企业所需的配置与要求都比较低,所以单一的服务器一般就能满足该企业的需求,结构图如图4.1所示:图4.1服务器架设模式图而对于中大型企业,对各种供给需求都大的多,显而这个模式无法满足企业的需求的,所以中大型企业的配置结构图如图4.2所示:图4.2服务器架设模式图只有这样,才能满足中大型企业的需求,实际上对于超大型企业的大量业务以上模式都显得力不从心,所以当以上的两种模式无法满足需求的时候,需要利用服务器组群才能缓解需求的压力。但是由于是初次设计,相对没有大量的应用需求,所以我选择了第一种模式,即应用服务器与数据库服务器都架设在一台机子上的单一服务器模式。二、系统的软硬件配置服务器硬件配置:基本系统配置:CPU:与x386指令集100%兼容的500MHz以上的各类CPU内存:256MB以上硬盘:10GB以上显卡:无特别要求声卡:无特别要求网卡:10MB/100MB自适应兼容网卡通讯设施:56K/S以上通讯网络推荐系统配置:CPU:P4级别或更高级的各类CPU内存:512MB/1GB以上硬盘:1G以上显卡:无特别要求声卡:无特别要求网卡:10MB/100MB自适应兼容网卡通讯设施:宽带或专线注:推荐使用专业服务器服务器软件配置:操作系统:Windows9x/NT或更高级JAVA平台:Java(TM)2StandardEdition1.4.2_03应用服务器:tomcatvar5.0.28数据库:MicrosoftSQLserver2000客户端配置:能正常运行的电脑浏览器:IE5.5或更高版本第二节数据库的创建数据库在物理设备上的存储结构与存储方法称为数据库的物理结构,它依赖于给定的计算机系统。为一个给定的逻辑数据模型选取一个最适合应用要求的物理结果的过程,就是数据库的物理设计。由于本设计的数据库结构简单,所以数据库表的创建直接在MicrosoftSQLserver2000中的企业管理器里进行数据表的创建。在运行中使用相应的SQL语句进行表的访问和数据的添加,更改,删除。通过JDBC中相应的方法实现相应的SQL操作,例如:按时间降序查询商品表中的所有数据Stringsql=select*fromproductorderbyregtimedesc然后通过JDBC方法ResultSetrs=st.executeQuery(sql);得到所需的访问结果。其他的更改、删除等操作类似于查询操作。第三节程序主要开发技术一、MVC体系MVC体系是指应用系统的业务模型(Module)、界面(View)、控制(Control)层次体系,M层主要实现系统的业务逻辑和数据逻辑,V层主要实现系统的显示逻辑,C层主要实现系统的控制流程。MVC体系保持系统业务逻辑和数据逻辑、控制逻辑、显示逻辑的相互独立性,从而实现面向问题域本身构建业务逻辑和数据逻辑,面向具体应用域设计控制逻辑和显示逻辑,在系统业务流程发生调整时,无须修改或尽可能少修改业务逻辑和数据逻辑,在问题域本身的业务规则、业务算法发生变化时,只修改M层组件,从而实现系统组件的独立性。由于目前电子商务系统基本仍采用非面向对象的关系数据库系统(DBMS),部分数据逻辑由DBMS实现,所以我们可以将MVC体系扩充成MVCD体系。二、JDBCJDBC是一种用于执行SQL语句的JavaTMAPI,它由一组用Java编程语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,使他们能够用纯JavaAPI来编写数据库应用程序。有了JDBC,向各种关系数据库发送SQL语句就是一件很容易的事。换言之,有了JDBCAPI,就不必为访问Sybase数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,为访问Informix数据库又写另一个程序,等等。您只需用JDBCAPI写一个程序就够了它可向相应数据库发送SQL语句。而且,使用Java编程语言编写的应用程序,就无须去忧虑要为不同的平台编写不同的应用程序。将Java和JDBC结合起来将使程序员只须写一遍程序就可让它在任何平台上运行。Java具有坚固、安全、易于使用、易于理解和可从网络上自动下载等特性,是编写数据库应用程序的杰出语言。所需要的只是Java应用程序与各种不同数据库之间进行对话的方法。而JDBC正是作为此种用途的机制。JDBC扩展了Java的功能。例如,用Java和JDBCAPI可以发布含有applet的网页,而该applet使用的信息可能来自远程数据库企业也可以用JDBC通过Intranet将所有职员连到一个或多个内部数据库中(即使这些职员所用的计算机有Windows、Macintosh和UNIX等各种不同的操作系统)。随着越来越多的程序员开始使用Java编程语言,对从Java中便捷地访问数据库的要求也在日益增加。MIS管理员们都喜欢Java和JDBC的结合,因为它使信息传播变得容易和经济。企业可继续使用它们安装好的数据库,并能便捷地存取信息,即使这些信息是储存在不同数据库管理系统上。新程序的开发期很短。安装和版本控制将大为简化。程序员可只编写一遍应用程序或只更新一次,然后将它放到服务器上,随后任何人就都可得到最新版本的应用程序。对于商务上的销售信息服务,Java和JDBC可为外部客户提供获取信息更新的更好方法。三、Servlet、JSP、JavaBean开发技术Servlet、JSP、JavaBean技术是目前电子商务系统开发中应用较普遍的基于Java语言的开发技术,JavaBean是Java类,JSP是在Web静态页面中嵌入JavaBean和Java代码段从而实现动态页面的技术,Servlet是一种特殊的Java类,可以更方便更高效地实现Web系统请求页面的数据域的获取,调用相应JavaBean实现业务逻辑和数据逻辑后,将JavaBean对象中的数据域显示在JSP页面上。Servlet、JSP、JavaBean实现的Web体系如图4.3所示。图4.3Servlet、JSP、JavaBean实现的Web体系图从以上技术的介绍可以看出,MVC体系提供了抽取控制逻辑组件和业务逻辑、数据逻辑组件的理论基础,而Servlet、JSP、JavaBean提供了实现相关组件的实现手段,可见结合MVC的分层体系理论、基于Java的Servlet、JSP、JavaBean技术,可以方便地实现电子商务系统的开发。相关技术在系统开发中的应用如下表所示。显示逻辑
V层HTML静态页面、JSP动态页面、ViewBean控制逻辑顺序图C层Servlet业务逻辑类、类图M层JavaBean数据逻辑类(集合DBMS的功能)D层JDBC组件功能的分配在以上体系结构的电子商务系统中,要科学地将系统功能分配到各个层次中,采用相应的开发技术来实现。M层实现的功能M层主要实现系统的业务逻辑和数据逻辑,不需要考虑页面的显示方式和具体业务发生时的控制流程。V层实现的功能V层包括ViewBean和页面,ViewBean通过Servlet得到各域的值,页面Javascript代码中的Java代码段直接从ViewBean中取各域的值,当页面显示方式有变化时,可直接修改ViewBean,不需要修改JavaBean的业务逻辑和数据逻辑。C层实现的功能C层主要实现以下功能:判断和循环的逻辑控制;JavaBean的实例化;从页面上取值赋给JavaBean各域;调用JavaBean方法实现业务逻辑和数据逻辑;给ViewBean各域赋值,实现页面显示;将需要在页面上显示的JavaBean和ViewBean放入Session中,供页面显示;执行数据连接的建立和释放功能,并做事务处理,适时完成事务的提交和回滚功能;异常处理和重定向到显示页面功能。四、JavaBean用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以用java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、Servlet、其他JavaBean、applet程序或者应用来使用这些对象。最初,JavaBean的目的是为了将可以重复使用的软件代码打包标准。特别是用与帮助厂家开发在综合开发环境(IDE)下使用的java软件部件。这些包括如Grid控件,用户可以将该部件拖放到开发环境中。从此,JavaBean就可以扩展为一个javaweb应用的标准部件,并且JavaBean部件框架已经扩展为企业版的Bean(EJB)。现在可能已在使用JavaBean,但还不了解它。如果有支持Java的浏览器,那么,在桌面上使用JavaBean就没有限制。使用的Web页面可以将bean作为小应用程序的一部分。您很快就会和作为浏览器可视部分的JavaBean交互,然后,那些JavaBean将与服务器上的EJB接口。这种能力也可以扩展到因特网和局域网。JavaBean和ServerBean(通常称为EnterpriseJavaBean(EJB))有一些基本相同之处。它们都是用一组特性创建,以执行其特定任务的对象或组件。它们还有从当前所驻留服务器上的容器获得其它特性的能力。这使得bean的行为根据特定任务和所在环境的不同而有所不同。这开辟了巨大商机。因为JavaBean是与平台无关的,所以对于将来的解决方案,供应商可以轻易向不同用户推出其客户机方的JavaBean,而不必创建或维护不同的版本。这些JavaBean可以与执行商业功能(例如订购、信用卡处理、电子汇款、存货分配、运输等)的EJB配合使用。这里有巨大潜力,而这正是组件代理(WebSphereApplicationServer企业版)设计提供的那种潜力。EJB的主要好处在于:构建bean时,bean开发人员可以规定需要什么类型的行为,而不必规定如何去做。开发分为两部分:程序员开发bean,然后验证:它可与构建工具一起工作,并包括标识所需服务质量行为种类的部署描述符。下一步,另一个程序员可以采用这个bean,并使用读取EJB部署描述符的部署工具,然后将该bean安装到EnterpriseJavaServer上的容器中。在第二步中,部署工具采取一些操作-这可能意味着生成如状态保存代码,放入事务挂钩,或执行安全性检查这样的代码。所有这些操作由部署工具生成,bean开发人员和部署人员可以是不同的人。可以通过使用部署工具,将任何独立于平台的JavaBean改写成具有可靠服务质量、特定于平台的EJB,以满足现有商业系统和应用程序的特定需求。这就是EJB服务器对集成系统、网络和体系结构如此重要的原因所在。Bean的全部意义不只是其现有能力,更在于其可以为商业提供的有竞争力的潜在能力。IT设计师和应用开发人员现在可以将精力完全集中在商业逻辑,而将如事务、持久性和安全性的底层工作留给服务器。WebSphere的“组件代理”功能将提供所有这些(还有后端访问)和对象事务管理器。五、HTML、CSS和javascriptHTML是HypertextMarkedLanguage的缩写,即超文本标记语言,是一种用来制作超文本文档的简单标记语言。用HTML编写的超文本文档称为HTML文档,它能独立于各种操作系统平台(如UNIX,WINDOWS等)。CSS是CascadingStyleSheets(层叠样式表单)的简称。更多的人把它称作样式表。顾名思义,它是一种设计网页样式的工具。借助CSS的强大功能,网页将在您丰富的想象力下千变万化。JavaScript是一种基于对象和事件驱动并具有安全性能的脚本语言,有了JavaScript,可使网页变得生动。使用它的目的是与HTML超文本标识语言、Java脚本语言一起实现在一个网页中链接多个对象,与网络客户交互作用,从而可以开发客户端的应用程序。它是通过嵌入或调入在标准的HTML语言中实现的。JavaScript具有很多优点:1.简单性:JavaScript是一种脚本编写语言,它采用小程序段的方式实现编程,像其它脚本语言一样,JavaScript同样已是一种解释性语言,它提供了一个简易的开发过程。不需要先编译,而是在程序运行过程中被逐行地解释。它与HTML标识结合在一起,从而方便用户的使用操作。2.动态性:JavaScript是动态的,它可以直接对用户或客户输入做出响应,无须经过Web服务程序。它对用户的反映响应,是采用以事件驱动的方式进行的。3.跨平台性:JavaScript是依赖于浏览器本身,与操作环境无关,只要能运行浏览器的计算机,并支持JavaScript的浏览器就可以正确执行。4.节省CGI的交互时间:JavaScript是一种基于客户端浏览器的语言,用户在浏览中填表、验证的交互过程只是通过浏览器对调入HTML文档中的JavaScript源代码进行解释执行来完成的,即使是必须调用CGI的部分,浏览器只将用户输入验证后的信息提交给远程的服务器,大大减少了服务器的开销。第四节页面设计在系统的页面设计上,我使用了HTML(HyperTextMarkupLanguage即超文本标记语言)语言、Javascript(JavaScript是一种基于对象和事件驱动并具有安全性能的脚本语言)语言,JSP(JavaServerPages)语言三个语言结合使用,对界面进行了设计,用HTML控制界面的输出,用Javascript控制数据填入的合法性,用JSP控制输出的循环跟数据库的访问。实际界面如下图4.4、图4.5所示:图4.4首页图4.5后台管理首页第五节程序的开发一、通用数据库操作Bean设计我们对数据库连接和执行SQL语句等通用数据库操作进行了封装,通过实现DBConnBean和DBQueryBean两个JavaBean来完成上述功能。其中DBConnBean负责Java应用程序和数据库的连接;DBQueryBean提供了一组执行标准SQL的功能,可以实现标准SQL完成的功能。DBConnBean.Java的类结构如下表4.1所示:privateStringDBDriverprivateStringDBHostprivateStringDBNameprivateStringconpprivateStringusernameprivateStringpasswordprivatebooleanxdebugpublicConnectionconpublicStringsqlStatementstmtpublicResultSetresultprivateintaffectedRowspublicDBConnBean()publicConnectionConnect()protectedvoidfinalize()publicintgetAffectedRows()publicConnectiongetCon()publicStringgetConp()publicStringgetDBDriver()publicStringgetDBName()publicbooleangetDebug()publicStringgetPassword()publicResultSetgetResult()publicStringgetSql()publicStringgetUsername()publicvoidover()publicResultSetquery()publicResultSetquery(Strings)publicvoidsetDBDriver(Strings)publicvoidsetDebug(booleanb)publicvoidsetgetConp(Strings)publicvoidsetgetDBName(Strings)publicvoidsetgetUsername(Strings)publicvoidsetPassword(Strings)publicvoidsetSql(Strings)表4.1DBConnBean.Java的类结构表二、通用数据库操作Bean的调用由于在数据库上使用了Javabean进行操作,使得对数据库的操作更加简单方便。经过测试能够正常得到该SQL语句的正确结果,这就是JSP用于数据库访问的例子,其他的应用都与这个类似。三、JSP程序开发①循环操作完成对数据库表的记录的列表,其中商品信息表的插入主页面(change_product_list.jsp)为,如图4.6所示:图4.6商品信息表数据插入主页面首先,对数据库进行连接,然后查询其商品表中的所有商品保存在结果变量RS中,然后通过WHILE(RS.next()){……}JSP语句控制其循环的输出该RS变量中的每一组值。②查询操作该查询页面主要提供对数据库表的条件查询功能,如图4.7和图4.8所示:图4.7查询主页面1图4.8查询主页面2index.jsp中将用户选择查询的数据库表和查询条件发送给spss.jsp,由spss.jsp文件完成数据库查询操作和查询结果集的返回及显示,其中使用了JSP的传多值的方法,把所需要的值传递到下面的页面,而spss.jsp页面通过上面传下来的值,搜索数据库,获得所要查询的值,然后显示出来。上述的开发工具综合应用介绍了基于Java开发电子商务应用系统的全过程,包括应用开发平台搭建、业务流程分析、JavaBean封装和JSP开发等内容,其中JSP开发中涉及到了通用SQL(查询和插入数据库表),基本可以完成任何网络数据库应用的需求。本实例基本上可以将前面介绍的基于Java的电子商务开发技术串接起来。第六节代码的调试虽然整个设计得以顺利完成,但是也遇到了些比较难以解决的困难:一、数据库代码的调试虽然JSP通过JDBC驱动来操作和管理SQLserver2000数据库,理论上都是已经封装好的方法,但是由于使用的不当也会出现意想不到的问题。例如,在如下代码中:DBConnBean.Connect();Stringsql="selectmax(product_no)+1asproduct_nofromproduct";ResultSetrs=DBConnBean.query(sql);Stringstrp_no=null;strp_no=rs.getString("product_no");………………①Statementst2=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);sql="insertintoproductvalues('"+strp_no+"','"+strp_id+"','"+strp_name+"','"+strp_class_1+"','"+strp_class_2+"','"+strp_intro+"','"+strp_show+"','"+strp_newprice+"','"+strp_oldprice+"','"+strp_pic+"','"+strp_full_pic+"',getdate(),'0')";st2.executeUpdate(sql);这段程序从表面上看没有什么问题,但是运行后虽然不会有出错提示,但是实际上并没有达到预期的添加数据的结果,经过观察后发现,在①标示处没有进行rs.next()这步数据指针下移操作,所以无法获得数据,所以代码改为:if(rs.next()){strp_no=rs.getString("product_no");}改后,就能正确的执行了。第七节代码的测试测试的案例:客户的注册测试测试目的:正确的添加客户,正确的进行信息存储。注册的帐号:guest注册的密码:guest注册过程:进入首页:输入http://localhost:8080/Eshop/index.jsp回车,得到如下画面,如图4.9所示图4.9首页显示图进入注册界面:点击左边的“注册会员”按键或上方的“会员注册”链接,即能转到注册界面,如图4.10所示。图4.10注册页面1在上述文本框中输入“guest”帐户名,点击“立刻免费注册”按键,转入信息输入页面,如图4.11所示:图4.11注册页面2根据提示正确填入信息后。点击“确认”后,注册成功,转入信息提示画面,在此画面下点击“进入商城”按扭,回到商城首页,再次在登陆框中填入帐号:guest密码:guest能正常登陆,不会出现帐号密码错误的提示框。至此,整个会员注册的测试结束,能达到预计的目的。商品的添加测试:测试的目的:准确的对管理员帐号进行判断,在后台进行操作能够正确的添加商品信息。管理员帐号:admin管理员密码:ad
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 22MW液流电池储能项目可行性研究报告
- 2026年中国刨冰机行业深度研究与行业前景预测报告(定制版)
- 2026年中国橡胶填充油市场调查与投资前景预测报告
- 2026年中国原油行业深度研究及十五五投资价值评估报告
- 2026年海南农商银行秋招试题及答案
- 2026年广州银行秋招笔试题及答案
- 2026年化妆品配方师考试理论知识全真模拟试卷及答案(共二十套)
- 电焊机操作安全技术交底培训
- 内燃平衡重式叉车安全操作技术培训
- 锅炉省煤器安全阀起跳原因分析与处理培训
- 2026年上海市建筑三类人员项目负责人(安全员B证)考试题库
- 盐城市盐都区融媒体中心招聘考试真题2025
- 2026年法官入额考试真题及答案
- 2026公安院校招警考试题库及答案
- 第一单元 健康生活(单元自测)科学教科版六年级上册2026秋
- 新版2026秋季学期新人教版数学四年级上册核心素养教案教学设计 含各单元复习及活动课寻找宝藏合集
- 2025 中国成人心肺复苏与心血管急救指南(完整版)+ 临床实施路径
- 2026年安徽省保安证考试题库及答案
- 2026统考专升本英语:英语550个高频核心词
- 铸造厂消防安全管理制度培训
- (教师考编考试)教育学原理知识点重点
评论
0/150
提交评论