基于Struts架构与Ajax技术结合的C2C化妆品销售平台的设计与实现.doc

上传人:本田雅阁 文档编号:2182978 上传时间:2019-02-26 格式:DOC 页数:115 大小:6.84MB
返回 下载 相关 举报
基于Struts架构与Ajax技术结合的C2C化妆品销售平台的设计与实现.doc_第1页
第1页 / 共115页
基于Struts架构与Ajax技术结合的C2C化妆品销售平台的设计与实现.doc_第2页
第2页 / 共115页
基于Struts架构与Ajax技术结合的C2C化妆品销售平台的设计与实现.doc_第3页
第3页 / 共115页
亲,该文档总共115页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《基于Struts架构与Ajax技术结合的C2C化妆品销售平台的设计与实现.doc》由会员分享,可在线阅读,更多相关《基于Struts架构与Ajax技术结合的C2C化妆品销售平台的设计与实现.doc(115页珍藏版)》请在三一文库上搜索。

1、基于基于 StrutsStruts 架构与架构与 AjaxAjax 技术结合的技术结合的 C2CC2C 化妆品销售平台的设计与实现化妆品销售平台的设计与实现 摘要摘要 随着互联网技术的广泛应用,电子商务得到了迅速的发展。J2EE 技术(包括 JSP,Servlet,EJB,web Service,.net 等)给 WEB 应用程序的开发提供了非常灵活 的选择,其多层的体系结构向开发者提供了一种基于组件的设计和开发 WEB 应用的模 块化方法。目前 Struts 已经成为 WEB 应用开发中最为先进、最为成功的技术框架。而 AJAX(ASYNCHRONOUS JavaScript And XML

2、)技术做为一种异步传输技术,电子商务系 统网站中,有了更好的效果体现。也给电子商务网站带来一系列的技术更新。本系统 结合这两种技术,构建了一个基于这两种技术的电子商务应用系统C2C(Customer To Customer)化妆品销售平台。 关键词:关键词:J2EE;WEB;JSP;Struts;AJAX;电子商务 Based on Struts framework combined with Ajax technology, the design and implementation for the sale of cosmetics C2C Platform Abstract With t

3、he extensive application of the Internet technology, electronic commerce has been rapided development. J2EE technology (including JSP, Servlet, EJB, web Service, . Net, etc.) to the WEB application development to provide a very flexible options, multi-tier architecture to provide developers with a c

4、omponent-based design and development WEB application of the modular approach. Currently Struts WEB application development has becomed the most advanced and most successful technology framework. And Ajax (ASYNCHRONOUS JavaScript And XML) technology as an asynchronous transfer technology, e-commerce

5、 sites in the system, with better results reflected. Also, to bring about a series of e-commerce sites to update the technology. The system combines these two technologies, build a technology based on these two e-commerce applications C2C (Customer To Customer) cosmetics sales platform. Key words:J2

6、EE;WEB;JSP;Struts;AJAX;E- commerce 毕业论文(设计)原创性声明毕业论文(设计)原创性声明 本人所呈交的本人所呈交的毕业论毕业论文(文(设计设计)是我在)是我在导师导师的指的指导导下下进进行的研究工作行的研究工作 及取得的研究成果。据我所知,除文中已及取得的研究成果。据我所知,除文中已经经注明引用的内容外,本注明引用的内容外,本论论文(文(设设 计计)不包含其他个人已)不包含其他个人已经发经发表或撰写表或撰写过过的研究成果。的研究成果。对对本本论论文(文(设计设计)的研究)的研究 做出重要做出重要贡贡献的个人和集体,均已在文中作了明确献的个人和集体,均已在文中作

7、了明确说说明并表示明并表示谢谢意。意。 作者作者签签名:名: 日期:日期: 毕业论文(设计)授权使用说明毕业论文(设计)授权使用说明 本本论论文(文(设计设计)作者完全了解)作者完全了解*学院有关保留、使用学院有关保留、使用毕业论毕业论文(文(设计设计)的)的规规 定,学校有定,学校有权权保留保留论论文(文(设计设计)并向相关部)并向相关部门门送交送交论论文(文(设计设计)的)的电电子版和子版和纸纸 质质版。有版。有权权将将论论文(文(设计设计)用于非)用于非赢赢利目的的少量复制并允利目的的少量复制并允许论许论文(文(设计设计) )进进 入学校入学校图书馆图书馆被被查阅查阅。学校可以公布。学校

