MVC技术

2024-06-07

MVC技术(通用10篇)

MVC技术 篇1

摘要:介绍了在JavaWeb的MVC模式下的Struts技术的原理与基本使用方法, 并且结合具体实例说明了Struts的优越性。

关键词:Web技术企业级应用,MVC设计模式,Struts技术

1 MVC设计模式概述

MVC设计模式是在20世纪80年代由Xerox PARC首先提出的,它的英文缩写为Model-View-Controller。它代表了三层模型:Model(模型),View(视图)和Controller(控制器)。MVC至今已被广泛地应用于软件架构的设计中,是Sun公司J2EE采用的关键模式之一,它推动着软件开发设计不断地前进发展。MVC的模式框架如图1所示。

1.1 Struts框架概述

作为MVC框架模式的一个具体实现,Struts不仅很好地将核心的三大组件分别应用到了基于MVC模式下开发的Web应用中去,而且在各层之中,Struts还整合了一些优秀的Java技术。

在逻辑表示层中,Struts整合了JSP, Velocity Templates, XSL等优秀的技术。

在逻辑业务层中,Struts又与JDBC、OR映射以及EJB等数据库访问技术相结合。

在逻辑控制层中,Struts有着自己强大的控制器组件,它们位于Struts的视图组件和模型组件之间,发挥着强大的协调作用。这样一来,Struts也解决了在Web中一直难于解决的关于业务逻辑和表示逻辑耦合度太高的问题,提高了Web系统的可维护性、可扩展性、可移植性和组件的可复用性。Struts的工作原理如图2所示。

1.2 Struts控制器

Struts的控制器组件由一个中心的Servlet和一些Action类实现,Struts的控制器组件的主要任务包括: (1) 接受用户请求; (2) 根据用户请求,指派特定的模型组件执行业务逻辑; (3) 得到业务逻辑的执行结果; (4) 根据执行结果和当前状态,选择下一个视图组件返回给用户。

控制器组件负责接受来自用户或其它组件的输入,处理数据,选择与转发到下一个视图,根据数据的处理结果可能还需要更新模型组件。

1.3 Struts视图组件

MVC模式中的视图负责实现动态内容的显示。在Struts框架中,视图主要由JSP页面构成。也许在以后,JSF会成为Struts视图组件的另一种不错的选择。

除了JSP页面,其它的视图组件还包括有:HTML文档、JSP定制标记、JavaScript和样式表、多媒体文件、消息资源、ActionForm。

其中,ActionForm是Struts框架包的核心组件之一,是Struts在视图上的核心特点的体现。ActionForm本质上是一种JavaBean,是专业的用来传递表单数据的DTO。因为ActionForm专门用来处理表单数据,因此根据表单数据的处理特点设置了一些特殊的功能,包括用于数据验证的validate()方法和用于数据复位的reset()方法。

1.4 Struts模型组件

模型组件是Struts框架理论中一项特殊的内容。由于Struts框架是基于MVC模式实现的,因此数据持久化逻辑部分应当在模型组件中实现。但是Struts框架是一个彻底的表示框架,因此也就没有在实际的模型层组件中实现,也就是说Struts框架将MVC中的模型部分委托给开发者选择任意的持久层来实现。

2 在Web中的应用

下面就通过一个具体的实例来说明Struts框架是如何成功地构建一个员工登录系统的。在员工登录网站时,应该首先进行对身份的验证,如果身份信息在数据库中为不存在或者是不合法的状态,则系统会处理这种错误。

具体使用Struts框架时,应该对应于以下的几个部分。

2.1 视图组件处理

员工登录模块中的视图组件实现了"登录"表单,其对应的视图组件文件为LoginActionForm.java,实现了表单数据验证:

2.2 控制器组件处理

LoginAction控制器从表单接受用户登录所用的编号和密码,进行数据库查询。如果员工身份合法,则可以继续访问网站;如果非法则回到登录页面。

2.3 数据持久化处理

此处借助Hibernate进行JDBC驱动、URL、数据库用户等的配置。

2.4 struts-config.xml处理

员工登录表单对应的组件类:LoginactionForm.

员工登录系统的请求:

参考文献

[1]李万龙, 吴雪莉.基于Struts框架的Web应用程序的实现[J].计算机技术与发展, 2006 (4) .

[2][美]Ted Husted, 黄若波, 程峰.实战struts[M].程繁科译.北京:机械工业出版社, 2005.

[3]耿刚.一种基于J2EE平台的WEB应用框架的设计实现与应用[J].西安电子科技大学学报, 2004 (1) .

MVC技术 篇2

关键词:MVC设计模型;Struts框架;Servlet;Jsp

中图分类号:TP311文献标识码:A文章编号:1009-3044(2007)15-30789-02

Research of Struts Frame Work Based on MVC Design Pattern

XIA wei

(Bengbu College of Modern Education Technology Center, Bengbu 233000, China)

Abstract:Struts is an excellent framework based on MVC design pattern for Web applications. It separates view and business logic and increases reusability and flexibility of the code for Web development. This paper briefly analyzes the principle of Struts framework technology and the implementing technology for model, view and controller of Struts based on MVC design pattern. And through a demonstration examples Struts Framework MVC model approach.

Key words:Struts framework; MVC design pattern; Servlet; Jsp

1 引言

当前,SUN公司提出的J2EE (Java 2 Enterprise Edition)已经逐渐成为企业Web应用开发的标准,这当中的Servlet/JSP技术也在众多网站得到了广泛的应用,然而,在仅使用JSP技术开发的Web应用中,业务逻辑处理、动态显示用的Java代码以及HTML混合在一起,使得阅读、调试和维护都困难重重。

为了使开发的Web应用具有良好的可扩展性和易于分工,我们必须要做到:

(1)将业务逻辑与用户界面分离;

(2)将动态页面显示逻辑与静态的HTML代码分离。

由Apache Jakarta项目组提供的Struts应用框架正是用来解决这些问题的,它基于MVC的设计思想,很好地实现了业务逻辑与用户界面的分离,同时,它提供了大量的自定义标记库,可以在JSP页面中分离动态显示逻辑与静态的HTML,使页面代码更清晰,可读性大大提高。

2 MVC设计模式简介

MVC是Model-View-Controller的简称,它是一种设计模式,来源于面向对象语言Smalltalk,最近几年被推荐为SUN公司J2EE平台的设计模式,它强制性地把应用程序的输入、处理和输出分开。MVC把应用程序分成3个核心模块:模型(Model)、视图(View)和控制器(Controller),它们分别担负不同的任务,以提高应用程序的可扩展性。图1显示了这几个模块各自的功能以及它们的相互关系。

图1 MVC组件类型的关系和功能

2.1 View

用户视图模块,这是用户界面部分。与Web应用程序一样,主管应用程序与人之间的接口。一方面它为用户提供了输入手段,并触发应用逻辑运行;另一方面,它又将逻辑运行的结果一某种形式显示给用户。

2.2 Controller

流程控制模块。该部分是用户界面与Model的接口。一方面它解释来自于View的输入,将其解释成为系统能够理解的对象,同时它也识别用户动作,并将其解释为特定方法的调用;另一方面,他处理来自于Model的事件和Model逻辑执行的结果,调用适当的View为用户提供反馈。

2.3 Model

事务逻辑模块,这是整个模型的核心。它表示的是解决方案空间真正的逻辑。它采用面向对象的方法,将问题领域中的对象抽象为应用程序对象。在这些抽象的对象中封装了对象的是属性和这些对象所隐含的逻辑。

2.4 MVC处理过程

首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理;然后模型根据用户请求进行相应的业务逻辑处理,并返回数据;最后控制器调用相应的视图来格式化模型返回的数据,并通过视图呈现给用户。

3 Struts体系结构

Struts框架是在MVC模式基础上开发的新一代Web框架,在它的支持下可以快速开发基于Web的应用,而且提高了MVC的分层应用。它的标记库具有强大的页面开发功能。Struts框架的处理流程清楚地体现了MVC系统的特点,简单的Struts组件结构如图2所示。客户端通过Browser发出请求后,请求被Struts的控制器ActionServlet获得,ActionServlet在Struts-config.xml配置文件中查找有效映射,然后将相应的ActionMapping对象转发给Action处理器对象进行处理。Action处理器对象访问ActionForm中的数据,处理和响应客户的请求,它还调用后台的Bean组件,这些组件封装了具体的业务逻辑。Action处理器对象根据处理结果通知控制器,控制器进行下一步的处理。

图2 Struts框架的组件结构图

3.1 控制器(Controller)

控制器的作用是从客户端接受请求,并且选择执行相应的业务逻辑,然后把响应结果送回到客户端。在Struts中Controller功能由图中ActionServlet和ActionMapping对象构成:核心是一个Servlet类型的对象ActionServlet,它用来接受客户端的请求。ActionServlet包括一组基于配置的ActionMapping对象,每个ActionMapping对象实现了一个请求到一个具体的Model部分中Action处理器对象之间的映射。

3.2 模型(Model)

MVC系统中的Model部分从概念上可以分为两类——系统的内部状态,和改变系统状态的动作。Struts为Model部分提供了Action和ActionForm对象:所有的Action处理器对象都是开发者从Struts的Action类派生的子类。Action处理器对象封装了具体的处理逻辑,调用业务逻辑模块,并且把响应提交到合适的View组件以产生响应。Struts提供的ActionForm组件对象,它可以通过定义属性描述客户端表单数据。开发者可以从它派生子类对象,利用它和Struts提供的自定义标记库结合可以实现对客户端的表单数据的良好封装和支持,Action处理器对象可以直接对它进行读写,而不再需要和request、response对象进行数据交互。通过ActionForm组件对象实现了对View和Model之间交互的支持。Struts通常建议使用一组JavaBean表示系统的内部状态,根据系统的复杂度也可以使用像Entity EJB 和 Session EJB等组件来实现系统状态。Struts建议在实现时把"做什么"(Action)和"如何做"(业务逻辑)分离,这样可以实现业务逻辑的重用。

