文档库 最新最全的文档下载
当前位置:文档库 › 基于MVC模式的Struts开发框架的图书馆管理系统(1)

基于MVC模式的Struts开发框架的图书馆管理系统(1)

2009 NO.27

Science and Technology Innovation Herald

图书馆论坛科技创新导报

随着Internet的兴起,B/S结构的使用越来越多,相关技术也比较成熟。目前主要采用MVC开发模式,MVC就是模型、视图和控制器(M o d e l,V i e w,C o n t r o l l e r Architecture)。这项技术可以做到视图、业务逻辑、流程控制分开,使程序员分工明确、开发效率高、维护成本低。在此将其MVC模式应用于图书馆的建设,山东商务职业学院是山东省粮食局直属高等职业院校,一直以来,学校对图书馆的建设就非常重视,目前藏书已经超过30余万册,并预计以后每年以较大的幅度增加。随着藏书规模的扩大,原来的图书馆管理系统,在数据的正确性,操作的方便性都存在不足,为了适应图书馆业务发展的需要,解决存在的问题,决定对图书馆管理系统进行重新改造,并以此为例,论述基于MV C模式的Struts开发框架的图书馆管理系统。

1 MVC设计模式

MVC是目前J2EE中比较流行的一种模式,MVC模式的出现不仅实现了功能模块和显示模块的分离,同时它还提高了应用系统的可维护性、可扩展性、可移植性和组件的可复用性。MVC设计模式来源于面向对象语言,它的主要思想是将应用程序分为模型、视图和控制器三个部分,以提高应用程序的可扩展性。其作用分别描述如下:

(1)模型。模型就是业务流程/状态的处理以及业务规则的制定。业务流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。业务模型的设计可以说是MVC最主要的核心。目前流行的EJB模型就是一个典型的应用例子,它从应用技术实现的角度对模型做了进一步的划分,以便充分利用现有的组件,但它不能作为应用设计模型的框架。它仅告知用户,按这种模型设计可以利用某些技术组件,来减少技术上的困难。

业务模型还有一个很重要的模型那就是数据模型。数据模型主要指实体对象的数据保存(持续化)。比如将一张订单保存到数据库,从数据库获取订单。我们可以将这个模型单独列出,所有有关数据库的操作只限制在该模型中。

(2)视图。视图代表用户交互界面,对于Web应用来说,可以概括为HTML界面,但有可能为XHTML,XML和Applet。随着应用的复杂性和规模性,界面的处理也变得具有挑战性。一个应用可能有很多不同的视图,MVC设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。

业务流程的处理交予模型处理。

(3)控制器。控制器是联系模型与视图

之间的纽带,控制模型和视图的之间的交

互过程。它获取并翻译用户输入的动作,指

定执行该动作的模型,或者根据用户的输

入和执行的结果来选择下一个视图,可以

理解为从用户接收请求,将模型与视图匹

配在一起共同完成用户的请求。

此图书馆管理系统的交互控制器使用

Java Servlet和JPS来实现。Servlet 也是一

种Java类,所以它可以充分利用IDE(集成开

发环境)进行书写、编译和维护。JSP则提供

一种简单的类似于脚本的环境。虽然JSP主

要用于开发动态的页面构造,但它同样能

实现交互控制逻辑。

MVC模式的处理流程是:首先控制器

接收用户的请求,并决定应该调用哪个模

型来进行处理,然后模型调用业务逻辑来

处理用户的请求并返回数据,最后控制器

用相应的视图返回数据,并通过表示层呈

现给用户。

2 基于MVC模式的Struts框架

MVC模式仅是一个单纯的设计,这个

设计可被不同语言以不用方式来实现;而

框架则是设计和代码的一个混合体,编程

者可以用各种方式对框架进行扩展,进而

形成完整的不同的应用。Struts是一个典型

的使用了MVC模式的Web应用框架。一个

前端控制组件、一系列动作类、动作映射、

处理XML的实用工具类、服务器端JavaBean

的自动填充、支持验证的Web表单、国际化

支持、实现表现逻辑和模板等特征构成了

Struts的灵魂。

在S t r u t s框架中,模型由A c t i o n和

ActionForm对象构成,所有的Action处理器

对象都是从Struts的Action类派生的子类。

Action处理器对象封装了具体的处理逻

辑,调用业务逻辑模块,并且把响应提交到

合适的视图组件以产生响应。Struts提供的

ActionForm组件对象可以通过定义属性描

述客户端表单数据。控制器由Action Servlet

和ActionMapping对象构成,核心是一个

Servlet类型的对象Action Servlet,它用来

接受客户端的请求。Action Servlet包括一

组基于配置的ActionMapping对象,每个

ActionMapping对象实现了一个请求到一个

具体的模型部分中的Action处理器对象之

间的映射。视图由一组JSP文件构成,Struts

提供了自定义的标记库,通过这些自定义

标记可以非常好地和系统的模型部分交

互,通过使用这些自定义标记创建的JSP表

单,可以实现和模型部分中ActionForm的

映射,完成对用户数据的封装。

Struts框架的体系结构实现了MVC设

计模式的概念,并将这些概念映射到Web

应用程序的组件和概念中,Struts继承了

MVC的各项特性,并根据J2EE的特点,做了

相应的变化与扩展。

此图书馆管理系统采用Struts框架进行

Web应用系统的开发,根据图书馆管理功

能的要求,结合学校的实际情况,系统分为

三大模块:管理系统、查询系统和基础信息

管理系统。在管理系统中又分为四个模块:

处理学生借书模块、处理学生还书模块、处

理图书注销模块、新书购入处理模块;在查

询系统中包括两个查询内容:学生信息查

询、图书信息查询;在基础信息管理系统中

主要包括一些图书馆信息,增加、修改、删

除各种用户及用户使用权限,系统状态的

查看维护及对系统数据备份等。

采用以上Struts框架的图书馆管理系

统,一方面增加了系统组件的可重用性、支

持多类型用户界面、改善了站点的可维护

性并且减少了开发的复杂度;另一方面,由

于应用系统各部分的分开实现,对于项目

管理提出了更高的要求。如何在属性、调用

方法及参数命名规则等方面达成一致,采

用何种版本控制、代码管理的软件开发过

程控制都需要进一步的探讨与研究。

总之,基于MVC模式的Web应用框架

Struts,能满足图书馆管理系统的绝大多数

需求。

基于MVC模式的Struts开发框架的图书馆管理系统

孙秋霞1,2 顾海燕1,2

(1.海军航空工程学院 山东烟台 264001; 2.山东商务职业学院 山东烟台 264670)摘 要:随着藏书规模的扩大,原来的图书馆管理系统,在数据的正确性,操作的方便性都存在不足,为了适应图书馆业务发展的需要,解决存在的问题,决定对图书馆管理系统进行重新改造,并以此为例,论述基于MVC模式的Struts开发框架的图书馆管理系统。

关键词:MVC Struts 图书馆管理系统

中图分类号:G258.9文献标识码:A文章编号:1674-098X(2009)09(c)-0170-01

170科技创新导报 Science and Technology Innovation Herald

相关文档