欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载
     

    硕士学位论文-基于J2EE应用框架的设计与实现.doc

    • 资源ID:3962755       资源大小:907.50KB        全文页数:73页
    • 资源格式: DOC        下载积分:8
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要8
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    硕士学位论文-基于J2EE应用框架的设计与实现.doc

    电 子 科 技 大 学 UNIVERSITY OF ELECTRONIC SCIENCE AND TECHNOLOGY OF CHINA 工程硕士学位论文 ENGINEERING MASTER DISSERTATION 论 文 题 目:基于 XXXXXXXX 应用框架的设计与实现 工 程 领 域: 软 件 工 程 指 导 教 师: XXX XXXX 教授 作 者 姓 名: XXXXX 班 学 号: 200892324001 分类号 密级 UDC 学 位 论 文 基于基于 J2EE 应应用框架的用框架的设计设计与与实现实现 X X X 指导教师姓名 X X X 教授教授 电电子科技大学子科技大学 成都成都 X X X 高高级级工程工程师师 潍潍坊市天坊市天硕硕科技科技发发展中心展中心 潍潍坊坊 申请学位级别 硕硕 士士 专业名称 软软件工程件工程 论文提交日期 论文答辩日期 学位授予单位和日期 电电 子子 科科 技技 大大 学学 答辩委员会主席 评阅人 年 月 日 注 1 注明国际十进分类法 UDC的类号 独 创 性 声 明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作 及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方 外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为 获得电子科技大学或其它教育机构的学位或证书而使用过的材料。与 我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的 说明并表示谢意。 签名: 日期: 年 月 日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘, 允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文的全 部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描 等复制手段保存、汇编学位论文。 (保密的学位论文在解密后应遵守此规定) 签名: 导师签名: 日期: 年 月 日 目 录 2 摘 要 I 摘要 随着信息技术日新月异的发展,客户对信息技术服务的要求越来越个性化、 专业化。对于软件开发商来说,如何快速地开发满足用户需要的软件系统,是面 临的一个主要问题。如果能够建立起一种可重用的架构模式,只要在这个架构基 础上编写少量代码,便可在最短时间内开发出适应客户需求的软件产品,企业就 会在竞争中立于不败之地。 本文主要研究如何在 J2EE 平台上构建这个架构。 J2EE(Java 2 Platform Enterprise Edition)是一个企业级应用程序开发 标准。J2EE 平台采用了基于标准化,组件化开发的分布式应用模型,并为这些组 件定义了一套完整的服务集合,从而简化了开发企业级应用的复杂性,与传统的 互联网应用程序模型相比有着不可比拟的优势。因此,越来越多的企业将 J2EE 平台作为它们实现企业级应用的首选平台。 通过对 Struts 架构的研究,实现和扩展了 Struts 架构,引入了事件处理机 制,形成了一个基本的架构,并且对于这个架构进行了进一步的完善:在客户层 与 Web 层加入了 Filter;在业务逻辑层中根据不同业务的需要使用了 Session Façade、Message Façade、DAO。最终,形成了一个适应各种不同的业务需要的 可重用软件架构。 这个可重用架构封装了大量层与层交互的代码,开发人员不需要关心数据在 各层之间是如何传递的,只需要根据特定商业逻辑实现标准的接口,就能快速的 开发出需要的程序。 使用这个架构可以使软件开发商有效的节约开发成本,缩短开发周期,降低 开发风险,提高开发效率,快速地为客户提供所需要的软件产品。 【关键词关键词】 J2EE Struts EJB DAO Filter ABSTRCT II ABSTRCT With the rapid development of information technology, customer demand for information technology services more personalized and professional. For software developers how to rapidly develop software systems to meet user needs, is facing a major problem. If we can establish a reusable framework, based on this framework as long as the preparation of a small amount of code, can in the shortest time to develop software products to meet customer needs, the business will remain invincible in the competition. This paper studies how to build the J2EE platform architecture. J2EE (Java 2 Platform Enterprise Edition) is an enterprise-class application development standards. J2EE platform is based on standardized, component-based development of distributed application model, and these components define a complete set of services to simplify development of enterprise applications, the complexity of the traditional model of Internet applications with compared with incomparable advantages. Therefore, more and more enterprises will achieve J2EE platform as their preferred platform for enterprise applications. Struts framework through research, implementation and expansion of Struts, architecture, Yinru the event handling mechanism, forming a basic framework and for this structure was further of the perfect: in Kehu layer and the Web layer by adding a Filter; in business Luo Ji layer depending on the business need to use the Session Façade, Message Façade, DAO. In the end, forming a variety of business needs to adapt to the reusable software architecture. This reusable framework encapsulates a large number of layers and layers interact Daima, developers need to worry about data, how to pass between the layers, requiring Genju Shangye logic to achieve a specific standard interface, can be rapidly developed need for software . Using this architecture enables software developers saving development costs, shorten development cycles, reduced risk, improve development efficiency. 【Key words】:J2EE Struts EJB DAO Filter 目 录 III 目目 录录 摘摘 要要 .I ABSTRACT .II 目目 录录 .III 第一章第一章 绪论绪论1 1.1课题的背景与意义1 1.2国内外研究现状3 1.3主要工作3 1.4本文的章节安排4 第二章第二章 系统相关技术介绍系统相关技术介绍.5 2.1C/S 和 B/S 的确定5 2.2MICROSOFT.NET 与 J2EE 的确定.5 2.3J2EE-企业解决方案的平台.6 2.4、本章小结 10 第三章第三章WEBWEB 应用框架的设计应用框架的设计.11 3.1MVC 设计模式.11 3.2STRUTS的基本概念.14 3.3STRUTS工作原理.15 3.4构建系统的基本架构17 3.5扩展控制器的 ACTION.17 3.6实现事件处理机制20 3.7本章小结26 第四章第四章WEBWEB 应用框架的扩展应用框架的扩展.27 4.1WEB层的扩展 27 4.2实现 SESSION FAÇADE模式29 4.3实现 MESSAGE FACADE模式30 4.4实现关系/对象映射.33 4.5DTO/VO的应用.38 4.6本章小结41 第五章第五章WEBWEB 应用框架的测试应用框架的测试.42 5.1WEB 应用框架的实现42 5.2WEB 应用框架的测试42 5.3WEB应用框架的安全性考虑.43 第六章第六章WEBWEB 应用框架的应用应用框架的应用.47 6.1公告管理系统的需求分析47 目 录 4 6.2公告管理系统设计与实现49 6.3公告管理系统测试57 6.4本章小结61 第七章第七章 总结总结62 致致 谢谢.63 参考文献参考文献 .64 第一章 绪论 1 第一章第一章 绪论绪论 1.11.1 课题的背景与意义课题的背景与意义 随着信息技术日益广泛的应用和快速的发展,客户对软件产品提出了更高的 要求。作为软件开发人员,如果能在短时间内开发出为客户“量身定做”的软件 产品,就能在激烈的同业竞争中立于不败之地。由于互联网的普及,原来的系统 架构不能很好的适应互联网,不具有可重用性和跨平台性,从而使软件开发成本 居高不下,开发周期延长,风险较高,制约了软件企业的发展,因此迫切需要构 建一个新的可重用的系统框架。 客户需要一个基于 internet 的架构,能够快速部署,不受地域限制,易于维 护和升级,易于迁移,高兼容性(要支持主流的 Web 服务器、中间件、数据库) 。 针对客户的实际需求,设计实现一个适用的企业级应用架构具有非常现实的 意义。有了这个应用框架,对于各种应用,都可以在这个框架的基础上进行二次 开发,这样不但节省时间,提高开发效率,而且可以最大效率地实现软件的重用, 这正是软件工程所追求的目标。当然这个架构必须有较好的重用性,较强的扩展 性,满足实际业务的开发。 分布式应用越来越广。现在有两种基本的结构,即 C/S 和 B/S 架构。 C/S 结构是早先发展起来的,成为客户机/服务器模式,这里的客户机和服务 器并不是针对设备来说的,主要是针对进程,客户机作为前端,服务器作为后端, 前端客户机负责相应用户的事件,后端处理具体的底层逻辑,例如访问数据库等 操作,客户机和服务器作为单独的两个程序一般是安装在不同的机器上,实现分 布式应用,当然也可以装在同一台机器上,客户机和服务器通过网络进行通信, 很多采用 Socket 技术,B/S 是在 C/S 的基础上发展来的,随着互联网的发展,尤 其是 3W 网的发展,人们用浏览器越来越多,浏览器渐渐成为主要的客户端软件, 在这样的环境下,软件开发出现了 B/S 架构,也就是所谓的浏览器/服务器模式, 用浏览器作为专门的客户端,不需要再专门进行开发,服务器还是在后台提供一 电子科技大学硕士学位论文 2 些专门的数据处理,例如进行数据库的增删改等等,B/S 架构与 C/S 架构相比可 以 省略客户端的开发,用户界面比较同一便于使用,可以很容易部署到互联网 上。正是因为 B/S 架构具有一些优越性,现在逐渐成为开发的主流,除非是一些 需求比较特殊的应用,人们一般采用 B/S 架构进行开发。 当前的 B/S 架构开发主要有两大阵营,即 JAVA 技术和 NET 技术,JAVA 平 台是以 SUN 公司为主的结合多家公司开发的一个开源平台,基本的技术都是开 放的,NET 平台是微软公司推出的一个比较集成的一个平台,这两个开发环境各 有优缺点。 不管是 B/S 还是 C/S 结构,设计都要尽量的简单,软件设计本来是一项复杂 的工作,只有简单化才是好的设计。现在的软件设计都遵循 MVC 模式,MVC 将 应用分成三个部分:模型、视图、控制。这三部分各负其责,又互相联系,形成 我们的系统结构,这样松散的设计可以使模块清晰简单,将复杂的问题简单化。 现在很多 Web 开发都基于 Strus 框架,Strus 架构是基于 MVC 设计模式的, 在 Struts 中模型、视图、控制器的代码是彼此孤立的,通过两个配置文件将这三 者统一了起来,大大降低了代码的耦合度。框架的核心目的是为了简化编程工作, 将经常使用的逻辑或者程序模块或者设计模式包装成一个可复用的设计构件,它 规定了应用的体系结构,阐明了整个设计、协作构件之间的依赖关系、责任分配 和控制流程,表现为一组抽象类以及其实例之间协作的方法,它为构件的复用提 供了上下文关系。每一种框架的设计方式各不相同,但它们的共同点就是简化编 程工作,让代码看起来更清晰。框架的目的是更“简化”而不是更“复杂” 。 本课题希望在 Struts 的基础上进行开发,增加一些企业级的应用基础,构建 一个完整的适用的应用架构。 课题的目标是从整体上提出一个可重用的系统架构。这个系统架构需要具有 可重用性,可以根据具体的业务需要,使用这个系统架构编写少量的业务代码即 可实现所需的功能,实现软件的快速开发。这个系统不仅能够满足互联网的需要, 能够在不同的操作系统上运行(如,Window NT、Linux、Unix、Solaris、AIX 等 主流操作系统) ,支持主流的 Web server(如,Weblogic、Websphere 等) ,能够 支持主流数据存储器(如,Oracle、DB2、Sybase 等)甚至是 XML。 也就是说,要封装底层代码。程序员使用这个架构进行具体的业务的开发时, 电子科技大学硕士学位论文 2 不需要从整体考虑编写程序,只需针对不同的业务需要,实现相关的业务逻辑和 代码。 1.21.2 国内外研究现状国内外研究现状 对于 web 应用框架国外的研究比较多,应用也比较广泛,而国内应用的比较 多,真正从开始底层设计一个而真正得到广泛应用的比较少,国外有很多的开源 项目都是围绕框架进行。 随着面向对象技术的应用深入和提高,单纯的对象技术已经不能满足现代软 件开发的需要,于是在面向对象技术的基础上,人们从实践中发展出了设计模式 的思想,设计模式是在广泛应用对象技术的基础上对面向对象技术的发展,人们 按照对象之间的各种关系总结出了对象之间应用的各种模式,各种设计模式主要 分为构造型、结构型和行为型三种类型,分别从不同的角度去描述设计模式。在 设计模式的基础上,人们又对各种不同的业务逻辑进行分类抽象,发展成了面向 应用的设计框架,设计框架的目的在与给开发者一个面向本领域应用的一个半成 品,程序员的开发不需要再从头开始,一些同样的基本的常用的功能模块都被封 装到框架之中,无须再开发,程序员只要按照框架的设计意图添加一些特殊的功 能模块,这可以大大提高开发效率。面向框架的开发是现在程序设计的一个发展 方向。 1.31.3 主要工作主要工作 基于 J2EE 的 WEB 应用框架是软件开发中的一个重要的基础,是实现软件重 用的一项重要内容,是其他 Web 应用系统的基础,具有非常重要的现实意义。在 项目的开发过程中需要大量的软件开发技术,对此要遵循统一软件开发过程,以 用例为驱动,以框架为核心,采用迭代的开发方式,分析和设计采用 UML 标准 建模语言。分析和设计是最关键的。采用面向对象的分析和设计技术,构建可靠 的系统。 通过本课题的研究开发,最终实现一个实用的基于 Web 的应用开发框架。最 终形式是软件产品。本框架在 Strus 的基础上进行开发,增加一些实际的应用需 电子科技大学硕士学位论文 2 求,满足客户快速开发、配置的需要。本课题的主要工作是在 Struts 框架的基础 上进行了一些扩展,增加了事件处理机制,使程序可以响应一定的用户事件并对 事件做 出响应,另外在原来的基础上增加过滤功能,使逻辑结构更加清晰。最后在 Struts 基础上增加了 Facade 设计模式,在对话和消息应用中采用 Facade 设计模式, 使应用更加统一。 1.41.4 本文的章节安排本文的章节安排 本文将以一个项目发展的角度,介绍系统架构的构建。 第二章介绍开发 WEB 框架所用到的相关技术,介绍 B/S 和 C/S 系统架构,介 绍 Microsoft .Net 和 J2EE 技术。介绍了 J2EE 平台的基本特点和 J2EE 平台上的 一些核心技术。 第三章是 WEB 框架的概要设计。主要是从 MVC 设计模式,引出 Struts 应用 框架,并在这个框架的基础上进行实现和扩展,最终完成一个系统的框架。 第四章是 WEB 框架的详细设计,对架构进行进一步的完善。主要从客户端到 Web 层和业务逻辑层两个方面进行完善。引入了 Session Façade、Message Façade、DAO 以及 DTO/VO,将这个系统各层联系在一起。 第五章介绍 WEB 框架的测试已经安全性等方面的问题。 第六章通过一个电子商务中的公告管理系统介绍框架的具体应用。 第二章 系统相关技术介绍 2 第二章第二章 系统相关技术介绍系统相关技术介绍 2.12.1 C/S 和和 B/S 的确定的确定 程序设计现在有两种基本的结构:C/S 和 B/S。C/S 结构是早先发展起来的, 称为客户机/服务器模式,这里的客户机和服务器主要是针对进程而言,客户机 作为前端,服务器作为后端,前端客户机负责相应用户的事件,后端处理具体的 底层逻辑,例如访问数据库等操作,客户机和服务器作为单独的两个程序一般是 安装在不同的机器上,实现分布式应用,当然也可以装在同一台机器上,客户机 和服务器通过网络进行通信,很多采用 Socket 技术,B/S 是在 C/S 的基础上发展 来的,随着互联网的发展,尤其是 3W 网的发展,人们用浏览器越来越多,浏览 器渐渐成为主要的客户端软件,在这样的环境下,软件开发出现了 B/S 架构,也 就是所谓的浏览器/服务器模式。 B/S 结构的程序用浏览器作为专门的客户端,不需要再专门进行开发,服务 器还是在后台提供一些专门的数据处理,例如进行数据库的增删改等等,B/S 架 构与 C/S 架构相比可以省略客户端的开发,用户界面比较同一便于使用,可以很 容易部署到互联网上,B/S 结构的程序可以直接部署在互联网上,不需专门的网 络设计,另外 B/S 结构的程序很适合组件式开发,符合当前软件发展的方向。 正是因为 B/S 架构具有一些优越性,现在逐渐成为开发的主流,除非是一些 需求比较特殊的应用,人们一般采用 B/S 架构进行开发。 2.22.2 Microsoft.NET 与与 J2EE 的确定的确定 Microsoft .NET 实质上是 Microsoft 贴在现有产品和未来产品上的一个新式 行销标签,而我们在这里所指的是 Microsoft .NET Framework 。在 2000 年 7 月 美国奥兰多举行的专业开发者大会上,Microsoft 展示了这种.NET 体系。通过. NET,Microsoft 为我们提供了一种全新的开发平台,这个平台将推动以新体系为 电子科技大学硕士学位论文 3 基础的协同 Web 应用开发。根据 Microsoft 的说法,.NET 至少将成为一种“对 Web 编程”的方法。这是一个与操作系统紧密相关的综合运行环境,它包括面向 组件的中间层基础结构(COM+), Common Language Runtime(CLR)环境、一个运行 时的编译器和一个使用.NET 组件模型打包的操作系统库。 J2EE 技术是 SUN 公司推出的由多家公司联合推出的一个平台,它包括一些规 范、基础类库,关键是它支持 JAVA 语言,J2ee 在业界支持广泛,已经成为事实 工业标准,平台非常成熟,用户采用它进行开发可以保护现有和以后的一些投资, 可维护性也好。 .net 平台是微软推出的,它现在基本上只是应用在微软的开发平台,其他的 平台正在推广之中,虽然支持的语言较多,但主要还是 C#语言,它的 WEB 开发比 较集成,开发工具也是微软的集成开发环境。 这两种开发平台各有千秋,对于我们这个项目采用 J2ee 技术是比较合理的。 2.32.3 J2EE-企业解决方案的平台企业解决方案的平台 J2EE(The Java 2 Platform,Enterprise Edition) 定义了开发多层企业应用 的标准。J2EE 通过基于标准化的,模块化的组件(component) ,通过对组件提供 一整套完全的服务,通过无需复杂编程便能对应用行为的许多细节的自动处理, 从而简化了企业应用。 J2EE, 吸取了 Java 2 Platform(Standard Edition )的许多特性,例如” Write Once,Run Anywhere”的方便性,数据库访问的 JDBC API,对企业现有资源 交互的 CORBA 技术 和一套安全模型来保护即使基于因特网应用的数据。以上述 技术为基石,J2EE 还增加了对企业级 JavaBeans 组件、Java Servlets API、JavaServerPages 和 XML 技术的支持。J2EE 标准包含完全的规范和适应性 测试以保证 对跨越企业现有系统的应用的轻便和灵活性,并使其能够支持 J2EE。 基于 J2EE 的多层应用示意图如下: 第二章 系统相关技术介绍 4 图 2.1 多层应用 J2EE 平台在企业应用方面使用了多层分布式应用模型。应用逻辑按照功能被 分成组件,不同的应用组件构成 J2EE 应用,并根据它在多层的 J2EE 环境所处于 的层数安装在不同的机器上,如上图所示: (1)客户层组件 (Client Tier):运行于客户机器。一般为浏览器或其他应用,客 户层普遍地支持 HTTP 协议,也称客户代理; (2)Web 层组件 (Web Tier):运行在 J2EE 服务器上 , 它包括 JavaServerPages, Java Servlet 等 WEB 部件; (3)商业层组件 (Business Tier):运行在 J2EE 服务器上, 支持 EJB, JMS, JTA 等服务和技术; (4)企业信息系统层组件 (EIS Tier):运行在 EIS 服务器上, 企业信息系统包含 企业内传统信息系统如财务,CRM 等,特点是有数据库系统的支持。 J2ee作为官方的一个标准,将工作划分为不同的层次,包括:服务器端业务 逻辑层、服务器端表示层、客户端表示层。 J2ee中API主要包括以下几个部分: Servlet接口:用来处理Web请求,并将内容返回客户。 JSP接口:主要处理显示的内容,它的运行机制和Servlet是一样的。 EJB接口:主要用来创建分布式的组件对象。 JNDI接口:提供目录服务。 JDBC接口:实现常见的数据库访问。 电子科技大学硕士学位论文 5 JMS接口:提供消息组件服务。 J2EE 体系包括 JavaServerPages (JSP) , Java Servlets, enterprise JavaBeans,Web Services 等技术。这些技术的出现给电子商务时代的 WEB 应用 程序的开发提供了一个非常有竞争力的选择。怎样把这些技术组合起来形成一个 适应项目需要的稳定架构是项目开发过程中一个非常重要的步骤。在这个路程中 经历了两个大的阶段: (1)模型 1: 模型 1 的架构使用 JSP 直接处理浏览器请求,使用 Java Bean 处理业务逻辑, 混淆了视图和控制,维护起来很困难。示意图如下: 图 2-2 模型 1 示意图 (2)模型 2: 模型 2 将 Servlet 引入架构中构成一个良好的 MVC 设计,结构清晰,模块合 理,维护也方便,所以现在一般都采用模型 2 进行 Web 开发。示意图如下: 图 2-3 模型 2 示意图 模型 2 在 J2EE 中的位置如下图所示: 第二章 系统相关技术介绍 6 图 2-4 模型 2 在 J2EE 应用中的位置 当前基于 MVC 设计模式的应用框架很多,主要有 Struts、Turbine 、Cocoon 、JATO 等,它们的特点如下: (1) Struts - 基于 MVC 设计模式的 JSP Struts 是采用 Java Servlet/JavaServer Pages 技术,开发 Web 应用程序的 开放源码的 framework。 采用 Struts 能开发出基于 MVC 设计模式的应用构架。 (2) Turbine - 基于 Servlet 的 Web 应用开发 Turbine 是基于 servlet 的 framework,使有经验的 Java 开发员能快速地构 建 web 应用。使用 Turbine,可以通过创建使用特定服务来处理模板的 Screen, 来集成现有的模板技术(例如 Velocity、Webmacro、Java Server Pages(JSP)、 FreeMarker、Cocoon) 。 (3)(3) COCOON - 基于 XML 的 WEB 内容发布 Cocoon 是采用 100%纯 Java 编写的一个内容发布框架。Cocoon 让你能采用 W3C 的最新技术(DOM、XML、XSL)来提供 Web 内容。新的 Cocoon 模式能将文档内 容、样式、处理逻辑进行完全的分离,允许这三层能独立地设计、创建和管理, 从而减少了管理开销,加强了工作的重用性,减少了开发时间。 (4)(4) JATO 电子科技大学硕士学位论文 7 2.42.4、本章小结、本章小结 本章对项目中所用到的技术平台进行了概述,主要比较 J2EE 平台和微软的. NET 平台的特点,通过比较可以发现 J2EE 平台具有很大的优势,然后介绍了 J2EE 中的一些核心技术,最后介绍了 J2EE 平台下开发常用到的一些框架,对于 WEB 开发来说,Struts 是用的最多的开源框架,以下将详细介绍这一框架,并在 这一框架的基础上进行相应的开发。 第三章 WEB 应用框架的设计 2 第三章第三章 WEBWEB 应用框架的设计应用框架的设计 从 J2EE 平台我们不难看出,它是一个多层的架构。对于多层的架构,层与 层的关系至关重要,层关系决定了系统的成败。谈到层与层的结构,我们很容易 想到 MVC 设计模式。 3.13.1 MVC 设计模式设计模式 MVC 是现在应用非常广泛的一个设计模式,M 代表模型,V 代表视图,C 代表 控制器。通过三者的互相作用,构建我们的应用。 如图 3.1 所示: 视图控制器模型 图 3.1:MVC 设计模式 MVC 的核心就是要做到三级甚至多级的松散耦合。它特别适用于客户端通过 提交请求与服务器交互,客户端不断的显示页面相应请求。MVC 模式把涉及数据 管理和显示的功能分散到不同的对象上,降低对象间的耦合。它把应用分成三部 分,分别为模型、视图和控制,并且尽量降低部分间的耦合。每一部分处理特定 的任务,并负责完成与其它部分的通信。如图 3.2 所示: 电子科技大学硕士学位论文 3 改变状态 访问功能 变化通知查询状态 用户行为 选择试图 模型模型 封装应用状态 响应状态查询 提供应用功能 通知变化 视图视图 表示模型 查询模型的更新 像控制器传递用户行为 允许控制选择视图 控制器控制器 定义应用行为 更新视图 选择响应用户的视图 根据用户行为选择模型 图 3.2:MVC 模型图 其中,模型部分应用程序的数据和业务规则的集合,通常称为应用程序的业 务逻辑,代表了商业数据和访问及修改数据的操作。当数据发生改变时,它要负 责通知视图部分,并且提供视图查询状态的能力,另外,它还向控制提供应用功 能。模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多 个视图重用,所以减少了代码的重复性。 视图部分以自己的方式显示模型的内容。模型进行操作之后,其结果就是通 过视图来显示的。视图访问模型的数据,并且当模型的数据发生变化时更新模型 的显示。视图还把从用户那里得到的信息传给控制部分。MVC 能使应用程序处理 很多不同的视图,在视图中,其实没有真正的处理发生,只是作为一种输出数据 并允许用户操作的方式。 控制部分是定义应用程序对用户输入或模型层中的更改做出反应的方法,通 常称为应用程序逻辑。它分发用户请求和选择表现视图,还负责解释用户输入, 进而调用模型的功能。控制部分根据用户交互和模型的状态选择要显示的视图。 一个应用程序一般为相关的功能选择一个控制。一旦用户想对模型进行处理时, 它不能直接去执行模型,而是通过控制器来间接地实现。控制器能从视图中取值, 然后将相应的值传给模型进行处理。控制器接受用户的输入并调用模型和视图去 第三章 WEB 应用框架的设计 4 完成用户的需求。当用户单击 Web 页面中的超链接和发送 HTML 表单时,它只是 接收请求并决定调用哪个模型组件去处理请求,然后确定用哪个视图来显示模型 处理返回的数据。控制器连接不同的模型和视图去完成用户的需求,给定一些可 重用的模型和视图。控制器可以根据用户的需求选择模型进行处理,然后选择视 图将处理结果显示给用户。 在模型、视图和控制器三者之间分配职责有助于减少代码重复、降低维护难 度。因为商业逻辑和数据分离无论是在增加数据源,还是在改变数据表示时,操 作都变得相对简单,而且不需要改变业务逻辑,另外增加新的客户类型也变得很 容易。 显而易见,MVC 设计模式具有以下的优点: 1设计清晰 用模型中的公用方法,来操作它的数据和状态,很容易理解如何来控制模型 的行为。当设计一个应用程序时,这种方式将使整个程序更加容易执行和维护。 2设计的可重用性 如果需要,任何组件甚至整个模型都可以换出换进,视图、控制器或模型的 程序改变不会影响到其他方面,不同的组件的开发能够同时进行。 3易于扩展 模型、视图、控制各个部分是相互松散的,彼此之间没有紧密的联系,这样 在一个应用中的各个模块很容易进行复用,也很容易扩展,当其中的一部分发生 变化时,其他部分可以不需要发生变化就得到扩展,比如模型发生改变了而视图 和控制部分照样可以使用。 4功能强大的用户界面 用户界面与模型方法调用组合起来,发送给模型的数据信息,都是由单个用 户行为触发的。这就使得程序可以使用一个更加清晰,友好的界面发布给用户。 模式还可以很方便的用多个视图来显示多套数据,从而可以使系统能方便的支持 其它新的客户端类型。 5高交互性 电子科技大学硕士学位论文 5 可以很好的表达用户与系统的交互模式,以及整个系统的程序架构模式。 6易于开发 对于开发人员来讲,由于 MVC 分离了模式中的数据的控制和数据表现,从而可 以分清开发者的责任,后台开发人员可以专注业务的处理,前台开发人员专注于用 户交互的界面,从而加快产品开发以及推向市场的时间。 MVC 设计模式具有设计清晰,易于扩展,易于重用,易于开发,具有很高交 互性的系统运用可分布的特点,因此在构建 Web 应用中具有显著的优势。我们完 全可以在 Web 层采用这种模式进行设计。 MVC 只是一个概念模型,具体的使用要结合项目的实际需求,哪一部分应该 属于视图,哪一部分属于控制,都需要详细的设计,对于一个没有什么设计经验 的开发者来说,进行合理的模块划分不是一件容易的事情。 开发 MVC 系统比简单的 JSP 开发要复杂许多,它需要更多的时间学习和掌握。 同时新东西的引入会带来新的问题,在选择 MVC 开发模式时必须仔细考虑这下问 题: 1需要采用以 MVC 组件的方式重新思考和设计应用结构。原来通过建立一 个简单的 JSP 页面就能实现的应用现在变成了多个步骤的设计和实现过程; 2所有的页面和组件必须在 MVC 框架中实现,所以必须进行附加地开发工 作; 3MVC 本身就是一个非常复杂的系统,所以采用 MVC 实现 Web 应用时,最好 选一个现成的 MVC 框架,在此之下进行开发,从而取得事半功倍的效果。现在有 很多可供使用的 MVC 框架,Struts 就是一个不错的 MVC 的应用框架。 3.23.2 STRUTSSTRUTS 的基本概念的基本概念 Struts 是 Apache 基金会下面的一个开源项目。它采用 MVC 设计模式,能够 帮助程序员快速开发基于 J2EE 的 WEB 应用,Struts 主要采用 JSP 和 Servlet 技 术,当然还有 JAVA BEAN 技术,经过很长时间的发展,Struts 已经比较成熟,越 第三章 WEB 应用框架的设计 6 来越多的开发者在实际开发中使用它,Struts 的可靠性和稳定性得到了证明。 在 Struts 中,各个模块各负其责,视图部分负责数据的显示,由 JSP 技术 来实现,模型部分负责封装业务逻辑,有 JAVA BEAN 实现,控制部分负责业务逻 辑的调用和数据显示的改变,有 Servlet 实现。 在 Struts 中应用程序通过使用前端控制器来实现控制,控制器包含一个分 发器,分发器将请求 URL 映射到需要执行的具体命令动作,在 Struts 中叫做 Action,Action 和系统的模型进行交互,所谓模型实际上就是一些服务,Action 命令实例在执行完业务逻辑之后返回一个标志,通过配置,可以把这个标志映射 到某个视图,最后结合控制器和模型视图将会显示给用户。Struts 的结构示意图 如下:1 6 14 事务逻辑 Business Logic 视图 View 客户 Client 请求 转发 响应 读取 分派 配置文件 Struts-config.xml Get Request Response Forward Dispatch 控制器 Controller 模型 Model 图 3.3:Struts 框架示意图 3.33.3 STRUTSSTRUTS 工作原理工作原理 现在看一下 Struts 的组件结构图(图 3.4): 电子科技大学硕士学位论文 7 Browser Struts_config.xm

    注意事项

    本文(硕士学位论文-基于J2EE应用框架的设计与实现.doc)为本站会员(哈尼dd)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




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

    三一文库
    收起
    展开