3.3 视图(View)

Struts应用中的View部分是通过JSP技术实现的。Struts提供了自定义的标记库可以使用,通过这些自定义标记可以非常好地和系统的Model部分交互,通过使用这些自定义标记创建的JSP表单,可以实现和Model部分中的ActionForm的映射,完成对用户数据的封装,同时这些自定义标记还提供了像模板定制等多种显示功能。

3.4 配置文件

Struts是用XML来描述如何自动产生一些JavaBean的属性的,此外Struts还利用XML来描述在国际化应用中的用户提示信息。Struts-config.xml是Struts的关键,基本上所有的控制都是通过该文件实现的,通过该配置文件可以控制全局转发、ActionMapping类、ActionFormBean、JDBC数据源。另外利用资源配置文件applicationResources.properties可以实现消息的国际化和本地化。页面上的所有静态文字信息都可以定义在该属性文件中,不同语言可以定义不同的属性文件,并且改变页面文字信息时不用修改JSP而直接修改属性文件即可。

4 Struts简单实例

该实例的的主要功能是验证login登陆页面的用户名和密码,如果验证成功则显示登陆成功页面,否则,显示登陆失败页面。

4.1 视图部分

视图包括3个JSP文件:login.jsp提供用户界面,接受用户输入的用户名、密码,并提交登录请求到Action;success.jsp提供登录成功界面,取得Action转发的用户名,并提示该用户登录成功;error.jsp提供登录失败界面,取得Action转发的用户名,并提示该用户输入的用户名或者是密码错误,登录失败。

login.jsp的源代码如下:

<% @ taglib uri="/WEB-INF/Struts-form.tld" prefix="form"%>

UserName:

Password:

4.2 模型部分

模型包括一个JavaBean组件LoginForm,它有username,password两个属性,代表用户输入的用户名和密码。它提供了get/set方法,分别用来读取和设置username,password的属性。

LoginForm.java的源代码如下:

import org.apache.Struts.action.*;

public class LoginForm extends ActionForm{

public String username;

public int password;

public String getUsername() {return username;}

public void setUsername(String username) {this.username=username;}

public String getPassword() {return password;}

public void setPassword(int password) {this.password=password;}}

4.3 控制器部分

控制器包括一个Action类LoginAction,它的任务是从LoginForm中接收用户名和密码,判断如果用户输入的用户名是”zhangsan”,密码是”1234”,则登录成功,跳转到success.jsp;否则登录失败,跳转到error.jsp。

LoginAction.java的源代码如下:

import org.apache.Struts.action.*;

public class LoginAction extends Action{

public ActionForward execute(ActionMapping mapping,ActionForm form,

HttpServletRequest request, HttpServletResponse,response){

String userName=((LoginForm)form).getUsername();

int password=((LoginForm)form).getPassword();

if(userName.equals("zhangsan") && password.equals("1234")){

return mapping.findForward("success");

}else{

return mapping.findForward("failed");}}}

4.5配置文件

用户提交请求到Action以及Action处理完之后跳转到不同的页面都是通过ActionServlet来处理和转发的。而ActionServlet是根据配置文件Struts-config.xml中的映射信息来做出决定的。

Struts-config.xml的配置信息如下:

//定义FormBean

//定义ActionBean

//定义ActionForward

5 结束语

由于在MVC设计模式中,应用被分为三个部分,这样有利于在代码修改过程中选取重点,它还有利于三个部分并行开发,缩短开发周期,还增加了程序的可维护性、可扩展性,并使测试变得更为容易。由于它满足业务逻辑复杂的大中型Web应用的要求,因而也越来越受到广大编程者的青睐。由于篇幅有限,文中实例只是简单的讲述了Struts的用法,要想真正掌握其开发技巧,还须进一步掌握相关知识。

参考文献:

[1]孙卫琴. 精通Struts:基于MVC的JavaWeb设计与开发[M]. 北京:电子工业出版社,2004.

[2]丁鹏,刘方,邵志峰,等. Struts技术揭密及Web开发实例[M]. 清华大学出版社,2004.

[3]杨磊, 陈凌云. 精通Eclipse Web开发——Java体系结构、工具、框架及整合应用[M]. 人民邮电出版社,2006.

[4]戎伟,张双. 精通Struts-Java流行服务器、框架、工具及整合应用[M]. 人民邮电出版社,2006.

MVC与三层结构技术的应用研究 篇3

MVC是一种软件,是一种软件框架[1]。软件框架是对通用功能操作进行抽象的软件,这些抽象的功能操作的代码可以根据应用程序的功能要求有选择的改变,并复用框架代码,进而形成特定的应用软件。

就是把一些通用的功能,通过开发平台以代码和架构的形式表示出来,开发者通过框架提供的接口进行功能开发,可以复写框架代码,而不必从开始编写。框架提供了一些软件功能的默认实现,在特定的开发平台下,就是说开发平台已经代替开发者实现了一些通用功能并提供了相应的代码,开发者只需重写或添加功能代码。注意:框架内部代码不可重写;应用程序流程必须在框架内部。

三层结构技术[2]是一种设计架构模式,是一种软件的设计思想。可以把软件设计分为表示层、中间层和数据层,已利于软件功能的设计和实现,称为三层结构技术。

框架给出了应用程序的体系结构,设计模式给出了具体设计的解决方案;设计模式可用不同语言和不同方式来实现,而框架则是开发平台给出的设计和代码的混合体;设计模式与语言无关的,具体设计受制于开发平台框架的具体实现环境。利用框架开发软件应体现设计模式的基本思想,软件设计模式思想的实现要选择合适的软件框架并受制于框架。

2. MVC结构

2.1 组成

由Servlet(Controller)、JSP(View)、Java Bean(Model)三部分构成。Model是负责保持状态、数据的应用组件,通常这个状态持久于数据库之中。View是负责用户界面的组件(UI),通常这个UI是使用Model模型数据来创建的。Controller用来处理用户交互,控制器行为(Action)用来完成用户发过来的每一个请求,操作Model(模型)最终会选择用哪个View(视图)来显示UI的组件。

2.2 特点

视图、控制和模型分离,近一步提高了复用程度,三者可以独立变化,降低了耦合性并进一步提高了模块的复用性;合作效率得到充分发挥,开发成员的分工界面更加清晰;当出现问题时更容易锁定问题。

2.3 结构

3. 三层结构技术[3]

所谓三层体系结构,就基于Web的数据库开发而言就是在客户端与数据库之间加入了一个中间层,也叫组件层。

而软件设计的一般三层体系结构[4]分为:

(1)表现层(UI):就是展现给用户的界面,即用户在使用一个系统的时候展现在操作员或用户的所见与所得及其过程。

(2)业务逻辑层(BLL):针对具体问题的操作,对数据库系统而言也可以说是对数据层的操作,对数据业务逻辑处理和一些事务办理。

(3)数据访问层(DAL):该层所做事务是对数据库直接操作,针对存储数据进行数据的增添、删除、修改、更新、查找等功能实现。

完善的三层结构的要求是:修改表现层而不用修改逻辑层,修改逻辑层而不用修改数据层。这样就为软件设计提供了架构设计思想,利于代码的模块设计和功能的设计实现,修改和重组。

4. 三层结构在B/S上的应用

在Browser/Server三层体系结构下,应用软件三层结构设计的软件系统被分割为表示层(Presentation)、功能层(Business Logic)、数据层(Data Service)三个相对独立的单元。

第一层:表示层,Web浏览器上的软件设计。

表示层包含系统的显示逻辑,位于客户端。它的任务是由Web浏览器向网络上的某一Web服务器提出服务请求,Web服务器对用户身份进行验证后用HTTP协议把所需的主页传送给客户端,客户机接受传来的主页文件,并把它显示在Web浏览器上,相应数据由此被获得和显示。

第二层:功能层,具有应用程序扩展功能的Web服务器上的软件设计,实现数据处理和事务处理。

功能层包含系统的事务处理逻辑,位于Web服务器端。它的任务是接受用户的请求,首先需要执行相应的扩展应用程序与数据库服务器进行连接,通过SQL等方式向数据库服务器提出数据处理申请,而后等数据库服务器将数据处理和事务处理的结果提交给Web服务器,再由Web服务器传送回客户端。

第三层:数据层,数据库服务器上的软件设计,主要是对数据库直接进行数据处理。

数据层含系统的数据处理逻辑,位于数据库服务器端。其任务是接受Web服务器对数据库数据操纵的请求,实现对数据库查询、修改、更新等功能,把运行结果和数据提交给Web服务器。

5. 主要的MVC[5]

(1)Struts:Struts是Apache软件基金下Takarta项目的一部分。Struts框架的主要架构设计和开发者是Craig R.Mc Clanahan。Struts是Java Web MVC框架中不争的王者。

(2)Spring:Spring实际上是Expert One-on-One J2EE Design and Development一书中所阐述的设计思想的具体实现。

(3)Hibernate:Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。

(4).NET:.NET MVC是微软官方提供的以MVC模式为基础的.NET Web应用程序(Web Application)框架。

6. MVC与三层结构技术应用

传统的软件设计代码繁琐,代码模块间耦合性高,可重用性差,开发更简洁地设计一款代码整洁,耦合性低,可重用性更高,可扩展性更好的软件,MVC与三层结构技术被采用。

