MVC模式在项目申报系统中的应用研究
2010-09-16黄纪盛骆晓艳广州中医药大学510006
王 珍 陈 素 黄纪盛 骆晓艳 广州中医药大学(510006)
MVC模式在项目申报系统中的应用研究
王 珍 陈 素 黄纪盛 骆晓艳 广州中医药大学(510006)
简述了MVC模式,分析了申报系统的业务特点,介绍了申报系统的架构设计,并对如何利用MVC模式整合jQuery、Ajax、JSP、Servlet及JavaBean进行系统设计进行了详细的研究。
MVC;申报系统;Servlet;jQuery;Ajax
1 前言
广东省中医药类继续教育项目申报系统是一个基于协同办公自动化理念的网上申报系统,旨在为广大科技工作者提供一个进行项目申报的网络平台,为系统管理员提供一种方便的项目申报管理手段,并采用科研信息化手段对传统工作方法、工作流程进行再次改造。本文根据客户提出新的需求,在前期的研究基础上[1],着重研究MVC模式在网上申报系统中的应用。
2 MVC模式简述
MVC模式(Model模型-View视图-Controller控制器)是软件工程中的一种软件架构模式。它把软件系统分为三个基本部分:Model模型,View视图和Controller控制器。MVC模式的目的是实现一种动态的程序设计,使后续对程序的修改和扩展简化,并且使程序某一部分的重复利用成为可能。除此之外此模式通过对复杂度的简化使程序结构更加直观。软件系统通过对自身基本部分分离的同时也赋予了各个基本部分应有的功能[2]。
3 申报系统的业务特点
项目申报系统是一个集项目申报各个业务流程于一身的网上系统,涉及项目招标单位,项目申报人,项目评审专家和后台管理员等多个角色的操作,每一个角色的操作既有自己的业务特点,比如招标单位能够发布项目招标信息,申报人能够进行项目申报,评审专家能够对已申报的项目进行评审,管理员能够进行系统管理等;又与其他角色的操作有共同之处,比如各个角色在使用系统之前都需要通过登录验证,都可以查看公开的公告和申报项目,都涉及对申报项目状态的修改等,其用例图如图1所示。
因此,在明确系统需求之后,在对系统进行编码之前,需要对系统的架构进行设计,使其既能够满足多个角色的业务需求,又能提高应用模块的可重用性,并且便于功能的扩展。采用MVC模式进行申报系统的开发,既能符合申报系统的业务特点,又能够简化设计流程,提高开发效率。
图 1 申报系统用例图
4 MVC模式在项目申报系统中的应用
4.1 系统整体架构设计 在申报系统中应用MVC模式,主要是利用了JSP Model 2体系结构。它是一种结合了Servlet,JSP,JavaBean的优点推出的提供动态内容服务的方法。这个模式分为三部分Servlet,JSP,JavaBean。Servlet做的事情是控制到底最后显示哪个JSP页面给用户、JSP做的就是响应用户请求,把结果数据展现给用户、JavaBean不仅对数据库的数据进行存取了,也处理复杂的业务功能和逻辑判断。
从它们的设计结构就可以看出JSP Model2的优点,如图2所示。由于它们在设计上很好的分工,可以使程序员专注于开发工作,美工人员也不必了解和看懂业务逻辑处理代码,数据库管理员也可以专心的做好数据库设计和数据管理。
图 2 JSP Model 2体系结构
4.2 MVC模式在系统中的具体应用 在申报系统中,从登录验证,到项目招标,申报,评审和立项,以及后台的初始化工作,都是采用MVC模式来实现的。下面以登录验证和项目处理为例,详细介绍MVC模式在系统中的具体应用。
如图3所示,不同角色进行登录,或者不同角色进行项目的处理,都通过视图(View)的标记(tag)来进行逻辑判断,脚本语言Check.js会在客户端进行验证,以保证输入是否合法有效,防止SQL注入式攻击,然后根据tag的取值,调用控制器(Controller)中相应的Servlet进行业务处理。
在控制器中,所有的业务处理均封装在QueryInfo类中,QueryInfo通过函数重载,可以根据Servlet传递的参数数目和类型判断哪个函数被调用,从而提高了程序的可复用性。
图 3 MVC模式在系统中的具体应用
在模型层(Model)中,程序把JavaBean的定义跟数据库的操作类SQLConn结合起来,使JavaBean的每一个实例对应查询集中的每一条记录,使程序对记录的操作转化为对实例的操作,很好的体现了面向对象的设计理念。数据库操作类SQLConn是一个抽象类,可以根据后台的数据库类型派生出不同的数据库操作子类,比如SQLServerConn和MySqlConn,以操作对应的SQL Server和MySQL数据库,从而提高程序的可移植性。
从模型层进行取数,并在控制层进行验证之后,程序会调用jQuery库中的Ajax对象把消息通过异步传输返回到客户端的浏览器,用户不需要刷新就可以查看服务器返回的信息,就可以知道自己的操作是否成功,极大的提高了用户的体验。
5 结语
网上申报系统的研究与实现对减少广东省各医药类工作单位工作量,提高工作效能,规范化申报,促进继续教育系统信息化建设具有现实意义;同时,该系统的实现充分体现了MVC模式的设计理念,既提高了开发效率,还有效的保证了系统的可移植性和扩展性,是科研信息化的重要体现。
[1] 陈素,黄纪盛,王珍,等.基于jQuery的中医药类项目网上申报系统的研究与设计[J].中国中医药现代远程教育,2010,(3):16-17.
[2] 孙卫琴.精通Struts:基于MVC的Java Web设计与开发[M].北京:电子工业出版社,2008:11.
Application Research on MVC Pattern in Declaration System
Wang Zhen Chen Su Huang Jisheng Luo Xiaoyan (Guangzhou University of Chinese Medicine,Guangzhou 510006,China)
This paper gives the description of the MVC pattern and analysis of the operational characteristics in declarer system;then introduces the architecture design of this system;and makes studies in detail to show how to integrate jQuery, Ajax, JSP, Servlet, JavaBean to design this system by using the MVC model.
MVC Declaration System Servlet jQuery Ajax
10.3969/j.issn.1672-2779.2010.24.068
1672-2779(2010)-24-0087-02
2010-09-09)