基于JAVA开发Web应用中MVC模式分析
2021-05-14刘昊承
刘昊承
(北京邮电大学计算机学院 北京 100876)
0 引言
随着移动互联网融入到各行各业中,对应用程序的需求量不断增加。传统的应用程序开发模式主要采用 C/S模式、B/S模式,C/S模式是采用客户端到服务端模式主要应用到客户端要求较高的程序,该模式存在缺陷是维护成本高、系统兼容性难解决问题;B/S模式是一种浏览器到服务端的模式,由于具有较高的兼容性,被广泛应用到应用程序开发中,调查数据表明由于浏览器前端技术的不断更新,目前开发阵营由传统的C/S模式转向B/S模式,B/S模式中MVC框架为开发提供了更有效的工具。
当前有关MVC模型应用研究较多,针对传统的雷达管理系统采用C/S模式,存在灵活性差、开放受限制、数据识别度不高问题,使用MVC模式结合Java编程语言进行了移动端雷达管理系统设计。所设计的系统能够进行雷达频信号采集、存储、移动终端查看。系统关键技术为基于强回波定位算法以及百度天气API,实现了数据识别中核心环节数据采集。针对大面积水产养殖环环境监测指标多,而现有的监测设备不能满足多指标远距离监测问题。提出基于LoRa无线通信的水产养殖监测系统。该系统运行于Linux系统上,系统开发使用Java编程语言利用SpringMVC框架,使用HiBernate数据库进行数据存储,最终解决了动态监测中数据传输长的问题。现有系统中利用MVC框架大大提高了软件开发效率,然而有关如何应用MVC模式进行Web应用程序开发相关报道文件较少,本文针对这一问题进行详细研究。
1 MVC模式
1.1 MVC分析
MVC是“Model-View-Controller”简称,中文为“模型—视图—控制器”,是由模型、视图、控制器组成。MVC封装了核心流程、业务流程,将复杂的功能转换为界面层、业务逻辑层、数据层,这样方便了界面的输入输出。视图层是用户能够使用的界面,向用户展示数据、用户添加数据等操作,该过程中不接受更深层业务数据分析。按照模型层的构建,可知相同的信息可对应多个视图层。控制器中负责用户的行为,是调用用户数据与视图之间的中间层。界面中每个用户有多个请求,第一步完成控制器接收并进行模型处理,接着根据业务逻辑请求进行数据返回,最终控制根据用户业务逻辑需求进行控制。图1为MVC模式结构。
图1:MVC模式结构图
由图1可知MVC模式中模型、控制器、视图之间相互分离、相互关联,一个模型可对应多个视图。在开发过程中如果某个功能发生变化视图的控制器出现了更改,会导致视图层发生变化。
1.2 MVC优缺点
MVC优点:MVC能够实现一个模型构建多个视图,这样提高了代码重复利用效率。在开发过程中用户功能需要调整时,只需调成模型层中功能模块,即可完成视图层相关功能开发,大大提高了开发效率。模型层、控制器、视图层之间层次分明、结构清晰,这样让开发者专注特定的功能,为系统开发扩展性、维护性提供了便利。MVC中控制器可进行业务对象请求控制,这样提高了应用程序灵活性。
MVC缺点:使用MVC进行应用程序开发,增加了系统的难度、复杂性。业务功能简单的应用程序使用该模式后增加了系统结构复杂性,过多的页面交互降低了运行效率。MVC理论上实现了视图层和控制器分离,但实际开发中很难做到这点。视图层与控制器即分离也相互关联,如果视图层没有控制器则所开发的应用受到限制,实际中受到模型层接口设计影响,导致频繁调用视图层才可实现界面显示。MVC设计面比较广,入学者需要花费大量的时间才能独立设计,增加了学习成本。
2 基于Java开发Web的应用系统设计
Java编程语言是面向对象编程语言,是由sun公司1995年设计的一款编程语言,具有简单、分布式、安全性高、跨平台等优点,可用于桌面应用程序、Web程序、嵌入式程序等开发。与C++编程语言相比,他具有简单、垃圾回收机制、安全性等优点。目前最新的Java版本是Java8.0,Java的编程环境为JDK,是Java核心模块。此外JavaAPI类库中还提供了JRE,该模块是一个运行环境,使用该模块后无需安装JDK。Java编程常见的开发工具有Eclipse(开源平台)、netbeans(开源平台,进行客户机和Web程序开发)、MyEclipse(主流Java应用程序开发环境)。
图2:设备管理类
表1:为设备管理系统数据表结构
Java开发中主要是以.jsp脚本进行运行,该脚本语言能够跨平台运行,相比Asp.net、Asp、PHP脚本语言具有更广的应用领域。MVC技术在jsp设计中的应用包括系统功能需求分析、模型组件设计、视图层设计以及控制器设计。系统应用需求分析可采用UML建模技术进行Web应用程序功能需求分析,包括功能需求分析和非功能需求分析;模型组件设计主要是进行业务层、数据层封装管理,该层中提供了内核数据管理以及接口管理,按照Java类设计要求进行类封装实现多次利用管理。视图设计是向用户展示界面,从系统数据库中获取数据后,显示在前端界面。根据Java开发者编写的后端管理.jsp页面进行界面显示。控制器的设计作用是接收相应的请求并进行数据反馈。根据Java编程语言提供的.java将设计的控制方法存入到该文件中,这样实现控制管理。为了控制管理提高程序自由度,在jsp文件中每个.jsp页面都有.java文件相对应这样满足了控制层的要求。
基于Java来发的Web应用程序MVC操作流程可归纳为,用户在浏览器中浏览Query.jsp并将查询结果提交至服务器端进行servlet-Query-servlet查询,查询结果存储到缓冲池中,缓冲池中能够进行智能判断,如果缓冲池合理,则将控制器转移到bufferedlist.jsp中,取出Queryresultbean内容返回到浏览器。
Web应用程序开发中数据库设计是核心功能,本文详细分析MVC在数据层设计应用。Web程序业务逻辑可归纳为数据添加、数据查看、数据删除、数据修改。按照MVC设计思路可将数据库层独立分析这样并提供相应的接口这样方便二次开发。
3 应用分析
3.1 模型层的实现
设备管理系统是生产厂商、应用商家比进行使用的管理系统。本文使用UML建模技术结合MVC框架进行基于Java编程语言开发的设备管理系统。图2为设备管理系统类图。
根据MVC模式进行了设备管理系统设计,从图2中可知设备管理中包含类有:device_management、device_managementBLL、device_managementMoble、device_managementDALL分别用于设备界面管理、设备业务逻辑管理、设备数据集管理、设备数据管理。各个类中包含的方法为device_managemen中包含 device_managemen_insert()、device_managemen_select()、device_managemen_delete()、device_managemen_update()分别用于设备信息添加界面管理、设备信息查询界面管理、设备信息删除界面管理、设备信息修改界面管理。device_managemen类对应MVC层中的视图层、device_managementBLL对应MVC层中的业务逻辑管理、device_managementDALL对应MVC层中的数据管理。
为详细存储设备管理,需要对设备管理进行数据库设计,部分信息表见表1所示。
3.2 视图层的实现
本文所设计的基于Java的Web应用层页面使用复合视图形式,每个设备管理系统页面是由多个子视图组成。根据Java提供的控件进行视图层编辑。每个网站都提供了母版页,采用html样式进行管理。系统中相关验证使用正则表达式进行管理。为丰富视图层界面,采用jQuery进行前端开发。
3.3 控制层的实现
在开发设备管理系统时,控制层的设计使用分散控制,每个.jsp文件都对应后台.java文件,达到页面控制目的。所设计的页面中每个空间都对应了相应事件以及数据交互关系。下面对设备管理中设备信息添加管理进行讲解,在设备信息添加模块中有Device_addition.jsp文件,可通过control控制设备信息添加成功。
4 结语
使用MVC模式进行JavaWeb应用程序开发能够提高开发者开发效率,为开发者提供了标准接口管理,从而提高了开发效率、降低了程序维护成本。本文以设备管理系统开发进行分析,使用MVC模式后,代码编写规范、易操作等,非常适合大型项目开发。随着移动APP技术不断发展,后期MVC模式将不断拓展应用领域。