(1)Hibernate:Hibernate是一个开放源代码的对象关系映射框架;它是一个基于J2EE的java应用框架。Hibernate有六个核心接口,分别为Session、Session Factory、Transaction、Query、Criteria和Configuration。不仅进行持久化对象操作,还进行事务控制操作,通过这六个核心接口,业务逻辑和数据显示分离,体现了对象编程的思想。

(2).NET:在传统的.NET的WEB软件开发中,显示页面和逻辑页面,代码耦合性高,可维护性差,采用MVC架构,和三层结构技术有效地节约了代码开发工作量,表示层和业务逻辑层及数据层分离,降低了代码的耦合性,提高了系统的可维护性及可复用性。

仅仅使用了XML并不就是.NET应用,仅仅使用SOAP SDK调用一个Web Service也不是.NET应用。.NET是基于Windows操作系统运行的操作平台,应用于互联网的分布式。三层结构技术应用于分布式开发,极大地提高了代码的可读性和可移植性。基于ASP的集中式和Web Service的分布式开发,采用MVC和三层结构技术成为一股潮流。

7. 性能

7.1 可重用性

在使用MVC三层结构技术的软件设计中,代码重用有非常明显的效益和应用场合。使用MVC框架,编码工作需要逐步细化,可通过局部修改和重组,同时保持整体稳定性,因此能大量节省程序设计人员的时间,因此为一般人所接受。

7.2 简洁性

MVC已给出软件设计的框架,三层结构技术使表示层,业务逻辑层及数据层彻底分离,由此开发出的软件代码易于进行模块设计,功能分工更是简洁易于设计开发和使用掌握。

7.3 可移植性

功能模块的设计在该模式下易于实现,软件框架已给出,需要实现各种功能模块,三层结构模块的彻底分离,使软件设计的功能模块易于独立实现,并通过接口连接,实现数据和控制的交互。需要做得很大一部分工作是各个功能的细化,和独立实现,各个模块的耦合性低,可移植性增强。

7.4 可扩展型

软件各个部分和各个功能模块通过接口连接,更能的增减通过接口连接功能模块实现,因此软件的可扩展型非常高和容易实现,要做好软件模块的接口设计和功能代码封装。

7.5 可维护性

简洁的框架流程和模块设计思想,使软件的可读性增高,代码之间的耦合性低,和较高的可移植性,带来了软件维护工作的便利。使用MVC和三层结构技术使系统的可维护性显著增强和可行。

8. 结束语

MVC框架三层结构技术在软件设计和开发中有着广泛的应用市场和开发效益,随着Web和数据库技术的发展和推广,具有重要的作用和地位。MVC是一种软件框架,三层结构技术体现出一种设计思想。本文简要介绍了MVC和三层结构技术与区别,以及主要应用(包括在B/S的应用),并对MVC和三层结构技术开发软件的性能做了重要阐述,具有重要的研究意义。

参考文献

[1]温昱.软件架构设计[M].北京:电子工业出版,2007.

[2]徐爱兰.计算机软件开发中的分层技术探讨[J].计算机光盘软件与应用,2012,24:162-163.

[3]孟勋.基于面向对象技术的学校人员管理系统的设计与研究[J].科技创新与应用,2013,20:7-9.

[4]百度百科http://baike.baidu.com/view/687468.htm

MVC技术 篇4

关键词:MVC;教学资源库;权限

中图分类号:TP311.1

教學资源库的建设是促进教学资源共享的有利途径,是提高高职院校学生职业综合能力的重要手段。目前部分院校很重视教学资源库的建设,争先进行“数字化教学平台”的建设。但目前教学资源库的建设也存在着盲目性和认知上的偏差。[1]针对该状况,我们设计并开发了基于MVC的教学资源库管理系统。

1 MVC模型介绍

20世纪70年代,MVC模式在Smalltalk-80GUI设计中被提出[2]。MVC模式是软件架构设计中的一种重要思想方法,它把数据处理、输入输出控制以及数据表示分离开来,并且描述了不同部分的对象之间的通信方式,使其不必卷入彼此的数据模型和方法中,使程序结构变得清晰而灵活[3]。

MVC设计模式(模式—视图—控制器)是一种“分治”的思想,它将数据访问和数据的表现进行了分离。是将应用程序分为三个部分:模型(Model)、视图(View)和控制器(Controller)。

本系统采用MVC模式是因为它具有以下优点:

(1)可以实现数据和表现分离,使得添加或删除一个用户视图更容易,从而使程序的开发和维护更易。

(2)模型和视图可以单独开发,使程序的可维护性和可扩展性增强。

(3)交互性很强。

由此,为了便于系统后期维护、扩展以及降低代码的重用率,本系统采用MVC结构进行设计。

2 教学资源库管理系统的需求分析

该教学资源库管理系统的使用范围是学校,资源建设以专业为单位,已子库为要素。利用互联网技术和多媒体技术,为专业教师之间、教师和学生之间搭建资源共享的平台。

系统应具有资源上传与下载、资源审核、资源浏览、资源检索与查询、资源评价、资源统计、资源管理等功能,并要求资源访问不同用户有不同的权限。

3 主要模块设计

该资源库系统划分为后台系统管理模块、后台资源管理模块、前台资源展示、个人中心等模块。

3.1 后台系统管理模块

后台系统管理模块由系统管理员对系统的前台和后台进行管理,主要有系统管理、系统站点管理、基础数据管理、资源统计分析、用户管理、角色与权限管理等子模块。

3.1.1 系统管理

包括日志管理、系统在线用户管理。

日志管理:对系统产生的日志进行查询、删除。

系统在线用户:浏览当前在线用户。

3.1.2 系统站点管理

包括基本参数配置、资源类型设置、积分规则配置、新闻通知等。

基本参数配置:包括系统常规参数设置、子模块的添加、子模块的删除。

资源类型设置:设置各类可上传资源的类型。

积分规则配置:设置用户的初始积分、积分倍数、默认下载点数、最大点数、起始积分、奖励积分、增加积分等规则。

新闻通知:对上传新闻的审核、修改、或删除操作。

3.1.3 基础数据管理

包括基础数据的添加、修改、删除,主要包括:机构管理、专业管理、课程管理、班级管理、子库管理等。。

3.1.4 资源统计分析

包括单位浏览量统计、单位上传量统计、单位下载量统计、个人上传量统计、个人下载量统计。

3.1.5 用户管理

用户的添加、删除、修改、查询,支持批量操作,Excel文件导入功能,用户的会员类型包括:VIP会员、高级会员、普通会员,不同会员类型访问资源的权限是不同的。

3.1.6 角色与权限管理

为了保证系统和资源的安全性,引入角色和权限管理。权限列表包括:系统管理、系统站点管理、资源上传、资源预览和下载、资源评价等权限。系统默认提供的角色有系统管理员、教师、学生。可自定义其他角色,如教学管理员、会员等。每个角色可分配若干权限。每个用户可属于一个或多个角色。

3.2 后台资源管理模块

后台资源管理模块包括以下两部分:

3.2.1 已有资源的管理

将所有资源按国家标准进行分类,资源管理以专业为基本单位,专业下设子库,子库主要类型有:媒体素材库、文档素材库、试题库、案例库、标准大全库、教案计划库、特色专题库、课件库等,子库管理员即资源审核员,负责子库资源的日常管理:资源添加、删除、修改、资源使用率的统计分析等操作。

3.2.2 资源审核管理

由具有资源上传权限的用户上传资源,有子库管理员负责审核,审核通过资源才能发布。

3.3 前台资源展示

包括资源展示、资源检索、资源上传、资源查看、下载。

资源展示:提供多种导航方式,按课程导航,按子库导航,按专业导航等。不同的导航会使用不同的主页,主页展示可定制,每个课程、子库、专业都有资源展示界面。资源展示界面按资源类型分类设计,视频、图片类资源提供预览功能。

资源检索:可以在任意范围内检索,支持按关键字检索、全文检索、组合条件检索、模糊检索等,检索速度快。

资源上传:上传资源文件时显示进度条,可同时传多个文件,传图片资源时可一次传一个图集。

资源查看、下载:根据用户对资源的权限进行查看或下载。

3.4 个人中心

个人中心模块主要记录用户访问资源的历史情况,便于用户方便快捷的访问资源。主要包括:快速通道、个人信息、信息留言、我的上传、我的下载、我的浏览积分查询、个人书签等功能。

4 结束语

基于MVC的教学资源库管理系统大大提高了软件的可扩展性和重用性,保证了系统的稳定性、灵活性、易维护性,经过使用证明,完全满足了用户的需求。

参考文献:

[1]教育部财政部关于实施国家示范性高等职业院校建设计划加快高等职业教育改革与发展的意见[Z].教高[2006]14号,2006,11.

[2]曾艳阳,刘淑芬.高五星.MVC框架在指控仿真系统中的应用研究[J].微计算机信息,2010(26):79-80.

[3]陈乐.MVC模式在分布式环境下的应用研究[J].计算机工程,2006(32):62-64.

[4] 齐迎香.基于MVC模式的网络教学资源库平台的设计与实现[D].电子科技大学,2009:1-56.

作者简介:刘玉霞(1981-),女,山东日照人,讲师,研究方向:计算机应用技术。

MVC技术 篇5

关键词:MVC,JSP,JavaBean,管理信息系统

随着互联网技术的快速发展,Web应用程序开发技术得到了快速提升,有效促进了MIS系统在电子商务、金融证券、智能旅游、在线学习、电子政务等领域的普及和应用[1]。MIS系统的功能日趋完善和复杂,因此,为了提高MIS系统的开发效率,缩短开发周期,软件工程师提出了模块化、框架化的开发模式,利用成熟的B/S体系架构将系统划分为三个逻辑独立的层次,结合MVC和Java EE模式进行系统设计与开发,能够缩短系统开发周期[2]。

