APP下载

基于Spring的MVC框架实现Web应用系统设计与实现

2017-04-25卜庆禹辽宁锦州渤海大学信息科学与技术学院

数码世界 2017年4期
关键词:设计模式视图框架

卜庆禹 辽宁锦州渤海大学信息科学与技术学院

基于Spring的MVC框架实现Web应用系统设计与实现

卜庆禹 辽宁锦州渤海大学信息科学与技术学院

MVC设计模式是软件设计中的一种经典设计模式。本文在分析MVC设计模式基本原理以及构成的基础上,关于基于Spring实现的MVC设计模式的基本原理、参数配置;本文最后以一个应用实例,根据应用系统用户请求在Spring MVC框架存在的管理周期。为了建立可重用、灵活且易于管理的设计模式实现机制,本文提出一种基于Spring的MVC框架实现应用系统设计与实现。Spring MVC框架的视图层是基于JSP技术实现的,系统采用总体控制原则的方法实现业务逻辑控制转发功能,采用对象映射类完成数据持久化操作。基于控制反转/面向切面技术实现应用系统管理,并将Spring MVC框架应用网络收藏夹的开发中。

Spring MVC框架 Web应用系统 设计模式 控制反转 面向切面

1 引言

目前,大多数的应用程序都基于MVC设计模式实现的应用系统,其中包括Web应用程序框架。Spring框架为我们提供了MVC设计模式的实用机制,Spring框架按照分发器的模式进行设计,配置的数据映射关系、视图解析模式、支持本地文件上传功能等。该设计机制结构清晰、代码可重用性高、执行效率高等优点,但在时机应用系统设计与开发过程中,其缺点是实现难度较大、文件配置比较复杂,重要的是没有数据持久化方案。

目前,Spring框架为我们所提供了两种数据持久化机制,第一种通过ORM对象与表字段之间的关系映射为工具,第二种则通过对JDBC数据库对象连接类实现对数据封装和持久化操作。前者能缓解面向对象数据与关系数据库存在不关联的现象,但此过程必须依赖对象映射工具。后者设计机制简单易用而且方便关联,但是缺点是未能解决面向对象数据与关系数据库之间的存在不关联的现象。

正因如此,本文研究针对Spring框架中的MVC设计模式实现功能扩展实践,提出一种由Spring框架改进的MVC设计模式实现Web应用系统,其基本结构和设计机理,并以基于Spring框架改进的MVC实现网络收藏夹为真实案例讲述系统的设计与实现过程。

2 MVC设计模式概述

2.1 MVC的基本设计思想

Model、View和Controller的简称,即是MVC设计架构。需要实现业务功能的分离,应用系统形成以模型、视图和控制三层的软件架构。

第一,模型层负责处理业务以及状态的处理过程。业务状态对于其他层而言看不见的,模型层负责数据处理,收集数据处理结果。

第二,视图层负责数据交互管理,对于Web应用系统视图层通过HTML技术实现,但是,各种网页前端技术可以应用其中,例如JS技术。通常情况下,视图的作用负责对页面控件数据的采集和系统处理数据的显示,而不负责在视图层的业务功能处理过程。

第三,控制层负责从用户获取相关的请求操作,负责建立模型与视图之间联系,共同完成用户请求操作。在MVC设计模式中,控制层并不需要做任何的业务数据处理,它只负责找到相匹配的模型的函数,并将参数传递该模型车的函数。当用户发出请求时,模型层处理完毕业务数据控制转发给相应视图层为用户显示。

第四,业务功能模型的设计。业务模型层设计主要实现对数据模型设计,数据模型主要完成数据持久化操作,是指实体对象与表字段一一映射关系。

2.2 基于MVC设计模式开发应用系统的优点

业务数据处理与数据显示在同一个文件的编码方式,其缺点是使得程序编写与调试变得麻烦,而基于MVC设计模式实现的Web应用系统设计与实现过程,具备如下的优点:

①模型层与视图层存在一对多的关系。全部视图及时获得来自于模型层数据的动态变化,使得视图层与控制层数据同步。

②允许修改视图层与控制层之间的对应关系,可以实现需求动态变更。

③代码可移植性与可重用性较好。由于模型层是独立于其他层的,因此模型层可以实现不同平台工作的移植。需要其他的平台对视图层与控制层实现动态的修改。

3 Spring MVC框架的基本原理与配置

根据MVC设计架构的基本原理实现应用系统需要获取系统应用的需求,设计应用系统的MVC结构前提需要充分了解系统的全部需求。

3.1 Spring MVC框架的基本组件和处理流程

Spring框架MVC设计结构实现了MVC的核心组件,它作为控制器和处理逻辑为用户提供了高级设计模式的功能。重要的是向MVC设计结构添加控制反转功能,这使得程序代码具备高度耦合,提供了某种配置可实现动态变更组件可行性。Spring框架MVC设计结构实现接受来自于用户请求过程。

①前端控制器,它负责为处理程序控制转发用户请求和处理结果,并快速执行视图解析。它根据转发地址给特定的控制器,负责处理具体也去请求对象,控制转发器实现对模型层和视图层代码解析。

②控制器,控制器负责对Web业务层处理数据逻辑的组件,再根据实际调用需求业务Service完成数据业务逻辑处理请求。系统中存在一个缺省的处理器,它只是简单的控制转发接口。

③模型层和视图层,控制器并传递给前端控制器某些参数和相关函数,控制转发器接收到来自于模型层和视图层,将解析相关代码,并将模型加载到相应视图上传给用户界面。