8、可以公布论论文(文(设计设计)的全部或部分内容。保密的)的全部或部分内容。保密的 论论文(文(设计设计)在解密后适用本)在解密后适用本规规定。定。 作者作者签签名:名: 指指导导教教师签师签名:名: 日期:日期: 日期:日期: 注 意 事 项 1.设计(论文)的内容包括: 1)封面(按教务处制定的标准封面格式制作) 2)原创性声明 3)中文摘要(300 字左右) 、关键词 4)外文摘要、关键词 5)目次页(附件不统一编入) 6)论文主体部分:引言(或绪论) 、正文、结论 7)参考文献 8)致谢 9)附录(对论文支持必要时) 2.论文字数要求:理工类设计(论文)正文字数不少于 1 万字(不包括图

9、纸、程序清单等) ,文科 类论文正文字数不少于 1.2 万字。 3.附件包括:任务书、开题报告、外文译文、译文原文(复印件) 。 4.文字、图表要求: 1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人 代写 2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家 技术标准规范。图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画 3)毕业论文须用 A4 单面打印,论文 50 页以上的双面打印 4)图表应绘制于无格子的页面上 5)软件工程类课题应有程序清单,并提供电子文档 5.装订顺序 1)设计(论文) 2)附件:按照任务书、

10、开题报告、外文译文、译文原文(复印件)次序装订 3)其它 目录目录 1 工程项目背景 1 1.1 C2C 电子商务及其特点 .1 1.1.1 较低的交易成本 .1 1.1.2 经营规模不受限制.1 1.1.3 便捷的信息搜集.2 1.1.4 加大的销售范围和销售力度.2 1.1.5 扩大的货源.2 1.1.6 高度电子化的支付手段.2 1.2 化妆品网上销售项目的提出 2 2 MVC 设计模式.4 2.1 设计模式 4 2.2 WEB应用系统开发的一般模型 .4 2.2.1 Model 1 模式 .5 2.2.2 Model 2 模式 .6 2.3 MVC 设计模式.6 2.3.1 MVC 设

11、计模式的结构.6 2.3.2 MVC 设计模式在 J2EE 平台中的应用模型.8 3 STRUTS 应用框架与 AJAX 技术的结合10 3.1 STRUTS 框架10 3.1.1 Struts 框架的提出.10 3.1.2 Struts 的优点.10 3.2 STRUTS 体系结构11 3.2.1 Struts 与 Web 应用的关系11 3.2.2 Struts 的体系结构.12 3.2.3 Struts 的工作流程 .16 3.2.4 小结16 3.3 AJAX技术的应用16 3.3.1 什么是 AJAX16 3.3.2 解决方案 17 4 C2C 销售平台的总体分析21 4.1 开发环

12、境构建 .21 4.1.1 集成开发环境 Eclipse 21 4.1.2 Web 服务器Tomcat 22 4.1.3 主要插件 MyEclipse 22 4.1.4 后台数据库选择22 4.2 整体需求分析 .22 4.2.1 功能简介 22 4.2.2 网站前台例图 23 4.2.3 网站后台例图 24 4.3 数据库结构分析与设计 .24 4.3.1 数据库总体关系图 24 4.3.2 数据库表说明 25 4.4 类的设计29 4.4.1 model 类的设计 29 4.4.2 数据库操作类(DAOS)的设计32 4.4.3 数据库连接类 35 4.4.4 FormBean 的设计 .

13、37 5 功能模块的设计与实现 .43 5.1 会员功能模块的设计与实现.43 5.1.1 按功能分类查看商品43 5.1.2 按品牌分类查看商品 44 5.1.3 Ajax 自动完成搜索商品功能 .46 5.1.4 高级搜索功能48 5.1.5 Ajax 即时显示功能 50 5.1.6 商品排序功能.53 5.1.7 会员购买商品功能54 5.1.8 会员订单管理子系统57 5.1.9 会员留言管理子系统60 5.2 商家功能模块的设计与实现.63 5.2.1 商家添加商品分类功能63 5.2.2 商家管理商品分类子系统64 5.2.3 商家管理库存子系统以及 Ajax 分类即时显示功能.6