1 MVC模式及其在MIS系统开发中的应用

MIS开发过程中引入了云计算、B/S体系架构,构建一个分层的系统,这样就可以实现客户端、服务器端、数据库端逻辑独立,进一步改善了系统的可操作性。MVC模式主要包括三个关键组成内容,分别是模型、视图、控制器,可以实现MIS系统应用程序的输入、处理和输出[3]。在系统开发和实现过程中,三个组件逻辑独立、各司其职,通过接口进行通信和调用。模型代表应用程序数据及加工数据的方法;视图可以输出数据处理结果;控制器负责解释、集成和封装用户操作,将处理后的结果发送给模型,通过模型更新关联的视图,为人机交互提供可视化支撑[4]。MVC模式工作机制如图1所示。

(1)模型(Model)。Model是业务流程或业务状态制定的规则,在Java EE处理机制下,Model可以利用Java Bean处理应用程序数据访问和封装处理结果,模型可以接受视图发送的数据业务请求,并且将结果反馈给视图,整个处理过程对其他层次不可见[5]。Model是MVC模式的核心内容,其可以维护业务的持久性,业务模型设计是整个开发过程的重中之重,定义模型时需要对业务逻辑进行封装和集成,对外提供调用和操作接口参数。

(2)视图(View)。View负责调用和组合,同时可以显示系统处理的结果,目前,Web应用程序均采用HTML格式的交互界面,在Java EE技术实现过程汇总可以使用JSP与HTML相结合的模式实现一个动态视图,这样可以包含更加丰富的元素信息,比如表单信息、数据处理结果等。MVC的View仅仅负责用户发送的操作请求和数据处理结果,业务处理过程由控制器完成。

(3)控制器(Controller)。控制器可以应用于程序的定义,通过控制器可以将模型与视图有效匹配起来,共同完成用户的逻辑业务请求,其不仅可以将用户的输入按照语法规则解释为系统可以处理的语言,同时可以调用其他函数以响应用户的逻辑业务请求。

2 MVC模式在MIS开发中的关键技术

MIS设计采用MVC模式,可以在实现时划分为三个逻辑独立的层次,分别是表示层、逻辑业务处理层和数据业务处理层。表示层关联View,可以帮助用户通过浏览器登录系统,发送业务请求和查看处理结果[6]。逻辑业务处理层关联Controller,可以实现业务功能解析和处理;数据业务处理层关联Model,可以实现数据插入、查询、删除和修改等功能。

2.1 Model设计关键技术

Model可以采用Java Bean完成数据操作和处理。Java Bean是一个数据库访问组件,其可以封装数据库的连接、插入、修改、删除和查询应用程序,可以为用户提供接口文件,明确展示系统数据库接口操作的参数资源,这样就可以避免重复性的简单劳动,提高程序的重复利用率,进一步加快软件开发速度。Java Bean数据库连接组件需要保持稳定的、可靠的在线处理功能,为用户提供强大的数据库驱动程序加载、连接状态管理、在线数据传输等功能。数据库插入、修改、删除和查询数据库的Java Bean组件可以启动数据库内容的操作组件,这样就可以实现数据库内容的查询和更新操作。

2.2 View设计关键技术

MIS系统软件的前台交互页面均采用有效的动态页面处理技术,具备强大的分布式管理系统业务处理、业务反馈等功能,可以为用户提供友好的软件应用系统架构技术,满足Web应用程序的设计与实现,为用户提供强大的系统处理功能。View设计采用动态的JSP程序页面技术,JSP是SUN公司提出的一种适用于MVC模式的动态Web应用程序开发技术,其可以更好地实现网络节目动态处理、实时更新功能。JSP可以与HTTP、IP传输协议等构建一个完善的操作管理机制,为用户提供一个超大规模组件,将用户的逻辑业务请求存储到标签中,进而可以连接启动数据页面处理组件的程序,将用户的逻辑业务请求发送到服务器中,方便服务器进行操作和处理。JSP采用了面向对象的操作处理机制,可以在MIS系统开发中引入云计算、移动计算等先进技术,在MVC模式的基础上构建了一套与硬件设备、操作系统无关的应用程序,并且实现互联网接入和处理,引入了Internet标准与XML技术,JSP工作模式如图2所示。

2.3 Controller设计关键技术

Controller负责MIS系统业务处理和加工,用户通过View向应用服务器发送逻辑业务请求,一般情况下,Controller负责解析逻辑业务程序操作内容。逻辑业务请求分为两种,一种是单纯的逻辑业务处理请求,另外一种是包含数据业务处理的逻辑业务请求,因此,应用服务器可以通过数据库SQL语法规则,识别逻辑业务请求中包含的SQL语句,这样就可以通过数据库访问组件将其发送到数据库管理系统中,数据库管理系统就可以实现数据库处理功能。另外,Controller还可以为用户提供强大的服务器安全验证功能,这些组件采用了强大的与用户信息和身份验证相关的操作协议,利用256的DES数据加密技术,采用角色控制和权限控制方法,进一步提升了服务器操作安全性,以便能够进一步提升信息安全保护能力,防御木马和病毒的威胁。

3 结语

MVC模式采用了框架设计的基本思想,其可以有效缩短网络应用程序开发周期,提高MIS系统的软件可维护性、代码复用率,可以提高软件开发效率和质量,并且能够基于Java EE进一步改善MIS系统程序的可移植性,在未来MIS系统升级、扩展、重用等方面具有较强的优势,有效配置相关的逻辑业务处理文件,便于系统运行和维护。

参考文献

[1]戴朝晖,吴敏.基于MVC模式的Web管理信息系统分析与设计[J].中南工业大学学报:自然科学版,2013,34(4):413-415.

[2]李树人,韩芳溪,郭春燕.基于J2EE/MVC的就业管理信息系统的研究[J].计算机工程与设计,2014,29(4):987-990.

[3]曾令强.MVC模式在高校科研档案管理信息系统中的应用研究[J].科技管理研究,2014,30(14):130-133.

[4]刘彭和,李旻朔.基于MVC模式的实验教学管理信息系统的研究与开发[J].电脑知识与技术,2012,8(7):1710-1712.

[5]葛文庚,郭斐斐.基于MVC模式的物流管理信息系统的设计与实现[J].电脑知识与技术,2015,6(22):6135-6136.

MVC技术 篇6

当前网络规模的不断扩大,其发展日益呈现出异构性、动态性、服务层次多样性的特点。具体表现在:

(1)多种信息的融合支持。随着网络规模和应用的日趋复杂,现代网络系统的管理已经从单一的网络管理需求发展到包括拓扑管理、流量管理、信息管理、系统管理、安全管理等多种管理需求,面对如此繁多复杂的管理系统,如何有效地整合这些信息资源,融合海量数据并从中提炼出对网络管理有直接指导意义的信息是十分迫切的要求。

(2)综合态势管理支持。网络管理要求提供多样化的管理行为,要求网络态势管理做到对象可见、状态可视和行为可控。对象可见,就是管理系统中包含被管对象的详细信息,包括网络拓扑信息、网络资源信息等;状态可视,就是要知道网络的运行态势,了解网络流量、故障、网络资源的运行状况等;行为可控,就是可以控制网络和应用系统的行为。

(3)多环境、多系统互操作、协同管理支持。现代网络系统在大规模的、分布的、异构的复杂网络和多管理域环境下运行, 这就要求管理能够跨网络、跨管理域运行,并解决多管理域间的互通和互操作问题。

(4)对网络系统管理个性化需求的快速响应支持。信息系统的管理功能越来越丰富,规模越来越大,用户二次开发需求越来越高。这需要解决管理软件开发效率、软件可维性和可扩充性等问题。

这些变化对现代网络管理的应用和任务的分布性、网络管理规模的可伸缩性、网络管理系统间的互操作性、网络管理方式的动态性和开放性提出了更高的要求。

将MVC设计思想应用到现代综合网络管理中有以下鲜明的特点:层之间的松耦合使得网络管理中的各个层次在其需求变化时可以单独改变;网络管理功能的扩展和性能扩充比较容易,提高了灵活性和可伸缩性;使网络管理系统的性能下降现象或故障表现局部化;网络管理中部分资源可被有效的共享和重复利用。包括数据库连接、线程甚至组件本身;降低了部署和维护的开销;有利于明确开发人员分工,降低开发难度;网络管理的客户端非常轻,适合于Internet接入。

本文首先提出了四层结构的综合网络管理体系结构INMA,在该体系结构的基础上进一步研究了MVC构建技术、大型应用系统管理技术和分布应用系统管理与系统间信息交换协议技术,并设计了MVC构架网络管理系统。

1 网络管理体系结构INMA

综合网络管理框架是一种“集中式管理、分布式控制”的管理模型,由四层组成,如图1所示。位于最底层是被管对象层,它由多个网管代理(Agent)和各种资源组成,网管代理负责收集资源的信息和响应网元管理者发过来的轮询信息,同时还要在被管资源出现故障时产生Trap信息,向网元管理者发出告警。它支持的网络管理协议有TCP/IP的简单网络管理协议SNMP、TL1(Transaction Language 1)、命令行接口协议CLI(Command Line Interface),基于OSI的通用网络管理协议CMIP和CORBA等。

第二层网元管理层包括多个网元服务器,它们是网络中不同的物理域的子管理者,每一个网元服务器负责管理各自域内的所有资源,完成资源分布、资源配置和资源状态信息的收集、转发和事件报告等功能。接收上层网络管理层发布的策略信息和控制信息。

