《论基于MVC实现的电子政务系统.docx》由会员分享,可在线阅读,更多相关《论基于MVC实现的电子政务系统.docx(37页珍藏版)》请在三一办公上搜索。
1、基于MVC实现的电子政务系统摘要 随着计算机和信息技术的迅速发展,网络己经成为我们日常生活、学习和工作的基础设施。各种基于网络的分布式办公系统层出不穷,电子政务系统就是其中之一。电子政务系统利用网络可以将各种资源进行有效的组合,迅速提高政务活动的效率,是政府部门进行信息化建设的重要途径。迅速发展,不断变化的经济、社会内容决定了电子政务系统必须能够满足政务活动的多变性。因此如何使电子政务系统能够具有最大的可扩展性和重用性就成为电子政务系统开发中必须重视和解决的问题。MVC设计模式的核心思想就是分层设计,将显示逻辑、业务逻辑以及流程控制相互分离,分离不同的层次,分为模型层(Model)、视图层(Y
2、iew)、控制器(Controller)。各层次之间相互独立,接口清晰,祸合度低,模块间具有较大的独立性,从而增强了系统的可维护性和可扩展性。通过分层设计,各个层次的模块可由不同的开发人员开发,独立层次的模块扩展也将对其他层次模块的影响降为最低。这种特性恰恰满足了电子政务系统开发的需要。特别是J2EE平台出现之后,提供了各种成熟且功能强大的组件和容器技术。程序开发人员可以利用这些成熟的组件和容器技术,使之担任MVC各层次中的各个角色,降低了系统开发的难度,提高了系统开发的效率。Struts架构作为一种基于J2EE平台的框架,具体实现了MVC模式。Struts提供不同的组件工作于不同的层次,担任
3、不同的角色,并提供了丰富的标签库,大大增强了对视图层的支持,从而使电子政务系统的开发更加便捷。论文从理论上论述了MVC模式应用于电子政务系统设计开发的意义,对MYC模式的原理和组成结构进行了深入的分析,介绍了实现MVC模式的Struts框架的各个组成部分及控制流程.最后以作者实习期间参与的上海市人民政府外事办公室电子政务系统的子系统上海市因公护照签证管理信息系统作为开发实例,具体介绍了如何将MVC模式应用于电子政务系统设计开发中,以及在设计各个层次时应该遵循的具体规则和注意事项。并针对于上海市外事办公室特殊的网络环境,成功解决了数据同步的难题。关键字:电子政务,设计模式,MVC,Struts
4、J2EEAbstract With the development of the Computer Science and the Information Technology, thenetwork has become a kind of basic infrastructures in our daily life. Kinds of systemsbased on network appeared and the E-GOV System is one of them. The E-GOV Systemcan organize all the information effective
5、ly, share them among all the departments, andimprove the work efficiency greatly, so it is a kind of most important way to build the E-G4V. The content of economy and society which is developing quickly has decided thatthe E-GOV System should also satisfy the change of the active government. So it h
6、asbeen a pressing pmblem how to make the E-GOV System much more extensive and,reusable.The MVC pattern is a kind of layers pattern. It separates the whole structure intoseveral Layers: Mod呱View and Controller. All the layers exists separately,阮interfaceamong them is clear and make the coupling lowes
7、t. So this characteristic satisfies theneed of the E-GOV System. Especially it bases on the 12EE platform which provideskinds of components and containers which the developers caa use to be the roles in MVC.And it makes the development much easier and improves the efficiency greatly. Struts isa kind
8、 of framework based on the J2EE platform and realizes the MVC pattern. Besidesthese Struts give us large tag Jibs and improves the support about View.This paper introduces the advantages to apply the MVC to the development of E-G4V System development firstly. Then analyze the structure, the details
9、of the MVCpattern and the main parts of Struts framework which realizes the MVC pattern. At lastbased on the Shanghai Visa and Passport Management Information System, a subsystemof the Shan沙ai E-Gov System, the paper introduced details how to use the MVC tternduring the develapment of the systems.Ke
10、y words: liGov, Design Pattern, MVC, Struts, J2EE第一章引言1.1电子政务系统开发发展现状 20世纪90年代以来,伴随信息技术的发展,信息化已经成为各国普遍关注的焦点问题。在国家信息化建设进程中,政府信息化又成为信息化建设的重点。电子政务是政府信息化的主要形式,它是指国家机关在政务活动中,全面应用现代信息技术、网络技术,以及办公自动化技术等,进行办公、管理和为社会提供公共服务的一种全新的管理方式。美国的电子政务起源于20世纪90年代初。1993年,克林顿政府成立了“国家绩效评估委员会”,递交了创建经济高效的政府和运用信息技术改造政府两份报告,提出
11、应当用先进的信息网络技术克服美国政府在管理和提供服务方面所存在的弊端,这使得构建“电子政府”成为美国政府改革的一个重要方向,也揭开了美国电子政务建设的序幕。为保障政府信息化发展,美国还制定了一系列法律法规,对政府信息化发展起着重要的保障和规范的作用。我国电子政务建设起步较晚,2Q02年下半年国家也公布了其纲领性文件中共中央办公厅、国务院办公厅关于转发(国家信息化领导小组关于我国电子政务建设指导意见)的通知.经过几年的发展,我国的电子政务系统发展也取得了长足的进步,已经不再只是政务管理信息化形式的一种简单意义上的补充1,不少rr企业也将电子政务系统的设计开发作为自己的商业范畴。例如神州数码、方正
12、集团、浪潮集团、沈阳东软软件股份等企业已经有成熟的电子政务系统平台产品投入实际应用。 电子政务应用系统,对在机关政务活动中产生的信息资源进行采集、整合、管理等操作,以分布式的结构结合数据库技术,对整个信息资源进行检索、共享。随着Web开发技术发展日趋成熟,越来越多的电子政务应用系统转向基于浏览器的BIS系统架构,逐渐舍弃复杂的CIS结构,从而节省了软件的开发成本及开发周期。通过构建基于Web的分布式电子政务应用系统,实现了各类异构系统的互通互联、各类信息的全面共享,最终消除“信息孤岛”,达到政务机关信息共享化与智能化的目的2。1.2 MVC模式在电子政务系统开发应用中的意义 电子政务是由网络技
13、术和电子技术的进步与创新发展起来的,因此电子政务系统的开发涉及到多项技术的融合,例如:网络开发技术、数据库技术、信息安全技术、中间件技术、工作流技术等等,是一个庞大的系统工程。加之现在电子政务系统软件的开发没有标准的规范遵循,现在很多电子政务系统结构混乱,模块体积庞大、效率低、藕合度高,代码重用率低,从而导致很多电子政务系统重复开发,成本费用居高不下,系统功能可扩展性差,稳定性和可靠性低等弊端。 近年来,随着网络技术迅速发展,J2EE平台的日趋完善及广泛应用,基于BIS多层体系结构的Web应用程序已经成为分布式软件的首选模式,强烈的冲击着传统的C/S体系结构。在此大环境下,电子政务系统的开发也
14、逐渐向BIS模式靠拢。随着面向对象编程技术的深入发展,出现了多种框架模型,简化了应用程序的开发。框架式是可重用的,可以在他的基础之上开发特定的应用程序3,基于J2EE平台的MvC模式同样具有可重用的特性,为基于B/S的电子政务系统的开发提供完善的框架,成功的解决了在电子政务系统开发中所出现绝大多数的问题。 MVC设计模式是80年代Smallta1k80出现的一种软件设计模式,现在已经被广泛的使用。MVC的出现不仅实现了功能模块和显示模块的分离,同时还提高了应用系统的可维护性、可扩展性、可移植性和组件的可复用性。尽管MVC设计模式很早就已经被提出,但在早期的Web项目开发中,程序语言和HTML的
15、分离一直难以实现,而且脚本语言的功能相对较弱,缺乏支持MVC设计模式的一些必要的技术基础,因此在Web项目的开发中引入MVC却是步履维艰。直到基于12EE的3SP Model 2问世时才得以改观。它用JSP技术实现视图的功能,用Servlet技术实现控制器的功能,用JavaBeanIEJB技术实现模型的功能。 MVC设计模式成功解决了应用系统开发过程中所遇到的主要弊端,也为电子政务系统的开发提供了较为完善的解决方案,得到TT业内的支持。MVC设计模式的发展,具体实现MVC模式的各种架构也随之出现,其中不乏很多开源框架。Struts框架就是最为优秀的一种,得到市场的认可,Struts于2001年
16、7月正式发布,当前的版本是.2o Struts提供了构建基于MVC的应用程序的基础或框架,提供了核心的MVC功能,并附带了多个JSP标签库,因此能够更快、更轻松的开发基于MVC的Web应用程序。1.3本论文的研究目标和技术路线 本论文的研究目标是对Mvc模式进行深入研究,论述MvC模式各个组成部分(模型、视图、控制器)在软件开发中所担当的角色及功能,将MVC模式与其他软件框架模式进行比较,深入研究具体实现MVC框架模型的Struts框架技术,并将其应用于电子政务应用系统的开发中,结合J2EE平台技术,为电子政务应用系统的开发提供标准的MVC框架开发模式。本文中使用的开发实例是上海市外事办公室电
17、子政务系统的子系统上海市因公护照签证管理信息系统,此系统已经成功部署运行。1.4本论文的组织 本文的组织结构如下: 第一章引言。主要讲述电子政务系统开发的现状,以及Mvc设计模式应用于电子政务系统开发的现实意义。 第二章应用系统的体系结构。主要介绍应用系统的一般体系结构,如传统cps的两层体系结构、Bas系统的三层体系结构以及基于】2EE平台的多层体系结构。并根据对比给出了电子政务系统应该采用多层体系结构的理由。 第三章应用Struts具体实现MVC模式。本章将对设计模式的概念、MVC设计模式的核心思想和组成部分以及具体实现MVC设计模式的Struts框架进行论述,并详细论述Struts框架的
18、核心组件及流程控制等。 第四章Mvc模式在电子政务系统开发中的实例。本章将以上海市因公护照签证管理信息系统为例,具体研究如何在电子政务系统设计开发中具体应用Mvc设计模式及其具体实现架构sr框架。并介绍了系统本身的功能结构以及具体开发中所解决的难题。 第五章总结与展望。本章总结全文,指出本系统设计的不足及下一步工作的研究重点。第二章应用系统体系结构2.传统CIS两层体系结构 在应用程序发展的早期,由于受到硬件水平以及网络发展水平等外界因素的限制,以及对分布式系统没有过高的要求,传统的应用系统开发普遍采用crs技术的细分方法。2.3基于J2EE的Web多层体系结构 网络的发展迫切需要有效的企业系
19、统的开发,构建出高质量、高度可用的企业应用,多层体系结构应运而生。客户机不断被压缩,逐渐被浏览器所替代,因此也促使在进行系统设计开发过程中更加注重服务器的设计与开发,对服务器进行细分。在技术方面,应用服务器技术和容器组件技术的出现为企业级网络的分布式应用提供了优秀的技术支持,促使了这种趋势的发展和完善。 现在最流行和实用的分布式系统开发语言就是Javao Java语言从1995年出现以来,根据不同的市场需要,己经发展成三个不同的应用平台:J2ME, IZSE,J2EE.其中J2EE (Java 2 Platform, Enterprise F.cition)是Suu公司联合多家IT业大型公司,
20、把所有与企业相关的标准、API进行整合推出的企业级版本,是一个开发分布式企业级应用的规范平台,为程序开发人员提供了一个多层次的分布式体系结构和一系列开发技术规范。其中多层次分布式体系结构是指根据功能把应用逻辑再进行细分,每个层次支持相应的服务器和组件,组件在分布式服务器的组件容器中运行,容器间通过相关的协议进行通讯,实现组件间的相互调用。J2EE平台为服务器端的细分提供了不同的组件、容器以及规范,例如JSP, Servlet组件及应用服务器容器,EJB组件及EJB容器等等,各种不同的组件及容器部署在不同层次上,不同的层次可以部署在相同服务器或者不同服务器上。基于J2EE的Web多层体系结构图如
21、图2-3。图2-3 基于J2EE的Web多层体系结构 客户层可以是桌面应用程序,也可以是基于Web的应用程序,主要负贵向最终用户提供友好的可视化交互界面。本文主要研究基于Web应用系统的体系结构,因此担任客户层角色的应该为Web浏览器(Web Browser ),浏览器并不具备完善的逻辑处理功能,只是负责发送请求以及显示响应结果,可以下载静态的HTML页面或者由Web层生成的动态HTML页面,属于一种瘦客户端。 Web层产生表示逻辑。根据用户请求,接受请求参数,并调用业务层处理单元,在获得处理结果后动态生成表示单元返回给客户层浏览器。J2EE平台为Web层提供了JSP, Servlet组件及W
22、eb容器应用服务器。JSP和Servlet组件接受用户请求,并根据逻辑处理结果产生动态的显示页面。应用服务器则负责对JSP,Servlet等组件的管理工作。 业务层主要负责处理应用的核心业务逻辑,以满足特定业务领域的业务逻辑处理需求。12EE平台为业务层提供了EJB组件及E1B容器。E3B组件可以接收请求数据,对数据进行复杂的逻辑处理,如有需要可以将数据发送到企业信息系统层进行持久化操作,还可以根据需要检索数据,返回处理结果。EJB可以分为三种:会话Bean ( Session Beaa )、实体Bean ( Entity Bean )、消息驱动Bean ( MessageDriven Bea
23、n )。不同的EJB负责不同的功能,统一由EJB容器管理。通常情况下,许多企业应用将Web层和业务层一起发布,称为J2EE服务器。但ETB本身也存在内部结构复杂、体积庞大的缺点,因此在一般企业级应用系统中不建议使用EJB作为业务层的处理组件,而是建议进行轻量级开发。部分业务逻辑处理可以由JavaBean组件以及应用服务器容器所代替,从而降低程序开发难度,但大型企业应用仍然建议使用EJB组件. 企业信息系统层(EIS Ties)是处理企业数据信息的系统软件,包括ERP、数据库系统等等。主要负责对企业数据信息的管理、存储等持久化工作。本文所要介绍的上海市因公护照签证管理信息系统主要采用数据库系统。
24、 基于J2EE的Web多层体系结构对原来的服务器端功能模块进行了合理的细分,并提供了完善的组件及容器管理机制,可以有效地控制因重复开,增强应用系统的重用性,充分发挥了面向对象开发的优势。J2EE通过提供统一的开发平台,降低了开发多层应用系统的费用和复杂度,同时提供对现有应用系统集成的有力支持【5】【6】。2.4电子政务系统采用基于J2EE Web多层体系结构的理由 电子政务系统在实际应用中的易用性、健壮性、可重用性、可扩展性是系统设计首先考虑的问题【7】。因此既需要考虑更好的实现整个系统的设计开发,也要考虑到系统整体框架的特性以及未来的扩展性。基于J2EE的w多层体系结构所具有如下优势,正好满
25、足了电子政务系统以上要求: . J2EE利用Java平台来简化企业解决方案的设计、开发、部署和管理等相关复杂问题,也就具备了Java语言“一次编写,到处运行”的先天性优势,12EE平台本身具有平台无关性I【8】。. 2. J2EE平台提供了完善的组件,提高了系统的重用性。随着经济的迅速发展,社会内容的不断丰富,作为社会的管理者,政府的管理职能、地位和管理内容也再不断的扩充变化。电子政务系统的需求也随之变化,因此电子政务系统对重用性和可扩展性的要求不断提高。J2EE平台利用组件技术和容器技术提高了系统模块的重用性,可以方便的整合原有的电子政务系统,避免了不必要的重复开发。 3.易于部属,实用化。
26、由于基于IEEE的Web多层体系结构压缩了客户端的功能,属于BIS结构,在客户端只需要用户安装Web浏览器,而且现在市场上的主流操作系统都会绑定安装浏览器。另一方面,由于业务的不同,电子政务系统主要面向于政府工作人员,应用系统对工作人员的计算机水平不能要求太高,直接使用浏览器就可以对电子政务系统进行熟练的操作。基于JzEE的Web多层体系结构恰好满足了用户此种需求。 4.较强的健壮性和稳定性。电子政务系统一旦部署实施就需要全天候运行,因此需要较强的稳定性和健壮性。多层次结构虽然不能保证其中一层出现问题,其他层次不受影响,但最重要的数据信息作为单独的一层进行设计,可以保证在系统出现问题时,原有的
27、重要数据不会丢失。此外,多层体系结构将服务器端工作负荷和业务逻辑分布到不同层次上进行,不同层次的模块单元可以部署在不同机器上,避免了个别机器工作负荷太重的现象,因此降低了系统出现问题的可能性,提高了系统的稳定性。 S,节约系统开发成本.首先基于J2EE的Web多层体系结构使得开发人员不再过多的关注客户端应用程序的开发,只是需要设计用户交户界面即可,节省了系统开发在时间和人力上的开销。此外)2EE平台为程序开发人员提供了友好的功能完善的组件及其容器,开发人员可以从内部细节实现中解脱出来,更加关注系统整体逻辑设计。最后此种体系结构提高了系统的重用性和扩展性,可以较好的整合原有系统,避免不必要的重复
28、开发,从而缩短了开发周期,节约了开发成本。 鉴于以上优势,基于J2EE的Web多层体系结构已经成为进行电子商务、电子政务等基于wpb开发的首选方案。本文中所研究设计的上海市因公护照签证管理信息系统也采用此种体系结构。解决了系统的体系结构问题,下面的章节将研究系统将采用什么样的设计开发模式。2.5本章小结 本章按照软件体系结构从简单到复杂的顺序,首先简单介绍了传统的GS两层体系结构,针对于GS两层体系结构所暴露出来的缺陷,对比介绍了更加实用的sls三层体系结构。12EE平台的迅速发展,基于J2EE平台的多层体系结构由于具备成熟的组件及其容器技术,迅速发展起来,逐渐成为开发Web应用系统的首选体系
29、结构。这也是本章重点介绍的部分。本章的最后,结合基于J2EE的多层体系结构的优点,给出了电子政务系统开发采用此种多层体系结构的原因。第三章应用Struts实现MVC模式3.1软件设计模式概述 确立了系统的体系结构,了解到系统的关键部分已经集中到服务器端的各个层次的设计与实现,就需要一定的规范来帮助系统设计和开发人员对服务器端进行合理的设计与开发,这就涉及到采用何种设计模式的问题。设计模式的概念最初来源于城市建筑模式,但也同样适用于面向对象的软件开发中。在面向对象的软件开发中,设计模式就是特定环境中标准设计问题的重复性解决方案门。设计模式可以帮助开发人员在特定的环境里整理系统设计与开发过程中所面
30、临的问题以及欲采取的解决方案,为系统开发抽象出一种模型,并可以复用。每一个模式描述了一个不断重复发生的问题,以及该问题解决方案的核心,并可以一次一次的使用该方案而不需要重复开发。每个模式是由三部分组成的一个原则,这个原则描述特定环境、问题和解决方案之间的关系8】 设计模式的基本思想就是,公共的“习惯用法”在软件设计中被不断重复发现,因此这些模式应该被有意识的归纳整理,并用于类似的问题的解决上,一般而言,设计模式具有四个基本要素【9】. 1.模式名称(Pattern Name ) 一个助记名,用一两个词来描述模式的问题、解决方案和效果。命名一种新的模式就会增加一个新的设计词汇。设计模式允许开发人
31、员在较高的抽象层次上进行设计。基于一个统一的模式词汇表,开发人员之间就可以在讨论模式并在编写文档时使用。模式名称可以帮助开发人员思考,便于交流设计思想和设计结果,找到恰当的设计模式名称也是设计模式编写工作的难点之一。 2,问题(Problem ) 描述应该在何时使用设计模式。它解释设计问题存在的前因后果,它可能描述特定的设计问题,也可能描述导致不灵活设计的类或者对象结构。有时候,问题部分会包括使用模式必须满足的一系列先决条件。 3.解决方案(Solurion ) 描述设计的组成成分,它们之间的相互关系及各自的职责和协作方式。因为模式就像一个模版,可应用于多种不同场合,所以解决方案并不描述一个特
32、定而具体的设计或实现,而是提供设计问题的抽象描述和怎样用一个具有一般意义的元素组合(类或对象组合)来解决这个问题。 4.效果(Consequences) 描述模式应用的效果及使用模式应权衡的问题。尽管描述设计决策时,并不总提到模式效果,但它们对于评价设计选择和理解使用模式的代价及好处具有重要的意义。软件效果大多关注对时间和空间的衡量,它们也表达了语言和实现问题。因为复用是面向对象设计的要素之一,所以模式效果包括它对系统的灵活性、扩充性或可移植性的影响,显式的列出这些效果对理解和评价这些模式很有帮助。 设计模式都是从实践经验中抽象而来,是被“发现”,而不是“写作分出来E1el。设计模式不单描述对
33、象,而且描述对象之间的通信方式,并可以重用,使得更加简单方便的复用成功的体系结构,也使新系统的开发者更加容易理解设计思路,这也是设计模式得到市场和开发人员认可的重要原因。3.2 J2EE Web设计模式 如上所述,J2EE平台为B/S系统开发提供了各种成熟的组件及其容器技术,逐渐成为开发Web应用程序的主流。在应用J2EE平台开发Web应用程序时经常提到设计模式Model 1和Model 2,下文将对这两种具体的设计模式进行简单的介绍。3.2.1 Web设计模式Model 1 J2EE平台向程序开发人员提供了JSP组件。在ISP发展早期,由于其便于掌握而且能够便捷的进行Web应用程序的开发,很
34、快成为基于】2EE的Web应用程序的主要技术。在JSP页面中可以很容易的同时实现内容的显示,业务逻辑的处理以及流程控制,从而快速的完成应用开发。因此在早期的BIS应用程序服务器端模块几乎全部由JSP文件组成”i1,这种以JSP文件为中心的设计模式就叫Model 1.设计模式Model 1的结构图如图3-1所示。图3-1 Model 1结构图 Model I的基础是JSP文件.首先JSP文件接收到浏览器的Request请求,从I-ITTP的请求中提取参数,调用相应的业务逻辑处理HTTP会话,其中相应的业务逻辑处理单元或者数据库访问操作等也是JSP文件,也可能会借助一定的JavaBean类来处理一
35、部分比较复杂的业务逻辑,但是大量的业务逻辑仍然在JSP文件中处理。此外,JSP文件或者JavaBean类都可以直接对数据库进行操作。最后生成HTTP文档。一系列这样的JSP文件形成一个完整的Model 1应用。 在Model I中,JSP页面也可以独自响应请求并将处理结果返回客户。这个模型简单易用,能够可以很好的满足小型应用的需要。但是从工程化的角度考虑,它也有一些不足之处: (1)应用的实现一般是基于过程的,一组JSP页面实现一个业务流程,如果要进行改动,必须在多个地方进行修改。这样非常不利于应用扩展和更新。 CZ)由于应用不是建立在模块上的,业务逻辑和表示逻辑混合在JSP页面中没有进行抽象
36、和分离。所以非常不利于应用扩展和改动。大量使用Model 1,常常会导致页面被嵌入大量的Java代码。特别是当需要处理的业务逻辑比较复杂时,情况会变得非常严重。对于Java程序员来说,这不算大的问题,但如果开发者是前端界面设计人员,则代码的开发和维护将出现困难。在任何项目中,这样的模式总会导致定义不清的响应和项目管理的困难,因此不能满足大型应用的要求。 为了解决Model 1紧祸合、复用性差和维护成本高的问题yz,在开发大型系统中必须采用另外一种设计模式,这就是Model 2v3.2.2 Web设计模式Model 2 Model 2表示的是基于MVC模式的框架(如图3-2所示13b。Model
37、”代表应用的业务逻辑。 View”代表应用的表示面(由JSP页面产生).Controller”是提供应用的处理过程控制,负责接受客户端web浏览器发送来的所有请求,并依据处理意见的不同结果,转发到对应的JSP页面实现在浏览器客户端的显示。通过这种设计模型把应用逻辑、处理过程和显示逻辑分成不同的组件实现,这些组件可以进行交互和重用,从而弥补了Mode11的不足。Model 2具有组件化的优点从而更易于实现对大规模系统的开发和管理,但是开发这样的系统要比简单的JSP开发复杂的多,它需要更多的时间学习和掌握。这就要求开发人员必须以基于组件的方式思考和设计应用系统的结构。原来通过建立一组JSP页面就能
38、实现的应用现在需要对功能模块重新划分,需要变成多个步骤地设计和实现过程。其次的页面和组件必须在这种框架下实现,所以相应的增加了附加开发的工作。图3-2 Model 2结构图 由结构图可以看出,该设计模式的优势是很明显的。首先,它将计算和显示清楚地分开了,在JSP页面上没有出现处理过程,在业务逻辑或商业逻辑中没有数据格式。这种分离的另一个好处是程序员可以专注于后台逻辑单元代码的开发,HTML编写者可以专注于用户界面JSP的开发。其次控制器负责控制转向。在页面和逻辑中不会出现任何决策,这就提高了一个应用程序的性能和可扩展性,因为请求可以被导向架构的不同的组件,甚至是不同的服务器。 Model 2具
39、体实现了MVC设计模式的大体思想。MVC模式在交互式系统开发中具有强大的优势,因此被开发人员逐步引入J2EE体系之中,成为J2EE进行交互式应用开发时,特别是Web应用开发时的一个非常重要的设计模式。下面就对MVC设计模式进行详细介绍。rn基本设计模式 MVC (Model-View-Controller)设计模式,即模型一试图一控制器模式,源传统的面向对象语言smallTalk-80,早期它主要用于设计用户界面,是一个经典泊设计模式114。由于使用该模式设计的界面具有多窗口、交互式等特点,在20世燕80年代初期被许多系统采纳,如Macintosh和Windows。随着软件设计模式的出现和完善
40、,以及面向对象技术的成熟,MVC设计模式逐渐成为一种较完善的面卜对象设计模式,它所应用的范围也不再局限于界面设计。MVC设计模式是设计弓互式应用时广泛采用的一种设计模式,也是J2EE平台推荐在开发Web应用时使的设计模式。Sun公司推出的J2EE平台是一个面向对象的、完整的大型应用开蛋平台,MVC模式可以有效的提高分布式应用系统中组件的重用能力和事务控制白灵活性,分析系统的用户界面、业务逻辑以及业务流程控制。在互联网快速发展今天,MVC模式己被广泛应用在各企、事业 ERP、电子商务和电子政务等应用a统的开发中【15】 MVC模式的基本思想是将应用数据和业务逻辑、数据的表示以及数据的交互相分离,即分离为不同的实体,主要三个部分:模型(Model )、视图C View)和控制器(Controller)。下面将对这三个组成部分进行详细介绍,图3一显示了MVC模式三个主要组成部分之间的流程结构【16】: 图3-3 MVC设计模式结构图 MVC模式的处理过程为:首先控制器接收用户的请求,并决定调用模型进行处理:然后模型根据用户请求进行相应的业务逻辑处理,并返回数据;最后控制器调用相应的视图来格式化模型返回的数据,并通过视图呈现给用户【17】 视图(View):表示模型的状态,是应用系统的外观。对应电子政务、电子商务等Web应用中的用户界面层,视图是应用程序中用户