④视图解析器,Spring框架提供了视图解析的功能,大多数情形,模型层和视图层的数据封装,就需要通过视图解析器解析相应的数据显示资源。Spring框架中内置了很多种技术,其中包括:JSP技术、模型模版和视图显示的支持。

3.2 Spring MVC框架的应用配置

Spring框架MVC的设计架构应用配置主要包括:业务逻辑控制器、视图解析器以及用户请求。

第一,配置控制转发器DispatcherServlet类,其配置格式:

第二,使用Controller定义控制转发类,Spring框架提供基于一种注解的控制器类,该控制器不需要完成某种接口,也不需要实现框架的基类。

第三,使用映射请求RequestMapping类完成类定义的标注,将Controller定义控制转发类与其他类关联,以便下一步实现的控制转发。在映射请求RequestMapping类实现了Controller接口,而通过方法实现的过程中让功能扩展Spring框架。

3.3 Spring MVC框架中XML配置的缺点

Bean容器则是Spring框架的核心所在,并有效地结合AOP技术,将业务功能管理加入其中,就需要构建无状态会话Bean容器即可实现一个轻量级框架。

Spring框架实现MVC的设计结构存在多种组件,他们都是基于XML文件格式实现的参数配置,Spring框架MVC设计结构的缺点:

①该框架必须要结合工程中的配置文件才可以对象间的一一对应关系,该配置文件的代码可读性非常差。

②必须经过依赖关系实现对XML文件解析,在XML文件中必须将这种配置关系全部配置正确后系统才可以运行,而系统运行之后并不能识别XML文件的错误之处。

③由于系统中引入XML文件配置和描述的JavaBean对象,当应用系统的实体对象达到一定数量时,该应用系统很难升级和维护,一旦应用系统中的XML文件变多,可读性就越差。本文建议配置完XML文件的功能,从而有效减少XML文件配置任务,有效地提高程序代码的高内聚性。

4 Spring MVC框架的具体实现

4.1 视图层的具体实现

视图层的实现是通过JSP技术,本文主要是根据实际的功能需求构建视图层页面显示过程。

4.2 控制层的实现

①系统主控制器的实现

系统主控制器的实现过程主要包括:构建和配置主控制类。主控制类需要继承于HttpServlet类,主要继承了基本的接口函数。

②系统过滤器的实现

系统过滤器MainFilter接口是由Filter类所组成,前者负责实现主要过滤功能,后者玩初始化Filter类。Filter类实现在系统的Web.xml配置文件中过滤,过滤器模式使用的URL样式,而且两者使用控制元素不同而已。

4.3 业务逻辑层的实现

①基本业务逻辑处理类的实现

基本业务逻辑处理类Manager()函数,其与具体业务非常紧密,需根据特定的业务处理才能够实现基本业务处理功能,基本业务逻辑处理类实现步骤如下:

第一,系统中定义了xxxManager()类,会根据实际业务功能需求继承父类的方法,每个接口方法会实现具体业务需求,例如:管理用户功能、实现订单管理等。

第二,系统中定义了xxxManagerImpl()接口类,根据特定的业务功能编写此类接口方法。在接口实现过程中,完成数据的持久化操作与用户的交互行为,通过调用数据访问类DAO实现对数据库的访问操作。

第三,配置Application Context.xml文件,为xxxManagerImpl接口类配置实体对象和注入能够操作数据库对象。

②AOP事务的实现

高级业务逻辑处理是需要基于控制反转机制和面向切面编程技术共同实现的管理操作。控制反转完成用于业务对象依赖注入关系的一种机制,其原理是将程序员所设计的类与类之间的关系全部交给容器实现,只需要调用类在这个容器中定义函数名称即可,有效减小业务对象之间的彼此依赖度,并实现了很多业务对象之间耦合度。

5 本文结论与未来研究方向

Spring框架实现的MVC设计模式主要是利用控制反转策略和依赖注入机制共同完成,以达到降低代码之间的耦合度、减少重复代码编写量的目的。Spring框架实现的MVC设计模式分离了Web应用系统的全部功能。本文重点研究了Spring框架实现的MVC设计模式的基本原理和组成。此外,Spring框架实现的MVC设计模式可通过配置相关的拦截器类实现AOP权限反转控制,如何在Spring框架实现的MVC设计模式基本流程是下一步的研究方向。

[1]邹存洁.基于MVC模式的Spring框架的应用与研究[D].大连:大连海事大学,2006

[2]陈平.基于Spring的轻量级Web框架的研究与设计[D].江苏镇江:江苏大学,2005

[3]符培炯,杜忠军.Spring在实现MVC构架中的应用[J].计算机技术与发展,2006,16(6):236-238

[4]张利,吴传胜,崔雷,等.应用MVC模式构建Web信息系统框架研究[J].合肥工业大学学报:自然科学版,2007,30(7):829-832

[5]王承冠,陆金桂.基于SPRING和VELOCITY的Web开发模式及其应用[J].微计算机信息,2006,22(30):230-232

猜你喜欢

设计模式视图框架
设计模式识别的特征信息分类研究
“1+1”作业设计模式的实践探索
有机框架材料的后合成交换
框架
智慧图书馆环境下的融贯式服务设计模式研究
三维协同设计模式下的航天项目管理实践与展望
视图
Y—20重型运输机多视图
SA2型76毫米车载高炮多视图
Django 框架中通用类视图的用法