位于第三层网络管理服务器由众多分布的网络管理服务构成,网络管理服务提供两大类网络管理功能,一类是常规网络管理服务,一类是用户定制的网络管理服务,这两类服务都被封装成标准的Web服务供外部系统使用。

最高层的系统管理服务器由多个应用系统管理代理(System Management Agent SMA)和资源数据库组成。一个SMA管理一个应用服务。SMA查询资源数据库,建立应用相关的资源列表;通过平台API与下层的网络管理服务器进行交互,完成资源状态更新和信息查询。

2 网络管理体系结构INMA关键技术

2.1 MVC设计模式的应用技术

MVC(Model/View/Control)体系结构是为那些需要为同样的数据提供多个视图的应用程序而设计的。MVC体系的目的是从用户输入控制中分离用户显示信息,它强制性地使应用程序的输入、处理和输出分开,MVC应用程序被分成三个核心部件:模型、视图、控制器,它们各自处理自己的任务。

(1)视图部分使用JSP动态页面设计技术实现,通过获取用户输入,并将请求传递给控制器,控制器将业务逻辑处理交给模型,控制器将模型处理后的结果转交表现视图,视图通常采用JSP标记语言,由视图组织页面返回给浏览器。

(2)控制器接受用户的输入并调用模型完成用户的请求,所以当通过GET和POST方法发送HTTP请求时,控制器对输入参数进行验证后调用模型构件去处理请求,最后将模型的执行结果通知视图,视图根据控制器提供的数据决定如何为用户产生视图。

(3)模型表示企业数据和业务规则,在MVC的三个部件中,模型拥有最多的处理任务。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。

在综合网络管理系统中使用MVC设计模式能够有效地对管理系统软件进行解耦合,相对独立的视图、模型和控制器非常有利于进行单元测试。MVC对于建立稳定和灵活性更强的综合网络管理系统有着重要意义。

2.2 大型应用系统管理技术

大型网络应用系统的特点表现在用户多、结点多、资源丰富,通常与应用相关的资源跨多个物理网络,由多个网元服务器共同管理。这些网络应用系统需要端到端的服务质量保障,需要在公共网络上构造高安全的私有安全系统。

定义1 物理管理域(Physical Domains)定义为任一网元服务器管理区域内的所有资源,对于任意的网元服务器NESi,它对应的管理域表示为PDNESi

定义2 虚拟管理域(Virtual Domains)对于任意应用服务Aj,与Aj相关的所有资源所在的区域构成了服务Aj的虚拟管理域,表示为VDAj

从而可以得到物理管理域和虚拟管理域之间有以下的映射关系。

(1)VDAj={PDNES1,…,PDNESk},k∈[1,N],N为网元服务器的总数。

(2)对任意两个应用服务AiAj,VDAiVDAj≠〉。也就是说两个应用服务的虚拟管理域可能重叠。

应用服务是由与之相关的所有资源构成的。

定义3 应用服务Ai的资源集合RSi={Ri1,…,Ril}表示为与应用服务Ai相关的所有资源的集合。对任意RSijRSijRSi,表示为由网元服务器NESj管理的应用服务Ai的资源子集。对任意两个RSijRSikRSijRSik≠〉,也就是说,多个网元服务器管理的资源可能重叠。

一个应用服务代理SMA管理一个应用服务。应用服务代理查询资源数据库中建立的与应用相关的资源列表;同时通过平台API得到下层网络管理服务器的事件通知后,更新它所维护的服务。

资源代理(Resource Broker RB)的主要作用是访问资源目录服务。SMA给RB发送它所包含的服务资源列表,RB然后就在应用服务和相应的网元服务器之间建立了联系。

2.3 分布应用系统管理与系统间信息交换协议技术

跨Internet/WAN的大型应用系统其系统规模和提供的应用服务十分复杂,它通常分布在多个自治网络环境中,而各个自治网络之间通常设置防火墙和访问控制,在此基础上构建分布式网管平台,一个最大问题是如何解决分布式网管平台中的信息交换问题,处于自治网络环境中的网元服务器如何和处于另外一个自治网络环境中的网络管理服务器之间相互通信、交换信息。

SOAP(Simple Object Access Protocol) 使用XML和标准规范来定义不同系统之间的沟通,封装通信协议,并且通过HTTP传送到远程的系统之中,可解决以往难以解决的集成的困难。另外,HTTP使用的端口 80是所有系统接受的标准,即使是使用防火墙也会允许使用Port 80来进行Internet/Intranet的存取工作,但是对于其它的Port却可能使用防火墙来阻挡,所以SOAP可以顺利穿越防火墙进行数据通信和远程调用,而其他的组件技术却做不到。SOAP是定义如何封装信息的标准,而使用SOAP功能规格封装的信息称为SOAP包(SOAP Packet)。SOAP包由标准而固定的元素组成,然后使用标准的规则封装交换的信息,因此使用SOAP标准沟通的双方就可以遵照SOAP标准而解析并且了解SOAP包中封装的信息意义,进而达成交换信息的目的。

3 基于MVC综合网络管理系统的实现技术

综合网络管理服务器由三个构件组成,它们是业务处理、业务控制与界面处理,如图2所示。业务控制构件响应浏览器请求,调用相应的业务处理构件完成请求要求的操作,决定返回的页面;业务处理构件完成业务控制构件交给的具体业务,这些业务可能包括与网络上的其它系统通信、访问数据库等等;界面处理构件在业务控制构件的指导下,根据业务处理构件的执行结果,生成返回给浏览器的页面。构件的结构符合MVC设计模式INMA服务类图如图2所示。

业务控制工作由BussinessRequest(业务请求)类、BussinessController(业务控制)类完成。BussinessInfoMonitorController(业务信息监视控制)类、SystemStateMonitorController(系统状态监视控制)类、BussinessInfoQueryController(业务信息查询控制)类、QueryCommandController(查询指令控制)类、ControlCommandController(控制指令控制)类、RegisterCommandController(注册指令控制)类、SettingController(配置控制)类继承BussinessController(业务控制)类,以响应浏览器请求,调用相应的业务处理类完成要求的操作,并返回相应的JSP页面。

界面处理工作由TopoDisplayApplet(拓扑显示程序)类、TrafficMonitorDisplayApplet(流量监测显示程序)类和FaultManageDisplayApplet(故障管理显示程序)类等一系列JSP文件完成。在业务控制类的指导下,根据业务处理类的执行结果,生成返回给浏览器的页面。

业务处理工作由BussinessProcess(业务处理)类及其子类SystemStateMonitorProcess(系统工况监视处理)类、BussinessInfoMonitorProcess(业务信息监视处理)类、BussinessInfoQueryProcess(业务信息查询处理)类、QueryCommandProcess(查询指令处理)类、ControlCommandProcess(控制指令处理)类、RegisterCommandProcess(用户注册指令处理)类、SettingProcess(配置处理)类完成。这些类封装为JavaBean,完成业务控制类交给的具体业务。

其它辅助类还有JDBCAccess(JDBC访问)类、CommandListener(指令监听)类、RMICommunication(RMI通信)类、SOAPCommunication(SOAP通信)类、WatchDataTransfer(实时数据接收类)及其接口、MonitorException(监控异常)类,用于提供一些底层服务,辅助业务处理类完成具体业务。

其中,BussinessRequest(业务请求)类负责存储业务请求数据。BussinessController(业务控制)类控制监控服务流程,是所有业务控制类的父类。BussinessInfoMonitorController(业务信息监视控制)类控制业务信息监视服务流程。响应浏览器请求,调用相应的业务处理JavaBean完成业务信息监视需要的查询操作,调用相应的JSP页面进行显示。BussinessInfoMonitorController类是BussinessControl类的子类。它们类定义如下。

4 结束语

网络管理在组网、建网和管理维护中的重要地位已成为计算机与信息技术领域专家的共识。综合网络管理集通信技术、网络技术和信息处理技术于一身,通过调度和协调资源(信息、设备、应用等),进行配置管理、故障管理、性能管理、安全管理、应用管理、系统管理、信息管理等多方面的管理,达到网络信息系统可靠、安全和高效运行的目的。本文提出了四层结构的综合网络管理体系结构INMA,在该体系结构的基础上进一步研究了MVC构建技术、大型应用系统管理技术和分布应用系统管理与系统间信息交换协议技术等关键技术,并实现了MVC构架综合网络管理系统。

摘要:针对当前对网络管理的日益需求,提出了适应大型通信网络和网络应用的综合网络管理体系结构INMA,在该体系结构基础上,研究了MVC设计模式在综合网络管理中的应用技术、大型应用系统管理技术和分布应用系统管理与系统间信息交换协议技术等关键技术,设计并实现了基于MVC架构的网络管理系统。

关键词:MVC,系统管理代理,SOAP

参考文献

[1]Kar G,Keller A,Calo S.Managing Application Services over ServiceProvider Networks:Architecture and Dependency Analysis[C]//Pro-ceedings of the 2000 IEEE/IFIP Network Operations and ManagementSymposium(NOMS2000),Honolulu,HI,USA,2000:61-74.

[2]Keller,Kar G.Classification and Computation of Dependencies for Dis-tributed Management[C].The Fifth IEEE Symposium on Computersand Communications(ISCC 2000),France July 4-6,2000,Antibes.

[3]Ktker S,Paterok M.Fault isolation and event correlation for integratedfault management[C]//IM’97,1997.

[4] Lobo J, Bhatia R, Naqvi S.A policy description language[C]//Proc. of AAAI, Orlando, FL, July.1999.

[5] Strassner J,Elleson E.Terminology for describing network policy and services[R].Technical Report draft-strassner-policy-terms-01.txt, IETF, February 1999.

