版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、I) % &三濮学院A N H U ISA N L 1A N U N 1VERSIT Y无线网络技术课程(论文)题 目: 基于java 的 mvc模型框架的研究学生姓名:董芳立、丁允奇学 号:130101072、 130101071所在系院: 计算机工程学院专业班级:13级计算机科学与技术指导教师姓名: 裴培 职称/学位: 助教/硕士完成时间: 2016年 6月计算机工程学院制摘要 :本文着重进行了以下的研究和设计工作: 结合企业系统的结构特点, 详细分析了 J2EE 的多层体系结构模型和核心技术,并总结出基于J2EE 平台进行开发和部署企业应用系统的方案;对传统的网站开发技术进行了比较分析,
2、采用框架的恩想,设计面向整个 Web开发的系统框架模型;对 struts 框架,一种实现了 MVC莫型思想的框架,进行了整体结构分析; 在参照 struts 基础上,根据实际应用的要求,并结合长期进行网站开发的经验,最终设计 出Webpump勺整体框架结构;关键字:JAVA MV(模型,Web开发,框架,WEBPUMP1 J2EE 企业系统体系结构11 企业系统概述企业这个概念在我们的生活中并不陌生, 一般来说,它是打算完成一定目标的 组织,这个组织可以是小型的、中性的或大型的商业公司、非盈利性研究组织。 另外,企业系统也包括那些分布式的、可扩缩的、多用户的商业系统,这些系统 本质上都是要通过
3、信息技术来提供公司或组织的生产效率。随着网络技术的发 展,企业的信息化显得越来越迫切。 那么如何为企业构造一个性能优越的系统则 是我们软件研究、 设计,和开发人员所要解决的问题。 当我们为企业开发一个项 目,那么,首先需要了解的便是这个企业的体系结构及相关信息, 即它是由那些 成份组成的。其中,有形资源和财产是由企业使用的用于完成其目标的一个组成部份, 有我 们熟悉的计算设备、 生产设备、 产品供应及企业帐户等, 它们对企业的运作至关 重要;人,包括消费者、员工以及合作伙伴,是企业的积极因素。1. 2 J2EE标准中间件体系结构及开发 N层应用在开发传统的企业信息系统时,我们大多采用两层结构
4、( 如图 22)来实现, 即前台的客户端和后台的数据库服务器其中,服务器提供的唯一服务就是数据库服务。 在这种情况下, 客户端则主要 负责数据的访问、 执行应用商业逻辑、 并将结果转换为一个格式以便显示, 为用 户显示内部的接口,以及响应用户的输入。这种客户I Ii 务器的体系在开始的时候容易配置, 不过难于升级或者扩展, 而且通常基于私有的协议一典型的是 私有的数据库协议。并且,其中的商业模块和表现逻辑模块的重新使用也很难。 但随着业务系统变得复杂, 这种结构的局限性日益变得明显, 它限制了企业更快 更灵活的发展,同时,也使自身也很难维护。在我们所研究的Web开发领域中,最重要的可能就是扩展
5、,但两层的应用不便于升级扩展。为了解决这一问题, 就需要将企业信息系统, 从原来的两层“客户端一服务器” 应用模型转向更灵活的三层和多层应用模型, 即将业务逻辑放到系统服务和用户 接口之间, 从而使业务逻辑和用户界面的表示层分开。 通过使用这种设计, 将明 显的简化开发、 调试和维护企业应用, 同时,它也使得开发者能够将精力集中于 业务逻辑程序的具体编制,以更好的提供用户交互。13 J2EE 模型和相关技术J2EE作为一个平台和编程模型,用于构造 JAvA企业系统。这样的系统可以使 用不同生产商的底层企业系统框架实现。 为了避免传统开发方法的弊端, 从而减 少费用,快速设计和开发企业级的应用程
6、序, J2EE 技术提供了一个基于组件的 方法来设计、开发、装配和部署企业级应用程序。 J2EE 平台提供了一个多层结 构的分布式的应用程序模型, 这个模型具有重用组件的能力、 基于扩展标记语言 (XML)的数据交换、统一的安全模式和灵活的事务控制。使用这种技术,我们不 仅可以比以前更快地发表对市场的新的解决方案, 而且我们所做的独立于平台的 基于组件的J2EE解决方案不再受任何提供商的产品和应用程序编程界面(APIS)的限制。这样,提供商和买主都可以自己选择最合适于它们的商业应用和所需技 术的产品和组件。2开发大型企业网站方法的分析与比较和Webpump匡架的提出随着Web技术的发展和电子商
7、务时代的到来,人们不再满足于建立各种静态的 发布信息的网站, 更多的时候需要能与用户进行交互, 并能提供后台数据库的管 理和控制等服务的动态网站; 当我们能够满足这些要求, 将一个个生动活泼的画 面展现在用户面前时,作为服务的提供者一企业,却又面临着另一个新的挑战: 如何使企业信息的管理一方面紧跟社会经济发展的步伐, 另一方面, 又能保证企 业系统具有可维护性、可扩展性、可靠性和安全性。 。21 基于框架的开发思想软件构件化是软件工业发展的大势趋。 工业化的软件复用已经从通用类库进化 到了面向领域的应用框架。 以后,新应用将主要建立在象软件构件和应用框架这 类r构造块,之上:应用开发的未来就在
8、于能够提供开放体系结构,从恧方便构件的选择、组装和集成。框架已成为软件生产中最有效的重用方式之一。211 框架的定义架构是一个软件系统中的核心元素, 是系统中最难改变的部分, 也是构建软件 系统中其他部分所依赖的基础, 因此系统架构的优劣会从根本上决定基于这个架 构所构建的软件系统的质量。系统架构的构建是软件开发过程中的一项重要工 作,同时也是一项很困难的工作,对于很有经验的系统架构师也是如此。但是, 模式以及模式语言为构建系统架构提出一条的解决途径。架构是系统中最本质的部分。 系统的各个组成部分正是通过架构所定义的方式 协同工作共同完成系统的功能, 从而表现出一个完整的系统。 由于系统的本质
9、是 不容易变化的, 所以如果一个架构构建的正确, 也就是说能够真实酊反映出系统 的本质,那么就可以使基于该架构构建的系统具有比较长的生命力, 否则该系统 的质量就会逐渐的降级, 直至崩溃。如果以建筑领域来作类比可能会比较好理解 一些,如果一个建筑物构建在一个在结构上有问题的混凝土骨架上, 那么该建筑 的寿命可想而知是不会长久的。框架(Framework)是部分或整个系统的可重用设计,表现为一组抽象构件及构 件实例间交互的方法: 另外,框架也可以被理解为可被应用开发者定制的应用骨 架。前者是从应用方面,而后者是从目的方面给出的定义。一个框架是一个可复用的设计构件, 它规定了应用的体系结构, 阐明
10、了整个设 计、协作构件之间的依赖关系、 责任分配和控制流程, 表现为一组抽象类以及其 实例之间协作的方法,它为构件复用提供了上下文 (Context) 关系。因此构件库 的大规模重用也需要框薪应用框架强调的是软件的设计重用性和系统的可扩充性, 以缩短大型应用软件 系绣商开发周期,提高开发质量。与传统的基于类库的面向对象重用技术比较, 应用框架更注重于面向专业领域的软件重用。 应用框架具有领域相关性, 构件根 据框架进行复合而生成可运行的系统。 框架的粒度越大, 其中包含的领域知识就 更加完整。212 设计模式 设计模式是一组类、接口与其关系的集合,提供通用问题类型的一般设计方案。 模式本身并不
11、仅仅简单是一些关系,它还具有深刻的内涵。它具有自身的意图、 动机、适用性以及核心解决方案等众多的内容。一旦我们确定使用了一个模式, 那么这个模式就为我们搭建了一个内容丰富的场景, 这个场景可以非常有效黼导 我们进一步的工作, 启发我们发现新的对象。 这样,基于模式构建的系统架构就 变得抽象 (模式本身就是一些抽象的关系 ) 而不空泛并且具有很好的延伸性。模式也提供了一套公认非常有效的记录方法, 可以把自己经过反复验证的解决 方案记录下来传授给其他人重用, 即模式具有可传授性。 这样,有经验的系统架 构师就可以把自己的一些心得体会通过模式的方法记录下来, 就可以克服经验无 法有效传授的问题。其实
12、很多模式本身就是针对系统架构提出的,比如我们主要讨论的MVC模型(Model 、 View、 Controller) ,它是专门针对交互系统提出的,所以如果我们要 构建一个交互系统,那么我们就可以直接应用 MV(模式,然后在该模式所搭建的 场景的启发下去发现 Model、View 以及 Controller ,在这个大的场景的指导下 根据其它的需求 (模式)构建一些小的场景对系统进行有效的分化。 模式和系统架 构有很大的相似性, 都是处理一些抽象概念间的关系, 但是二者还是有很大的不 同的,模式是领域无关的, 它是解决一些抽象问题的, 但是系统架构是针对我们 要解决的实际问题的,是领域相关的。
13、我们可以通过对问题领域的分析、分解, 找到和我们要解决的问题匹配的模式,对该模式进行定制应用到我们的系统中 来。把模式结合在一起构建起整个系统架构来。面向模式构建的系统架构在需求发生变化时还会使我们处于一个非常有利的 位置,这是因为模式是针对一个反复出现的问题的优秀的解决方案, 它的设计方 法就是发现变化、 封装变化。 它本身已经充分考虑了变化的情况。 模式采用了一 种不同的对待变化的方法, 它不是预先考虑会如何变化, 而是考虑哪里可能会变 化,然后隔离,所以当变化发生时我们的设计就处于个有利的位置上。213 框架设计与应用设计框架的设计和应用的设计, 两者的侧重点不同。 设计应用系统时, 要
14、求对专用 领域的重要概念有深入的了解。 这些概念通过建模演变成类, 并作为实现整个应 用的构建块。而设计框架时,重点在识别出必须具备灵活性的地方,也就是“热 点”,这也是框架的关键所在。构件库系统基于框架而不是具体的类,使得构件 库系统的使用更具灵活性。 但在框架基础上构建具体的应用时, 类的使用和开发 总是随之而来, 在框架上生成应用可以通过创建子类、 配置各构件对象、 调整实 例等来获得。2. 2 STRUTS实现MVC模型的框架struts 最早是作为 ApacheJakarta 项目的组成部分问世运做的。 struts 这个 名字来源于在建筑和旧式飞机中使用的支持金属架。 它的目的是为
15、了帮助你减少 在运用MVC设计模型来开发 Web应用的时问。它提供了网站建设的基础框架。项目的创立者希望通过对该项目的研究,改进和提高 JAVASERVERPAGESJSP:、SERVLET标签库以及面向对象的技术水准。我们就是在对 J2EE 设计蓝本的充分理解以及对 struts 设计开发结构的整体研究的基础上来进行 的。2. 2. 1 MVC模型MVC(Model ViewController) 的概念应用的非常广泛, 它即可以是建立图形 界面的主体结构 (Architecture) ,也可以是软体的机制 (Mechanism、 ,又可以 称为应用架构 (Framework) ,或样式 (
16、Pattern) ,甚至思维模式等。MV(是一种建立在面向对象设计思想之上的编程方法和程序框架。它的思想即可以用于在面向对象的程序框架中实现面向行为的可视化界面设计, 也可以结合 目前应用于开发网络应用程序的 8s 结构,从而设计出专业化的框架模型进行 网站的设计、开发。本文的工作就是探讨如何在网站的开发过程中合理饷运用MVC莫型的设计思想,达到优化程序设计流程,提高网站运转的质量和效率。MV(最早出现在Smalltalk中,它通过创建三个层次来减少可视化界面引入面 向对象设计而带来的问题。其中的三个层次,也就是我们所讲的MVC 勺主要组成 部分222 体系结构struts 由一组相互协作的类
17、(组件)、SERLVET以及JSP TAG LIB组成。基于 struts构架的web应用程序基本上符合JSPMODEL的设计标准,可以说是hVC 设计莫式的一种变化类型。struts 有其自己的控制器 (Controller) ,同时整合了其他的一些技术去实现 模型层(Model)和视图层(View)。在模型层,struts可以很容易的与数据访问技 术相结合,包括EJB, JDBC和OBJECT RELATION BRIDG在视图层,struts 能 够与JSP. VelocitvTemplates ,XSL等等这些表示层组件想结合。2. 2. 3针对具体 Web开发,struts 框架的不
18、足之处struts 框架确实为我们进行网站的开发提供了一种新的思路,并在一定程度 上实现了框架。 但它作为一种研究性的项目, 针对实际的应用开发, 它仍有许多 方面没有进行充分的设计。 项目的开发需要的不是实现的可能性, 而是要能够为 整个开发过程 (包括每一个细节 )提供一套完备的解决方案。在我们的实际开发中, 我们需要底层能够提供良好的数据库访问管理手段, 对 于开发人员不需要去处理诸如数据库的连接配置、 连接池的管理、意外的捕获等, 只要了解的底层的接口, 便能在程序中进行数据库的相关处理; 对项目的高度抽 象方法,尽管我们用映射的概念可以对项目进行最大程度的描述, 但建立欧射本 身是一
19、件复杂的工作, 如何能提供一种方便的途径, 以快速、 方便的建立项目映 射也是减轻项目开发的一项任务;同样,针对B/s结构的Web开发,有效的保存页面之间的数据对于实现复杂的业务逻辑有很大的帮助作用; 如何跟踪程序的 运行、记录执行的状态,以及正确触b理产生的错误等等都是一个健壮的框架所 必须的功能。我们所设计的Webpum正是在这样的前提下进行开发设计的。2. 3 WEBPUM体系结构Webpum是在 J2EE平台上成功利用 JSP、SERVLET JDBC JAVABEAN XML等 多种技术,综合利用框架、设计模式等思想理论,面向Web进行应用开发的底层 框架。运用它,可以实现最大限度的
20、软件复用,并增强软件的健壮与灵活性,为 项目的扩展提供了可能。下面,我们首先根据Web通信的基本原理来逐步晒它的 体系机构进行详细的分析。2. 3. 1基于 Web的HTTP通信原理超文本传输协议(HTTP)位于TCP/IP之上,用于在Web浏览器和Web服务器之 间进行通信。我们在前面介绍的 CGI程序就是一个Web服务器提供的传统工具, 它为HTTP青求和响应提供了一个编程接口。 SERVLETS在一个Web服务器进程 内与HTTP请求和响应进行交互提供了一种简单的、更有效的基于JAVA的机制。HTTP1 一个无连接和无状态的协议,HTTP客户打开一个到HTTRK务器的连接, 发出一个HT
21、TP青求数据流,接收从服务器返回的HTTP向应数据流,最后关闭连 接2. 3. 2Webpum工具的开发Webpum是采用 J2EE技术,构筑 Website ApplicationFramework 的快速开发 工具。开发人员通过简单的可视化操作, 定义系统框架和业务模型, 通过代码生 成器自动生成系统的Framework和用户制定的程序模型代码。 WebPum提供的多 种功能的C1ass Lib,以及HTML和业务逻辑完全分离的处理机制,将缩短系统 开发周期,提高开发的品质和代码的复用,减少开发测试维护费用。2. 3. 3针对具体Web开发,需要解决的问题针对具体的网站开发我们需要解决的问题有: 频繁的Web更新及再构建;多平 台对应: 降低 CGI 编程的低性能; 减少设计、 开发的复杂性; 快速构筑 Website; 方便用户定制:加强了对业务模块的处理;多国语的支持。3 总结在本文中, 对各种传统的网站开发技术进行了深入的研究, 通过比较, 找出约 束网站开发技术发展的瓶颈。通过对J2EE的多层体系结构的学习和struts模型 框架的研究,结合公司多年进行项目开发的实际经验, 充分运用MV(模型的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安徽金太阳高三数学试卷
- 2024年画廊租赁合同
- 2024某品牌与广告公司广告推广合同
- 住宅高层建筑施工方案
- 彩虹作业五上数学试卷
- 2025二手工程机械买卖转让合同
- 2025装修装饰工程合同
- 2025房地产企业合同管理目前状况
- 保定2024数学试卷
- 桥梁桥墩加固施工方案
- 仓库管理培训课件
- 2024年居间服务合同:律师事务所合作与业务推广
- 大型活动音响设备保养方案
- 安全生产专(兼)职管理人员职责
- 公检法联席会议制度
- 成都大学《Python数据分析》2022-2023学年期末试卷
- 保险理赔岗位招聘面试题与参考回答(某大型央企)2024年
- 上海市市辖区(2024年-2025年小学五年级语文)部编版期末考试(上学期)试卷及答案
- 第10课《我们不乱扔》(教学设计)-部编版道德与法治二年级上册
- 期末试卷(试题)-2024-2025学年五年级上册数学人教版
- 护理安全警示教育-新-
评论
0/150
提交评论