14、9 5.2.4 商家修改商店公告功能72 5.2.5 商家订单管理子系统74 5.2.6 商家留言管理子系统77 5.3 超级管理员功能设计与实现 .80 5.3.1 商品冻结功能 80 5.3.2 商品解封功能 82 5.3.3 商店推荐功能 84 6 系统测试86 6.1 系统测试 .86 6.2 系统测试用例86 6.2.1 游客测试用例 86 6.2.2 会员测试用例 88 6.2.2 商家测试用例 90 6.2.3 商家测试用例94 7 用户操作96 7.1 应用系统安装 .96 7.2 用户操作 .96 7.3 管理员操作 .96 8 论文结语97 参考文献 .98 致谢 106

15、附录 A 会员页面信息表.99 附录 B 商家页面信息表100 附录 C 超级管理员后台页面信息表101 附录 D 业务处理 JAVABEAN .102 附录 D MODEL.103 附录 E 控制 ACTION .104 基于 Struts 架构与 Ajax 技术结合的 C2C 化妆品销售平台的设计与实现 1 1 1 工程项目背景工程项目背景 1.11.1 C2CC2C 电子商务及其特点电子商务及其特点 国内首次引入电子商务概念是在 1993 年 ,第一笔网上交易发生在 1996 年 ,2000 年进入高速发展时期。目前 ,电子商务(的发展采取了三种基本模式 ,它们分别为 B2B (Busi

16、ness To Busi ness) B2C (Business To Customer) 以及 C2C(Customer To Customer) 。与前两者不同的是 ,C2C 电子商务模式针对的交易对象是个人使用过的商 品。它通过为买卖双方提供一个在线交易平台 ,使各地的卖方可以方便地提供商品上 网销售 ,各地的买方可以自行选择商品购买。 目前 ,世界上通行的 C2C 电子商务网站运作模式普遍采取了如下流程(见图 1.1) 。 成为会员 申请会员 买家浏览物品 卖家物品上架 买家购买 成功 资金流 物资流 面交 邮汇 银行转帐 电子银行 面交 邮寄 交易完成 图 1.1 C2C 电子商务运

17、作流程 作为用户对用户的电子商务模式 ,C2C 商务平台的性质与传统的二手市场相似 ,然 而 ,它不同于传统二手市场活动在网络上的翻版 ,C2C 电子商务自身的特点决定了它必 然要优于传统的个人买卖市场。具体表现在以下几个方面: 1.1.11.1.1 较低的交易成本较低的交易成本 C2C 电子商务采用了基于开放式标准上的 Internet 通信通道 ,与传统的商务活动 通信方式 ,如邮寄、传真或报纸、电台、电视台传播等相比较 ,大大降低了通信费用。 同时 ,传统二手市场由二手商收购、控制和保存二手商品 ,而在 C2C 电子商务模式下 由各个卖家保存商品 ,从而最大限度地降低了库存。而且 ,C2

18、C 电子商务通过减少交 易环节 , 使得交易成本更低。 1.1.21.1.2 经营规模不受限制经营规模不受限制 2 传统二手市场在经营规模上严格由其营业面积的大小所控制 ,当其经营规模扩大时 必须相应地扩大其营业面积。但 C2C 电子商务利用 Internet 网络提供的虚拟经营环 境 ,可以轻易地通过增加网页来扩大其经营规模。 1.1.31.1.3 便捷的信息搜集便捷的信息搜集 C2C 电子商务应用基于 Internet 网络的电子信息技术 ,使得买卖双方很容易获知 对方信息 ,这一点是传统二手市场所无法比拟的。 1.1.41.1.4 加大的销售范围和销售力度加大的销售范围和销售力度 C2C

19、 电子商务是基于 Internet 网络的商业模式 ,所面对的客户遍布全国 ,甚至是 整个世界 ,与传统的二手市场相比 ,无疑扩大了销售范围。在此基础上营运时间由以 前的 8 5 天增大到 24 7 天 ,方便了买卖双方之间的联系 ,销售力度也随之扩大。 1.1.51.1.5 扩大的货源扩大的货源 交易成本的降低、销售范围和销售力度的加大 ,必然带动客户的数量。客户数量增 加的同时也扩大了货物的来源。 1.1.61.1.6 高度电子化的支付手段高度电子化的支付手段 Internet 的发展使电子单据取代传统纸质单据 ,通过电子系统实现快速准确的双 向式数据信息交流。同时 ,资金支付、结算通过网

20、络系统完成。采取这种高度电子化 的支付手段 ,C2C 电子商务方便和加速了资金的流动 ,是传统的二手市场所无法取代的。 综上所述 ,C2C 电子商务自身所具有的特点无形之中增大了买卖双方的经济效益 , 具有广阔的市场前景与发展潜力。 1.21.2 化妆品网上销售项目的提出化妆品网上销售项目的提出 随着人们的物质生活不断的提高,而追求的美化生活的物质也越来越多啦,如美食、 服装、等。而化妆品也成为了人们追求的热点之一,无论是护肤品,化妆品,都是非 常热销的商品。所以此项目的提出,是非常符合市场的需求。在开放的网络环境下, 基于 Struts 架构与 Ajax 技术结合的 C2C 化妆品销售平台的

21、设计与实现 3 基于浏览器/服务器应用方式,实现消费者和销售者的网上交易和在线电子支付的一种 新型的商业运营模式。网上化妆品的销售平台拥有更大的销售助力,一方面以电子流 代替了实物流。可以大量减少人力、物力;另一方面突破了时间和空间的限制,使得 交易活动可以在任何时间、任何地点进行,极大地方便了最终消费者,和给销售者带 来更大的经济利益。 目前大多数网上购物系统是基于两层体系结构来进行设计和开发的。随着 Internet 的飞速发展,传统的两层结构面临者严峻的挑战,其中最为突出的问题是开 发负担重,维护困难等。本文针对目前购物系统所面临的问题,基于 J2EE 框架,采用 框架技术以及设计模式,

22、设计开发了一个 C2C 化妆品销售平台。系统具有高可靠性、 可扩展性和可重用性的特点。 4 2 2 MVCMVC 设计模式设计模式 2.12.1 设计模式设计模式 在面向对象系统的设计中,可以认为,类及其生成的对象是构成面向对象系统的最 基本元素;采用设计方法组合这些元素,得到构成面向对象系统的构件,同时,这些 构件的设计方法在经过不断的改进和完善后逐渐成型,成为构成面向对象系统的基本 设计参考,也成为设计模式。 开发人员一般采用设计模式来抽象和总结系统构件的设计方法,同时将它应用于新 的系统构件的设计中。试用类和对象,使开发人员在元素的层次上实现了重用性;而 试用设计模式,则在系统构件的层次

23、上实现了重用性。设计模式使开发人员可以更加 简单方便地复用成功的设计和体系结构,同时对将来的问题和需求也具有足够的通用 性。将已证实的技术表述成设计模式,可以使新系统的开发者更加容易理解原有的设 计思路和方法。 设计模式在很大程度上改善了软件程序结构,使设计具有更好的弹性。它提供了在 特点应用场景下解决问题的类、对象及相互关系的设计方法。这些方法并不针对于具 体的系统,只提供了一种设计系统的思路,这样做知识为系统搭起了一个“空架” ,要 真正的完成系统的开发还需要完成许多具体的编程工作。 一个设计模式可能用于不同的系统,一个系统也可能会用到多个设计模式。使用合 适的设计模式,不但使代码可重用性

24、、可扩展性得到增强,而且最重要的使能够加快 系统的开发速度,提高开发效率。 2.22.2 WebWeb 应用系统开发的一般模型应用系统开发的一般模型 在 Web 应用开发技术的发展史上,曾经涌现了多种技术,但是随着具有优秀的跨平 台性的 J2EE 平台的出现和发展,越来越多的 Web 应用开始在 J2EE 平台上进行开发。 而作为 J2EE 平台主要组成部分之一的 JSP,逐渐受到了开发人员的广泛青睐,在 Web 应用系统的开发过程仲占据了重要的一席之地。这是因为 JSP 页面不仅拥有跨平台和 跨 Web 服务器的特性,而且可以非常容易的将业务逻辑、服务器端处理过程和静态 HTML 页“所见所

25、得”的功能相结合,同时实现显示、业务逻辑和流程控制等功能,从 基于 Struts 架构与 Ajax 技术结合的 C2C 化妆品销售平台的设计与实现 5 而帮助开发人员快速的完成任务。 JSP 技术规范给出了两种试用 JSP 开发 Web 应用的方式,这两种凡是可以归纳为模 型一(Model 1)和模型二(Model 2) ,两者的主要差别在于他们处理业务流程不同。 2.2.12.2.1 ModelModel 1 1 模式模式 在很多情况下,一组 JSP 页面就可以构成一个完整的 Web 应用。这种以 JSP 页 面为中心,以 JavaBean 处理业务逻辑的开发模型被称作 Model 1。在这

26、一模型中,JSP 页面独自响应请求并处理结果返回客户,所有的数据通过 JavaBean 来处理,JSP 实现 页面的表现。这种模型的体系结构如图 2.1 所示 JSP Browser JavaBean Application Server 数据库 Request reponse 图 2.1 (Model 1)系统结构 从图 2.1 可以看出 Model 1 体系结构的工作流程如下: 从客户端的 Web 浏览器读取用户请求,并请求发送到 JSP 页面; JSP 页面调用相应的业务逻辑 JavaBean 处理请求; JavaBean 根据用户请求操纵位于 EIS 层的数据库; JavaBean 取

27、得返回结果; JavaBean 将取得的结果传送给 JSP 页面; JSP 页面将结果生成 HTTP 文档返回给客户端; JSP 文件是构成 Model 1 的基础,它独立接收和响应用户请求,并将处理结果返回 客户。总的来说,这种模式的优点是简单,可以很好的满足小型应用开发的需求。虽 然这种模式也实现了页面表现和业务逻辑相分离,然而不加选择地大量试用这种模型, 就需要在 JSP 页面中嵌入大量脚本小程序(script)或 Java 代码,尤其是在需要处理 的业务逻辑比较复杂时,这种情况会变得非常糟糕。大量的嵌入式代码会使整个页面 程序变得异常复杂。虽然对 Java 开发人员而言,这视乎不算是大

28、问题,但如果 JSP 页 面是由美工人员创建并维护(大型项目通常如此) ,则代码的开发和维护将出现困难。 显然,这种模型不适合大型应用的需求。在任何应用,尤其是企业及应用的开发过程 6 中,使用这种模型难免会导致定义不清的响应和项目管理的困难。 此外,这种模型还存在另外一个缺陷:每个 JSP 页面必须单独负责管理应用程序的 状态、验证与安全性。 2.2.22.2.2 ModelModel 2 2 模式模式 Model 2 也称作 JSP+Servlet+JavaBeans 开发模型。这一模型结合了 JSP 和 Servlet 技术,充分利用了两种技术原有的优势。在这个模型中,JSP 技术用于表

29、现 页面,Servlet 技术负责完成大量的业务处理,JavaBean 用来存储数据。其中, Servlet 用来处理请求的事务,充当一个控制者的角色,并负责向客户发送请求:它创 建 JSP 需要的 Bean 和对象,然后根据用户请求的行为,决定将哪个 JSP 页面发送给 客户。这种模型的体系结构如图 2.2 所示。 Servlet (控制器) Browser 数据库 reponse Request JSP (视图) JavaBean 图 2.2 (Model 2) 体系结构 从开发的观点来看,Model 2 具有更清晰的页面表现,清楚的开发角色划分,可以 充分发挥开发团队中的网页设计人员和

30、Java 开发人员的才干。这些优势在大型项目 中表现得尤为突出,网页设计人员可以充分展示自身的美术和设计才能来表现页面, 而程序编写人员可以充分发挥自己的业务逻辑处理思维来实现业务处理。 另外,从设计结构来看,这种模型充分体现了模型一视图一控制器(MVC)的设计模 式。事实上,现存的很多开发框架都是基于这种模型的,例如 ApacheStruts 框架、 Java Server Faces 框架等。 2.32.3 MVCMVC 设计模式设计模式 2.3.12.3.1 MVCMVC 设计模式的结构设计模式的结构 正是由于 Model 1 在开发过程中存在许多缺陷,因此基于 MVC 设计模式的 Mo

31、del 2 成为了在 J2EE 平台上开发大型 Web 应用的首推架构。MVC 是 Xerox PARC 在八十年代为编程语言 Smalltalk-80 发明的一种软件设计模式。它属于结构型设计 基于 Struts 架构与 Ajax 技术结合的 C2C 化妆品销售平台的设计与实现 7 模式,对于生成结构严谨的模块化应用程序的有效性己得到了广泛的证实。MVC 的核 心是实现三层甚至多层的松散耦合,它将一个应用系统分为三个组件: (1) Model:模型指的是真正完成任务的代码,包含应用系统的核心功能,表示 一个应用系统的数据,并且包含访问、维护和管理这些数据的逻辑。所有属于应用系 统持久状态的数

32、据都应该保存于模型对象里。模型提供的服务必须足够适用于不同的 终端。一个模型聚集了相关的数据和操作,以提供一个详细而精确的服务;这些被封装 在操作中的抽象事物的功能被模型化。一个模型的接口提供了访问和更新模型状态, 执行封装在模型中的复杂进程的方法。模型服务被控制器访问,用于查询或更改模型 的状态。当模型状态发生变化时,模型会通报给视图。对大多数 Web 应用程序而言, 功能比界面感觉更重要。在模型同界面分离的情况下,代码即可实现可管理性和可重 用性。例如,在一个保险应用程序中,模型就是处理计算保险费和同数据库交互的那 些业务代码。模型通常也被称作业务逻辑。 ( 2 ) View:视图表示模型

33、的状态,是应用系统的外观,当模型发生改变时,视图 也将随之改变,以维持系统数据的一致性。在 MVC 模式下,通常的设计前提是界面任 务较小。当然视图也应该具有一定的功能性并遵守可用性的约束,但视图界面不应当 处理数据。事实上,视图的每一部分都只能包含采集数据的逻辑,并把采集到的数据 传递给设计模式中的其他组成部分进行处理。 ( 3 ) Controller:控制器是联系模型与视图之间的纽带,控制模型和视图之间的 交互过程。它获取并翻译用户输入的动作,指定执行该动作的模型,或者根据用户的 输入和执行的结果来选择下一个视图。MVC 模式中的三要素模型一视图一控制器之间的 关系以及它们之间的协作如图

34、 2.3 所示。 用户请求 控制器(Controller) 定义应用程序行为 用户动作映射成模型更新 选择响应的视图 视图(View) 表示模型状态 模型更新请求 发送用户输入给控制器 允许控制器选择视图 视图选择 用户请求 模型(Model) 封装应用程序状态 响应状态查询 应用程序功能 通知视图改变 状态改变 通知改变 状态改变 数据库 数据处理 图 2.3 MVC 模式中的三要素模型一视图一控制器之间的关系 8 由图 2.3 可知,MVC 模式的处理流程是,首先控制器接收用户的请求,并决定应 该调用哪个模型来进行处理,然后模型调用业务逻辑来处理用户的请求并返回数据, 最后控制器用相应的视

35、图返回数据,并通过表示层呈现给用户。 2.3.22.3.2 MVCMVC 设计模式在设计模式在 J2EEJ2EE 平台中的应用模型平台中的应用模型 MVC 设计模式是一种用于分离数据维护和数据表现的方法,在 J2EE 中引入 MVC 设计模式,有助于把应用划分为合理的组件,从而可以方便的进行系统的开发、维护 和扩充。 随着 J2EE 各种组件技术的广泛应用和 MVC 设计模式的发展与完善,J2EE 与 MVC 设计模式在 Web 应用系统开发领域达到了完美的结合。目前,这种结合己经被广泛的 应用于许多企业级 Web 应用系统的开发过程中,其中,JSP 用于创建与用户交互的视 图,Java Be

36、an, EJB 等组件用于创建实现业务逻辑的模型,Servlet 用于创建实现业 务逻辑与用户交互的控制器。Web 应用客户端的用户动作被视图传递给 Servlet 集中 处理,Servlet 处理控制逻辑,调用 Beans 激活业务逻辑或修改模型状态。根据用户 动作和模型处理的结果,控制器选择一个视图作为用户请求的响应。这样,就形成了 清晰的 MVC 设计模式,简化了 Web 应用系统的开发。 Servlet (控制器) Browser 数据库 响应 请求 JSP (视图) JavaBeanEJB模型 客户层WEB层 业务层EIS层 图 2.4 基于 J2EE 和 MVC 设计模式的系统模型

37、 基于 J2EE 和 MVC 设计模式的系统模型如图 2.4 所示,它借鉴了 Model2 的思想, 其技术原理是:以 SQL Server, Oracle, Sybase 等企业级数据库系统作为后台数据库, 以 Servlet 等高性能服务端程序作为后台总控程序,JSP 页面在前台运行,Servlet 接受用户的输入,分别调用不同的 JSP 页面向浏览器反馈信息,JSP/Servlet 通过 HTTP 连接在服务器端和浏览器端传递数据;JSP/Servlet 并不使用 JDBC 技术直接访 问数据库系统,而是把参数传递给 EJB 组件,由 EJB 组件对数据库进行操作,这样 就可以封装系统的

38、内部数据;JavaBean 和 EJB 组件还可以把事务分发到其他组件中进 行处理,最后把从数据库返回的结果,由 JSP/Servlet 发送到前端显示。 基于 Struts 架构与 Ajax 技术结合的 C2C 化妆品销售平台的设计与实现 9 Web 服务器是 J2EE 体系结构中间层的一个重要组成部分。它在技术上主要是 Servlet 和 JSP,其功能是实现用户界面的表现。由于 JSP 和 Servlet 本质上是服 务端的 Java 小程序,因而可以与 Java Applet 及 HTML 客户端交互,具有执行速度 快、用户界面生成灵活、安全性好等特点,同时还能使用 JavaBean

39、实现一些简单的 业务逻辑。 J2EE 使用 EJB 服务器作为 EJB 组件的部署环境,在 EJB 服务器中提供了在分布 式计算中组件需要的所有服务,如组件生命周期管理、数据库连接管理、分布式事务 管理、组件命名服务、自动容错以及负载的自动均衡能力等。实现业务逻辑的 EJB 组 件可以在 EJB 服务器中高效运行,支持多客户端访问。HTTP 的客户端一般先向运行 在 Web 服务器上的 Servlet 或者 JSP 发出请求,通过在 JSP 中嵌入的 Java 代码 或是 Servlet 来调用运行在 EJB 服务器中的 EJB 组件,以实现复杂的业务逻辑。 10 3 3 StrutsStru

40、ts 应用框架与应用框架与 AJAXAJAX 技术的结合技术的结合 3.13.1 StrutsStruts 框架框架 3.1.13.1.1 StrutsStruts 框架的提出框架的提出 近年来,随着 Internet 技术的迅猛发展,计算机网络给人们的工作、学习和日常 生活带来很大的便利,同时开发 Web 的技术也在不断更新。J2EE 即是其中一个非常 有竞争力的选择。J2EE 体系包括 JSP, Servlet, EJB, Web Service 等多项技术。怎 样充分利用这些技术,将它们组合起来构造一个满足项目需要的稳定框架是项目开发 过程中的一个关键环节。此环节一般主要由架构设计师完成

41、,设计师将根据项目需求, 对 J2EE 体系中的各处技术进行筛选取舍,并考虑到开发过程中的角色分工、后期的 运行维护,以及系统可重用性、司一扩展性等诸多因素,建立系统的框架。一个成功 的软件需要有一个成功的框架,但软件框架的建立是一个复杂而又持续改进的过程, 如果能开发出通用的框架将能大大提高缩短开发时间,减少维护工作量。Struts 就是 其中一个流行的基于 J2EE 的框架。 通过使用 Struts 框架,你不需要再花费大量的时间在整个应用上,你可以集中精 力编写应用程序业务逻辑和表示层代码,其它事情都交给 struts 框架负责而无需你 关心。显然这将大大加速项目的开发进程,并降低了学习

42、与开发 web 应用的难度。 Struts 最早是作为 Apache Jakarta 项目的组成部分问世运作。项目的创立者希望通 过对该项目的研究,改进和提高 Java Serve Pages(JSP), Servlet、卷标库以及面相 对象的技术水准。Struts 是一个开放源代码的 Web 的应用框架,基于 MVC 设计模式, 使用 ServJet 和 JSP API 建立,可以用来构建复杂的 Web 应用。它允许我们分解一 个应用程序的商业逻辑、控制逻辑和表现逻辑的代码,使它的重用性和维护性更好。 3.1.23.1.2 StrutsStruts 的优点的优点 在使用 Java 技术建立

43、Web 应用的实例中,由于 JSP 技术的发展,很快这种便于 掌握和可实现快速开发的技术就成了创建 Web 应用的主要技术。JSP 页面中可以非常 容易地结合业务逻辑(Jsp:useBean)、服务端脚本和 HTML,在 JSP 页面中同时实现显 示,业务逻辑和流程控制,从而可以快速地完成应用开发。现在很多的 Web 应用就是 基于 Struts 架构与 Ajax 技术结合的 C2C 化妆品销售平台的设计与实现 11 由一组 JSP 页面构成的,这种以 JSP 为中心的开发模型又称之为 JSP 模式 1. 这种开发模式可以很好的满足快速和小规模的应用开发的需要,但是不能满足大型 应用的要求,从

44、工程化的角度考虑,它也有一些不足之处: 应用的实现一般是基干过程的,一组 JSP 页面实现一个业务流程,如果要进行改 动,必须在多个地方进行修改。这样非常不利于应用扩展和更新。 由于应用不是建立在模块上的,业务逻辑和表示逻辑混合在 JSP 页面中,页面被 嵌入大量的 Script 或 Java 代码,非常不利于系统的重用和改动。 为了解决这些问题,在开发大型的 Web 应用时我们可以采用 JSP 模式 2,一个基 于 MVC 模式的框架。MVC 是 Model-View-Controller 的缩写,Model 代表的是应用 的业务逻辑(通过 JavaBean EJB 组件实现),View 是

45、应用的表示层(由 JSP 页面实现), Controller 提供应用的处理程控(一般由一个 Servlet 实现),通过这种设计模型把 应用逻辑,处理过程和显示逻辑分开由不同的组件实现。这些组件可以进行交互和重 用,从而弥补了 JSP 模式 1 的不足。 JSP 模式 2 独有的优点使其更易于实现对大规模系统的开发和管理,但是开发 MVC 系统比简单的 JSP 开发要复杂许多,原来通过建立一个简单的 JSP 页面就能实 现应用现在变成了多个步骤的设计和实现过程,因此需要更多的时间学习和掌握。采 用 MVC 实现 Web 应用时,选一个现成的 MVC 框架,在此之下进行开发,就能取得事 半功倍

46、的效果。现在有很多可供使用的 MVC 框架,由于 Struts 有完整的文档并且相 对来讲比较简单,所以用它开发 MVC 系统还是比较方便的。 3.23.2 StrutsStruts 体系结构体系结构 Struts 由一组相互协作的类(组件)、Servlet 以及 JSP 卷标库组成。基于 Struts 架构的 Web 应用程序基本上符合 JSP 模式 2 的设计标准,可以说是 MVC 设 计模式的一种实现。Struts 有其自己的控制器(Controller),同时整合了其它的一 些技术去实现模型层(Model)和视图层(View)。在模型层,Struts 可以很容易的与数 据访问技术相结合

47、,包括 EJB, JDBC 等。在视图层,Struts 能够与 JSP, XSL 等等 这些表示层组件相结合。 3.2.13.2.1 StrutsStruts 与与 WebWeb 应用的关系应用的关系 既然 Struts 叫做 Web Framework,那么它肯定主要基于 Web 层进行应用系统开 12 发。按照 J2EE 架构的标准,Struts 应当和 JSP/SERVLET 一样,存在于 WebContain 一层。 3.2.23.2.2 StrutsStruts 的体系结构的体系结构 Struts 框架是 MVC 的实现,下面就分别从 Model, View, Controller

48、来看看 Struts 的体系结构。图 3.1 显示了 Struts framework 的体系结构在响应客户请求 的时候,各个部分的工作原理: Client Brower Controller Servlet View JSP Business Logic Action Model Application State Get Update HTTP Response HTTP Request EventDispatch Struts-config.xml Forword 图 3.1 Struts 体系结构 框架中三个部分模型,视窗和控制器。 在框架中,模型分为两个部分,系统的内部状态,内部状态

49、通常由一组表示“根据设 计或应用程序复杂度的不同,这些可以是自包含的并具有持续的状态,或只在需要时才 获得数据从(某个数据库) 。可以改变状态的操作(事务逻辑) 。 大型应用程序通常在方法内部封装事务逻辑(操作),这些方法可以被拥有状态信 息的 Bean 调用比如购物 Bean,它拥有用户购买商品的信息,可能还有 checkOut()方 法用来检查用户的信用卡,并向仓库发定货信息。 小型程序中,操作可能会被内嵌在 Action 类,它是 Struts 框架中控制器角色的一部 分“当逻辑简单时这个方法很适合“一般来说,应该将事务逻辑要做什么与 Action 类所 扮演的角色(决定做什么)分开。 视图由 JSP 建立,Struts 包含扩展自定义标签库,可以简化创建完全国际化用户界 面的过程。 Struts 中,基本的控制器组件是 ActionServlet 类中的实例 servlet,实际使用的 servlet 在配置文件中由一组映射(由 ActionMapping 类进行描述)进行定义。 基于 Struts 架构与 Ajax 技术结合的 C2C 化妆品销售平台的设计与实现 13 表表 2.12.1:体系结构中所试用的组件:体系结构中所试用的组件 Act

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1