[6] Paul V Biron, Ashok Malhotra. XML Schema Part 2: Data Types. 2[EB/OL].[2001-05].http://www.w3.org/TR/2001/REC-xmlschema-2-20010502.

[7] Fielding R, Gettys J, Mogul J C,et al.Hypertext Transfer Protocol-HTTP/1.1. RFC 2616[S]. January 1997.

[8]Brown A,Kar G,Keller A.An Active Approach to Characterizing Dy-namic Dependencies for Problem Determination in a Distributed Appli-cation Environment[C].IEEE/IFIP International Symposium on Inte-grated Network Management,2001:377-390.

[9] Paul V Biron, Ashok Malhotra. XML Schema Part 2: Data Types.[EB/OL].[2001-05].http://www.w3.org/TR/2001/REC-xmlschema-2-20010502.

MVC技术 篇7

1 MVC模式

MVC是Model-View-Controller的缩写, 是Xerox PARC在20世纪80年代为编程语言Smalltalk-80发明的一种软件设计模式, 在框架发展过程中, 诞生了很多设计模式, MVC是一种很好的设计模式, 它将应用分成模型层、视图层和控制层3个层次, 这3个部件既能相互独立工作又能协同工作, 从而使同一个应用程序使用不同的表现形式, 即把一个应用的输入、处理、输出流程按照不同的方式进行分离。

MVC模式是一种交互界面的结构组织模型, 能够使软件的计算机模型独立于界面的构成。3个层次有各自的作用, 其中模型部件是软件所处理问题逻辑在立于外在显示内容和形式情况下的内在抽象, 封装了问题的核心数据、逻辑和功能计算关系, 独立于具体的界面表达和I/O操作;视图部件是把表示模型数据及逻辑关系和状态的信息, 以及特定形式展示给用户, 从模型层获得显示信息, 对于相同信息可以有多个不同的显示形式或视图;控制部件是处理用户与软件的交互操作的, 其职责是控制提供模型中任何变化的传播, 确保用户界面与模型之间的对应联系;接受用户的输入, 将用户的输入反馈给模型, 进而实现对模型的计算控制, 是使模型和视图协调工作的部件, 一个视图通常具有一个控制器。

2 Struts2概览

Struts是一个基于SunJ2EE平台的MVC框架, 主要是采用Servlet和JSP技术来实现的。Struts2的体系与Struts1体系的差别非常大, 因为Struts2使用了Web Work的设计核心, 而不是使用Struts1的设计核心。Struts2大量使用拦截器来处理用户请求, 从而允许用户的业务逻辑控制器与Servlet API分离, 同时, Struts2框架又在Web Work的基础上增加了新的内容, 使得该框架更加适应当今的开发需求, 由于Struts2能充分满足应用开发的需求, 简单易用, 敏捷迅速, 颇受开发人员关注。Struts2把Servlet、JSP、自定义标签和信息资源整合到一个统一的框架中, 开发人员利用其进行开发时不用再自己编码实现全套MVC模式, 大大的节省了时间, Struts2是一个很好的应用框架。

3 Struts2框架实现MVC模式

Struts2框架是一个基于MVC模式的框架, 框架中集成大量内容, 使用API编写拦截器和监听器, Struts2作为一个开源的资源, 其成为基于MV C模式的Web应用开发中最受欢迎的框架技术。Struts2框架由于基于MVC模式, 故其同样由3个层次构成, 分别为:模型层、视图层和控制层, 其中模型层由实现业务逻辑的Java Bean组建构成, 视图层由Jsp文件实现, 控制器是由Action和Action Servlet构成。在开发项目时要具有Struts功能, 要经过四个步骤:首先要将支持Struts功能的包导入项目的Lib包中, 已提供其开源的资源;第二配置web.xml文件, 即编写Struts过滤器;第三编写Struts业务逻辑控制器, 实现Action接口;最后配置Struts的配置文件struts.xml文件, 文件要放在项目的src文件下。这四个步骤是配置基本信息和编写3个组件, 完成后即项目具有了Struts功能。

3.1 模型层—Model

Action在Struts2框架中作为模型而存在的, 主要包括两个功能:调用业务逻辑处理请求和进行数据的传递。模型层就是Action类, 用户的请求通过控制层向Action类转发过程是由struts.cfg.xml配置文件完成的, 通常是一个模型层对象与一个请求页面相对应。Action主要处理业务逻辑, 完成具体的处理过程与对数据库的访问和相应页面的跳转, 使整个应用的核心部分, struts.xml文件管理所有的Action, 是Struts2框架的核心配置文件, 当Action对请求处理完毕后, 会返回一个逻辑视图。

3.2 视图层—View

视图层主要是由jsp (Java Server Pages) 文件组成, jsp通过将动态代码嵌入到静态的HTML或XML中, 从而产生动态的输出, jsp技术也是基于java servlet技术, 使用servlet充当控制器, 使用jsp生成视图界面。在Struts2框架中, 视图可以有不同的表现形式, 当视图组件接收到Action返回的逻辑视图后, 会查找对应的物理视图资源, 并返回给客户。使用Struts框架提供的标签库, 软件开发人员和页面设计人员可以独立地自由工作。页面设计人员可以把精力集中在使用标签 (HTML, XML或者JSP) 创建网站上, 而软件开发人员则可以将精力集中在实现底层功能上面, 这样, 页面设计人员可以使用自定义标签的形式来实现具体的功能。

3.3 控制层—Controller

Struts框架中作为控制器的是Filter Dispatcher, 是一个Servlet过滤器, 当客户端进行请求时, 首先要经过Filter Dispatcher过滤, 由Filter Dispatcher决定由哪个Action来处理当前的请求。Struts控制器进行接受用户请求和模型的更新与指定相应的视图反馈给用户。

4 结语

Struts是一种主流的基于MVC模式的Java Web应用开发框架, 其设计理念从本质上减轻了开发的工作, 因为Struts框架拥有自带的系统标签库, 采用Struts2框架实现MVC模式充分的体现了Java面向对象语言的功能和与平台无关的特点, 使开发人员着力编写设计Jsp文件与业务逻辑以及与数据库的交互, Struts2是一个雅致的, 可扩展的, 用来建立企业级Java Web应用程序的框架, 其不但注重程序的开发过程, 更注重部署和后期维护。这样可以大大的减轻构造负担, 可以有效的提高开发效率, 又可以提高系统的可维护行和移植性、可扩充性。

摘要:随着信息化和网络化的普及, JavaWeb开发技术的使用与越来越多, 基于MVC模式的Struts框架受到很多技术人员的青睐, 本文从讲述MVC模式和Struts2框架的运作原理出发, 分析了Struts2框架实现MVC模式的原理, 详细的阐述了在开发中模型层、视图层和控制层的工作原理及特点。

MVC技术 篇8

1. MVC设计模式

MVC (Model-View-Controller) 由Trygve Reenskaug提出, 首先被应用在Small Talk-80环境中, 是许多交互和界面系统的构成基础。根据界面设计可变性的需求, MVC把交互系统的组成分解成模型、视图、控制器三部分。模型 (Model) 是软件所处理问题逻辑在独立于外在显示内容和形式情况下的内在抽象, 封装了问题的核心数据、逻辑和功能的计算关系, 独立于具体的界面表达和I/O操作。视图 (View) 把表示模型数据及逻辑关系和状态的信息及特定形式展示给用户。它从模型获得显示信息, 对于相同的信息可以有多个不同的显示形式或视图。控制器 (Controller) 是处理用户与软件的交互操作的, 其职责是控制提供模型中任何变化的传播, 确保用户界面于模型间的对应联系;它接受用户的输入, 将输入反馈给模型, 进而实现对模型的计算控制, 是使模型和视图协调工作的部件。通常一个视图对应一个控制器。模型、视图与控制器的分离, 使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据, 所有其它依赖于这些数据的视图都应反映到这些变化。因此, 无论何时发生了何种数据变化, 控制器都会将变化通知所有的视图, 导致显示的更新。这实际上是一种模型的变化-传播机制[1]。MVC开发模式的结构图如图1所示。

2. Struts框架

Struts是Apache组织的一个开放源码项目。Struts应用中包含3类组件:控制器组件、模型组件和视图组件。控制器组件包含Action Servlet (核心控制器) 、自定义Action (代表一个用户操作) ;模型组件包括定义和实现业务逻辑的接口和类;视图组件包括JSP页面、Action Form和Struts标签[2]。其结构图如下图2所示。

3. Struts框架实现MVC模式的过程

Action Servlet是struts最核心的组件。在Web容器启动的时候, Action Servlet被初始化, 加载struts-config.xml配置文件 (这也是为什么当struts配置文件修改的时候需要重新启动web容器) 。Struts处理请求的过程如下[3]:

(1) 当客户端浏览器发起请求到Action Servlet时, ActionServlet首先对请求进行一系列处理, 根据请求的路径和配置信息找到对应的Action bean和Form bean, 比如前面加法器的例子, 当提交表单发送http://localhost:8080/zf2/add.do请求到服务器的时候, Action Servlet就会根据struts配置信息查找path属性为"/add"的Action Bean, 于是找到Add Action;并得知该Action的name属性为"add From", 于是找到Add From的实例 (如果不存在则创建) 。

(2) 在确定将要调用Action Bean和对应的From Bean后, 就将请求中包含的值填充到From Bean中 (Action可以不关联任何Action From, 所以这一步是可选的) 。在调用Action的execute方法前, Action Servlet还需要准备好Action Mapping参数, Action Mapping中包含了该Action的配置信息。

(3) 然后Struts将请求分发至相应的Action Bean处理, Action Mapping参数、Action From参数、request和response都作为参数传给处理请求的Action Bean的execute方法。

(4) Action调用业务逻辑方法, 得到返回值, 并返回ActionForward对象。

(5) 控制权重新回到Action Servlet, Action Servlet根据Action返回的Action Forward对象转发到相应的JSP页面。

(6) 处理结果返回给浏览器。

3. 结束语

Struts是一种基于MVC设计模式的Web应用开发框架技术, 它的清晰的框架结构和MVC设计模式使程序结构非常清晰, 将表示与逻辑完美分离, 更易于理解, 能大大提高开发效率。

参考文献

[1].林善茂.MVC设计模式.赛迪网:http://se.csai.cn, 2007

[2].李刚.Struts 2权威指南:基于WebWork核心的MVC开发.北京:电子工业出版社, 2007

MVC技术 篇9

关键词:MVC;PHP;FLEX;框架

中图分类号:TP314 文献标识码:A文章编号:1007-9599 (2010) 04-0000-02

MVC Framework Application&Study Based on Flex&PHP

Xu Yingzhong,Chen Wenzhu,Zhang Lingxiao

(Central China Normal University,Wuhan430079,China)

Abstract:MVC(Model-View-Controller) is a classic,sophisticated and widely used programming design pattern.Compared with traditional software development model,it has a better performance of decoupling, reusablitiy,maintainability,extendibility and so on.This paper proposes a hybrid MVC framework which combines two MVC frameworks - Thinkphp based on PHP and PureMVC based on Flex,and discusses the efficiency of communication between server and client implemented by Amfphp and HttpService respectively.The empirical analysis and experimental results show that Amfphp outperforms the latter.The conclusion is helpful especially under the relatively poor network environment.

Keywords:MVC;PHP;Flex;Framework

MVC框架是在开发分工越来越明确的情况下产生的,MVC结构提供了一种按功能对各种对象进行层次分割的方法(这些对象是用来维护和表现数据的),其目的是为了将各对象间的耦合程度减至最小,MVC是程序设计发展的一种趋势。

一、MVC设计模式

MVC模式是1970年由Trygve Reenskaug在施乐公司的研究中心提出的。最早的参考例程代码是用smalltalk80编写的。它最初是用来解决应用软件中的用户图形界面的交互问题的。MVC设计模式的基本原理是把应用程序的数据和业务逻辑、数据的外观呈现以及对数据的操作划分到不同的实体中去,这些实体称为模型、视图和控制器。

MVC模式的核心思想是分离责任,使得数据、视图和逻辑部分分开,模型层关心的只是应用的状态以及业务逻辑而不用考虑数据如何展现给用户;视图层关心的是的只是如何根据模型的变化为用户提供用户界面;控制层则负责接收用户的输入然后将其交给对应的模型,它并不关心用户如何输入以及这些输入数据是如何作用于模型的。

模型(Model):业务逻辑和数据。

视图(View):用户界面。

控制器(Controller):接收、识别请求并在模型和视图间建立映射关系。

图1.MVC模型原理

如图展示的是MVC模型的基本流程,首先,用户通过视图输入发送请求,控制器接收到请求之后会调用对应的模型来执行一定的业务逻辑,执行完后模型返回数据,此时控制器再调用对应的视图,视图会负责对模型数据进行格式化最终展现给用户。MVC是程序设计的一种思想或模式,对于各种不同编程语言的不同的MVC框架,由于这些平台自身具有的一些特性,它们在实现方式上可能会有一些不同,比如在Flex中,更推荐直接使用数据绑定的方式来对视图进行更新。

二、基于MVC设计模式的ThinkPHP框架

(一)Thinkphp简介

目前主流的基于PHP的MVC框架有Zend Framework、CakePHP、QeePHP等等,ThinkPHP也是其中之一,它借鉴了许多国外的优秀框架和模式,融合了Structs的Action思想、JSP的TagLib、RoR的ORM映射与ActiveRecord模式,封装了CURD和一些常用数据库操作,在项目配置、类库导入、模版引擎、查询语言、数据验证、视图模型、项目编译、缓存机制、SEO支持、分布式数据库、多数据库连接和切换、认证机制和扩展性方面均有不错的表现。

(二)Thinkphp工作流程

图3.Thinkphp工作流程

如图,当用户向服务器发出了一个HTTP请求之后,前端控制器会对URL进行分析,调用Dispatcher将任务派发给对应的模块(动作控制器,Controller),接着该模块会根据业务流程的需要选择性地调用业务模型(Model),并将用户提交的数据传递给它,接着调用视图(View)对业务模型中返回的数据进行格式化输出,最终把输出结果返回至客户端。

三、PureMVC框架

(一)Flex技术

Flex是一种基于标准编程模型的高效RIA开发产品集,最初由Macromedia公司在2004年发布。一个完整的Flex程序由MXML代码和ActionScript代码组成。MXML与HTML类似,是基于XML的标记语言,MXML用来在FLEX中设计用户界面,Flex Framework中提供了非常丰富的UI组件。和Flash一样,Flex项目最终会被编译成*.swf文件,由Flash Player解释运行。

(二)PureMVC简介

PureMVC是一款通用型MVC框架,最初基于ActionScript,现在已经移植到几乎所有的主流平台。在PureMVC中,同样是通过MVC三层设计来降低模块间的耦合性,Model、View和Controller分别对应3个类,即Proxy、Mediator、Command,另外,Façade层将这三者统一起来,使用过程中只需要通过一个Façade类来对它们进行操作,这样能够简化应用程序的开发。

(三)pureMVC工作流程

图4.PureMVC工作流程

如图4,程序初始化时,ApplicationFacade会负责初始化整个MVC,包括生成Proxy、注册各个Command和Mediator。当UI Component与用户交互时,UI组件会将Event派发出去,对应的Mediator接收到Event后,可以生成Notification并通过该Notification的Body携带参数,然后通过PureMVC的Notification系统广播该消息,注册了这个Notification(或称对该Notification感兴趣)的Command或者Mediator将会作出响应,Mediator可以更新UI,Command可以操作Proxy去更新数据,与服务端的交互是在Proxy内部完成的,当数据更新后,Proxy可以再发出一个Notification,对其感兴趣的Command或者Mediator会作出响应,如此,PureMVC不断运行下去。

四、整合应用

(一)Flex与PHP的通信方式

Flex使用RPC(Remote Procedure Call)方式与外部程序交互数据,RPC通信是一个异步过程,客户端把数据请求发送给服务端然后等待返回结果。Flex与服务端的通信方式有三种:

WebService是网络应用程序的标准,它向外部暴露能够通过Web进行调用的API集合,我们可以通过调用其API来获取需要的数据。HttpService是最常用的一种方式,通过向服务端提交POST或GET形式的请求来获取数据。Remote Object是Flex中一种特殊的通信方式,使用Adobe自定义的二进制数据通信协议AMF(Action Message Format)与服务端交互,可以交换任意类型的数据,包括对象、图片等等。

(二)框架整合

图5.PureMVC与Thinkphp整合框架

如图5,整合后的PureMVC与Thinkphp,使用PureMVC来替代Thinkphp的视图(View)部分,在工作时两个框架各司其职,pureMVC负责前端的用户交互,Thinkphp负责服务端的业务逻辑和数据,gateway.php相当于服务端的入口,客户端的proxy负责与其通信,通信方式可以是HttpService、WebService以及Remote Object。

五、结束语

随着富互联网技术的迅速发展,出现了客户端MVC框架,本文分别探讨了基于PHP的Thinkphp框架和基于Flex的PureMVC框架,提出了整合应用服务端与客户端MVC框架的方案,并对AMFPHP和HttpService方式下客户端与服务端的通信效率进行了实验和测试,当通信量较大或者是网络通信环境比较差的时候AMF对通信质量的改善是很有帮助的。

参考文献:

[1]叶建芳.应用FLEX技术构建RIA系统[D].浙江大学,2006

[2]JasonE.Sweat.php|architect’s Guide to PHP Design Patterns[M].Toronto:Macro Tabini & Associates,2005

[3]袁梅冷,黄烟波,黄家林.J2EE 应用模型中MVC软件体系结构的研究与应用[J].计算机应用研究,2003,20,3:147-149

作者简介:

MVC技术 篇10

教师绩效考核是对教师工作中表现出来的工作业绩、工作能力、工作态度以及个人品德等进行评价,并用之判断教师与岗位的要求是否相称。高校教师是一个非常特殊的群体,其工作内容包括教学、科研、对大学生的思想品德教育、人格塑造、专业知识和专业能力培养等。从专业技术的角度看,基于网页技术、数据库管理技术、检索全文信息技术、数据传输技术、信息安全和共享技术于一体的考核信息管理系统就是高校绩效考核系统。学校科室、系部的考核指标各不相同相互独立,各科室、系部的考核系统之间不能共享互通,因此产生“信息孤岛”。高校绩效考核系统平台的设计解决各部门之间“信息孤岛”[1]。高校绩效考核系统是未来几年中国高校绩效考核系统发展的重要方向。同样,协同高校科室、系部之间的绩效考核也是绩效考核系统建设中难度最大、要求最高的一种绩效考核系统。

人工智能领域的多主体(Multi-Agent)协作技术和MVC模式解决了大型复杂系统开发面临许多困难,如各类数据信息的实时传输与处理、多功能模块的协调与协作等。该技术还可作为构造大型、复杂、分布式信息处理系统的框架结构。作者将多主体技术引入绩效考核系统的开发领域,真正实现了各功能模块的协作协同难题,对绩效考核系统的开发有一定的借鉴意义。

1 多Agent简介

多Agent系统是指多个Agent成员之间相互协调,相互服务,共同完成一个任务[2]。各Agent成员之间的活动是各自独立的,其自身的目标和行为不受其他Agent成员的限制,它们通过竞争和磋商等手段协商和解决相互之间的矛盾和冲突。作者利用多Agent的特性对教师绩效考核系统进行分解成多个功能模块(Agent),从而建成一个基于多Agent的教师绩效考核平台,并对系统的安全性进行必要的设计与分析。最终结果表明,多Agent系统能满足教师绩效考核系统中各角色的协作与信息交互,能够有效检测并防御不良入侵。

2 MVC模式简介

MVC(Model-View-Controller)是即把一个应用的输入、处理、输出流程按照Model,View,Controller的方式进行分离,这样一个应用被分成三个层——模型层、视图层、控制层[3]。模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据,所有其他依赖于这些数据的视图都应反映到这些变化。因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。这实际上是一种模型的变化-传播机制。模型、视图、控制器三者之间的关系和各自的主要功能,使软件体系结构层次清晰,便于开发升级和维护,也为软件的健壮性提供了保障。

MVC架构是一个复杂的架构,实现也显得非常复杂。但是,人们已经总结出了很多可靠的设计模式,多种设计模式结合在一起,使MVC架构的实现变得相对简单易行。Views可以看作一棵树,显然可以用Composite Pattern来实现。Views和Models之间的关系可以用Observer Pattern体现。Controller控制Views的显示,可以用Strategy Pattern实现。下面叙述MVC三个部分在J2EE架构中这样有助于理解MVC架构的实现所处的位置,MVC与J2EE架构的对应关系是:View处于Web Tier或者说是Client Tier,通常是JSP/Servlet,即页面显示部分。Controller也处于Web Tier,通常用Servlet来实现,即页面显示的逻辑部分实现。Model处于Middle Tier,通常用服务端的JavaBean或者EJB实现。

在Web应用开发领域,比较流行的模型是模型2(Model 2),它由JSP,Servlet和JavaBeans等3个主要元素组成。其中,JSP用于生成HTML页面,并返回给客户端,完成数据显示,其对应于MVC模型中的View;Servlet用于接收用户请求,并根据不同请求调用不同的JavaBeans进行业务处理,对应于Controller;JavaBeans通过JDBC与数据库建立连接,并完成系统中所有的业务处理,其对应于Model。它的具体结构如图1所示。

3 多agent技术结构的设计

3.1 教师绩效考核的行为主体及用户权限设置

教师绩效考核系统研发过程中,根据全国高等学校实际情况,写出需求分析,确定系统实现功能和行为主体。系统的行为主体主要有如下4个:

(1) 校办。协调科室、系部制定绩效考核内容和指标并统计教师的工作量和出勤率等。

(2) 教务处。负责统计教师的教学工作量、教学效果和工作态度等。

(3) 科研处。负责统计核算教师的科研项目、科技成果、论文及著作等。

(4) 人事处。负责统计教师的职称、职务和荣誉称号等。绩效考核的特点和系统的要求,四大行为主体的分别由以下7类用户执行完成。

该系统中,共有7类用户,分别是系统管理员、教师、系主任、校长、教学副校长、行政副校和校党委书记。其中:系统管理员:负责数据的初始设置,包括各数据项的设置、权重的设置、各种系数的设定、系别的设定等。教师:个人信息的注册、各项评价信息的录入、查看个人成绩。系主任:对本系教师的评价信息进行核实确认、查看本系教师的评介成绩、录入个人的信息。校长:对重要工作、科研论文、著作、科研项目进行核实确认,确认完毕后计算评价成绩、提交最后成绩,信息反馈,查看教师各项评价信息,查看成绩等。教学副校长:对教学工作量、获奖情况、教学评价、教师工作等进行核实确认,确认完毕后计算评价成绩,查看教师各项评价信息查看成绩等。行政副校长和校党委书记:查看教师各项评价信息查看成绩等。

3.2 教师绩效考核体系结构设计

教师绩效考核体系结构设计如图2所示。

3.3 主要Agent设计及程序代码

3.3.1 用户认证Agent

人们通常把认证(Authentication)、授权(Authorization)和计帐(Accounting)称为“3A”或“AAA”。以此作为网络安全策略的一个组成部分。“认证”是确认远端访问用户的身份,判断访问者是否是合法的网络用户,常用的办法是以一个用户标识和一个与之对应的口令来识别用户。“授权”即对不同用户赋予不同的权限限制用户可以使用的服务,如限制其访问某些服务器或使用某些应用,从而避免了合法用户有意或无意地破坏系统。不同的用户具有不同的权限。为此用户认证Agent需要通过用户密码或者用户的IP地址等信息对用户赋予其相应的操作权限。

3.3.2 用户管理Agent

用户管理Agent的主要功能包括:

(1) 用户登录:用于登录系统;

(2) 添加用户:用于添加用户信息;

(3) 修改用户权限:用于修改或设置用户权限;

(4) 删除用户:用于删除系统中的用户及权限信息;

(5) 修改密码:用于用户登录后修改自己的密码。

3.3.3 决策处理Agent

决策处理Agent的主要功能是利用人工智能技术、数据挖掘技术和神经网络技术等相结合的方法将数据信息进行综合处理分析,最终筛选出用户所需的决策信息。

3.3.4 用户接口Agent

用户接口Agent的主要功能是在系统与用户之间架起联系的桥梁。通过该Agent可以向系统提交请求等信息,同时把信息的处理结果通过用户接口Agent返回给用户。

3.3.5 规划协调Agent

规划协调Agent的主要功能是:

(1) 接收并分析用户接口的请求;

(2) 教师绩效考核指标的规划与优化,负责考核指标的规划,结合初始工作流程,选择最优的考核方案;

(3) 协调绩效考核过程的各个Agent,负责维护系统当前的运行状态信息,以及维护Agent之间信息的交互传递。

3.4 绩效值的计算

3.4.1 测量指标

测量指标的统一化处理由均值转化法、最大值转换法、标准离差转化法等多种方法。这里确定的功能转化模型如下:Fnij=Anij/Aij(i=1,2,3,4)。其中:Fnij为第n个测量对象第i个一级指标中第j个指标的转化等效值;Anij为第n个测量对象第i个一级指标中第j个指标的测量值或兑换值;Aij为第i个一级指标中第j个指标的测量值或兑换值的总和,即Aij=∑Anij

3.4.2 测量模型

测量模型反映的是测量目标和测量对象之间的要素关系,是所确定的测量指标体系内特征测量目标的各种特征要素逻辑关系的数学表达式。对每个一级指标的测量而言,特征要素的大小直接反映了该指标绩效的好坏,特征值越大,反映出的绩效越高,反之亦然。换句话说,测量的目标和特征要素之间是一种线性关系。因此可建立如下的测量模型:Wni=∑Fnij其中:Wni为第n个测量对象的第i个一级指标的绩效评价值;Fnij为第n个测量对象第i个一级指标中第j个指标的转化等效值。

3.4.3 加权

运用加权的方法,得出每个测量对象的最终绩效值。模型如下:Gn=∑WmEi。其中:Gn为第n个测量对象的绩效值;Wm为第n个测量对象的第i个一级指标的绩效评价值;Ei为第i个一级指标的权重。

4 MVC模式的实现Web层的实现

Struts是一个在JSP Model 2的基础上实现的一个MVC框架,主要分为视图、模型、控制器三部分。视图部分包括JSP文件和ActionForm Bean。在JSP文件中不包含业务逻辑和模型信息,采用JSP标签或客户化标签技术。ActionForm Bean是一种JavaBeans,相比普通的JavaBeans,包含表单验证和重设功能,主要起到在视图和控制器之间传递数据的作用。模型部分用于处理业务逻辑,可使用JavaBeans实现。控制器部分由ActionServlet和Action类来实现。ActionServlet起着中央控制器的作用,负责接收HTTP请求,转发请求至相应Action类对象。Action根据请求调用相关业务组件。

5 结 语

Multi-Agent技术和MVC模式的采用给程序设计提供了一种全新的解决思路,降低学校进行绩效考核的繁杂性,解决绩效考核中的协作问题,改善绩效考核服务能力和提高办事效率。同时,该系统还具有良好的扩展性和智能性,对于实现绩效考核的智能化具有重要的现实意义和一定的可行性。

参考文献

[1]黄雨田.高校教师教学评价系统的研究与实现[D].太原:太原理工大学,2005.

[2]仵博,吴敏,曹卫华.一种基于行为的Multi-Agent决策算法及其在RoboCup中的应用[J].机器人技术研究与应用,2002(2):46-50.

[3]孙卫琴.精通Struts基于MVC的Web设计与开发[M].北京:电子工业出版社,2004.

[4]张礼华,卢道华.基于多Agent的网络课程协作学习平台的构建与研究[J].计算机技术与发展,2006,16(9):126-128.

[5]雷钧,徐洪胜,付勇智.MVC设计模式在J2EE平台上的应用[J].微计算机信息,2006,22(3):1-3.

[6]谢克明,史兴娜,郭洪波.基于免疫机制的Multi-Agent侵检测系统[J].计算机科学,2006,33(11):263-265.

[7]郭红,陈锐,胡黎赐.基于XML和Agent技术的集成模型研究[J].小型微型计算机系统,2003,24(9):1646-1649.

[8]王昊,赵文静,边根庆.基于三方通信构架电子政务安全系统的研究[J].计算机技术与发展,2007,17(10):242-244.

[9]熊海亮,白振兴.一种基于多Agent的Web数据挖掘方法[J].电子设计工程,2010(8):83-86.

上一篇:自然保护区建设与管理下一篇:舾装设计