基于Spring MVC的公共设施巡查系统设计

2016-06-13 09:08张达敏
电子科技 2016年5期
关键词:异常

张 斌,张达敏,曾 成

(贵州大学 大数据与信息工程学院,贵州 贵阳 550025)



基于Spring MVC的公共设施巡查系统设计

张斌,张达敏,曾成

(贵州大学 大数据与信息工程学院,贵州 贵阳550025)

摘要针对公共设施出现异常而无法及时发现处理的问题,研究开发了基于Spring MVC技术的公共设施巡查系统。系统采用分层开发的方法,下层作为服务的提供者,上层作为服务的使用者。层次划分遵循"层内高内聚,层间松耦合"的思想。介绍了系统的功能和组成。通过对该系统的设计和实现,可以实现公共设施异常早发现、早解决的要求,确保公共设施的正常运转。

关键词巡查系统;Spring MVC技术;异常;SOA体系

公共设施是否健全直接反映了一个地区经济发展程度的快慢,而公共设施是否完好则能够反映出这个城市的文明程度与公民素质的高低,因此保证城市公共设施的健全具有重要意义。然而由于各种原因,众多城市公共设施均遭到了不同程度的破坏。为实现公共设施异常的早发现、早解决,确保公共设施正常运转的要求,设计开发一套公共设施巡检系统,提升公共设施巡查工作的智能化水平就显得尤为必要。通过公共设施巡检系统的开发设计,可实现公共设施异常早发现、早解决的问题。这对于确保公共设施的正常运转,降低发生事故的可能性,具有重要的作用。

1Spring MVC

通常情况下,企业轻量级的开发通常用SSH(Spring+Struts2+Hibernate)框架进行开发[1],在使用该框架进行设计时通常在表示层体现MVC的开发思想。MVC即模型(Model)、视图(View)、控制器(Controller)[2-3]。而SpringMVC本身就是MVC框架的体现,在一般的系统开发中可实现Hibernate与Struts的功能,其实现了模型、控制器、视图三者之间的分离。视图层负责将数据转换成用户可接受的页面;控制器可读取和发送数据以及实现业务逻辑,主要是和模型与视图建立联系;模型层则是将数据统一管理。

Spring MVC的框架[4]如图1所示。

图1 Spring MVC 框架图

其工作原理是[5]:用户在浏览器上进行的一系列操作会以请求的形式提交到DispatcherServlet(前置控制器),然后DispatcherServlet控制器会负责查询HandlerMapping(处理器映射),并找到相应的处理请求的Controller(控制器);DispatcherServlet再将请求提交到对应的Controller,并由Controller调用业务逻辑处理后返回ModelAndView(模型与视图);DispatcherServlet通过查询一个或多个ViewResoer视图解析器,找到ModelAndView指定的视图。最后由视图负责将结果显示到客户端。

2公共设施巡查系统设计方案

2.1系统组成

为高效、高质量地解决公共设施的异常问题,本文采用面向服务的SOA体系,用户可直接从服务提供者那里得到自身想要解决的问题。系统主要由4部分组成,分别为管理员模块、用户模块、服务台模块和技术部模块。这4个模块的工作流程如图2所示。

图2 系统组成

各模块的功能描述如下:

用户模块。该模块的主要功能是对公共设施的异常情况进行上报。用户通过手持终端设备上报异常时可选择使用图片、文字或者两者结合的方式。

服务台模块。该模块主要功能是进行异常的分派。首先,服务台人员根据客户提交的信息进行预览并查询该问题所处的状态(未处理、已处理)。对于已处理但未进行状态更新的则可直接反馈给用户;若问题未处理,则服务台人员可将用户的问题按优先级进行分类,然后将异常分派给相应的技术部门进行处理。在问题得到处理后可进行回访,并将异常关闭。

技术部模块。该模块主要功能是异常的解决,根据客服人员分派的任务类别派出相应的工程师去解决问题,问题解决后反馈给服务台。

管理员模块。该模块的主要功能是对数据库的管理以及对系统进行维护。例如对部门和人员的信息管理,可增加、修改或者删除用户的信息;另外客服人员和工程师的流动情况,离职或者增加员工时,可对数据库信息进行修改。管理员模块还可将异常问题产生的原因及解决办法记入数据库,以方便以后进行查询。

2.2系统的整体设计

本文的总体方案建立在Eclipse 面向 J2EE 3层模型的开发平台[6-7]、B/S 架构[8](浏览器/服务器)和SpringMVC 设计模式的基础上。

系统主要分为3层,分别是表示层、控制层和模型层。其中表示层通过浏览器给用户呈现所要了解的信息,主要是一些采用 JSP 开发的Web 页面;控制层主要是对一些具体的问题进行处理,也就是直接对数据进行一些管理,实现系统业务逻辑;模型层是控制层的数据支撑,主要是一些底层数据库[9]。

系统的工作流程是:用户在浏览器的Web页面上进行的一系列操作,会通过表示层以消息的形式传递给控制层。由于控制层主要是实现业务逻辑的,所以控制层可连接表示层和模型层。控制层将从表示层得到的用户操作进行相应解析,从而分析出用户操作所对应的数据对象。然后控制层会根据这些业务逻辑关系来查询模型层中的数据库,从而得到用户的数据对象。模型层可对这些数据对象进行一系列调整,以便消息的传送。模型层再把调整后的结果返回给控制层,控制层根据得到的数据来对表示层的Web页面进行相应的调整,从而将用户所要了解的信息在Web页面上显示出来。

本文在系统整体设计的基础上,分别从表示层、控制层和模型层对系统的设计方法进行描述[10],从而使得该系统的功能结构更加清晰。其设计巡查系统架构如图3所示。

(1)表示层(View)。是应用程序的外在表现,是系统与用户进行信息交换的媒介。其主要是一些JSP页面,通过用户可直观的了解自身需要的信息。这些JSP页面主要由HTML及JSP标签和嵌入其中的Java脚本代码组成,并以*.jsp作为页面文件的扩展名。JSP引擎通过执行JSP对应的Servlet程序代码,包括创建Servlet对象实例,调用jspInit()、jspService()等方法。最后完成对浏览器页面的请求处理、并向浏览器输出处理后的信息结果;

(2)控制层(Controller)。主要由异常上报、异常分派、处理关闭、人员管理、部门管理等几部分组成,具体如图3所示。

Controller可看做是系统的核心,通常情况是由Servelet组成,Servelet可视为控制器,管理访问服务器端资源和客户机端的请求。Control Servlet主要从Http Servlet继承,实现Init()、doPost()、doGet()、processRequest()等方法。doPost()和 doGet()用于接收用户请求,并交由 processRequest()方法进行统一处理;

图3 巡查系统架构

(3)模型层(Model)。主要包括一些数据库如异常信息库、人员库、部门库、公共设施库等和一些起支撑作用的组件如权限管理、认证管理、参数管理等。除此之外模型层中的核心架构部分在整个系统中的作用至关重要,特别是服务总线,其是总体架构的核心部分,贯穿于架构的数据层、应用层和表示层,各层提供的服务都通过服务的统一管理进行服务的发布注册和监控管理,各层对其他层服务的调用都通过服务总线进行发现、绑定和调用,模型层的组成如图3所示。

当管理员对系统信息进行维护时要频繁的对数据可进行访问,这样会增加系统负担,使系统运行效率下降。为有效地保存数据,在设计时使用MySQL数据库来有效的存储数据。为避免管理员对系统频繁访问带来的诸多问题,本文采用JDBC连接池技术对系统进行优化,提高运行效率[11-12]。数据库与驱动程序建立连接时,可由DriverManager来查找数据库驱动程序,DriverManage还可根据数据库的URL、用户名和密码来创建数据库数据库对象JDBC Connection。当数据库建立完成之后,便可用JSP连接MySQL,从而获得所需的数据信息。

3系统测试

3.1手机终端测试

系统的一般用户通过手机终端向服务台发送服务请求,服务台根据用户的请求进行事件的处理。为检验用户发送服务请求的功能是否可用,在测试时用手机终端向服务台发送请求,请求发送之后在手机界面会有相应的显示。因手机界面的限制,只选取其中的5次进行说明,用户请求信息列表界面如图4(a)所示。可看到用户发送的全部请求均可在用户界面上显示出来,另外通过“双击”具体的请求则可显示出用户请求的详细信息,如图4(b)所示。

经检验发现,手机客户端用户发送请求的功能得以实现。

图4 用户信息发布界面

3.2服务端测试

因服务端主要由服务台、技术部和管理部3个模块组成,三者之间有较大的相似性,在进行测试时,主要以服务台模块为重点来进行检测。

当用户的请求发送后,首先会在服务台“未分派”处显示出来,如图5所示。此时客服人员可将信息进行分派、初步处理或关闭。当客服将信息进行分派并将其关闭后便可在“已关闭”处显示客服已经处理过的用户请求,如图6所示。在客服处理过的用户请求列表处,通过“双击”任意一条用户请求,不仅可了解到用户请求的具体信息,还可获得客服对该信息的处理过程与处理时间,如图7所示。

通过对系统检测可知,服务端的功能完全可实现。

图5 未分派信息显示

图6 已关闭信息显示

图7 处理信息显示

在系统的设计过程中用到的图表众多,为了验证系统的可靠性,只选取其中最典型的一个图表来进行说明。该图标可将接收的业务量的详细信息全部显示出来。通过手机终端向服务端发送近70条请求,在网络稳定的情况下,所有请求全部发送成功,并在图8所示的表中按时间顺序显示出来。

图8 系统可靠性检测图

通过以上的验证可知,利用SpringMVC技术对系统进行设计,不仅可以实现系统所应有的功能,而且可以保证系统的可靠性。另外在设计的过程中可发现利用MVC技术能提高系统开发的效率,还可降低代码的耦合度,提高代码的复用率。本文设计的巡查系统不仅操作简单方便,且使得系统在进行异常的上报、分派、处理、回访、关闭等环节能高效稳定的运行。

4结束语

本系统以Eclipse为开发平台,在系统的实现方式上选用B/S架构,在设计模式上采用MVC设计模式。通过对系统的组成和系统各模块功能的描述,详细介绍了公共设施巡查系统的设计与实现。系统基于Spring MVC模式开发,从而保证了系统访问和后台维护的实用性。通过对该系统的研究与设计,证明了SpringMVC在系统设计中灵活性高、可扩展性强的优点。当然该系统还存在一些缺陷,针对不足之处,在后续工作中会对其进行进一步的完善与发展,以使系统功能更加完善。

参考文献

[1]邓子云,罗涛,黄友森,等.基于Struts2+Hibernate3+Spring2的物流数据交换平台[J].计算机应用与软件,2009,26(10):88-100.

[2]王映辉,王英杰,王彦君,等.基于MVC的软件界面体系结构研究与实现[J].计算机应用研究,2004,21(9):188-190,193.

[3]赵伟,王志华,周兵.基于MVC的e-ERP系统的设计与实现[J].计算机应用与软件,2013,30(2):106-109.

[4]刘玲.基于Spring MVC的旅游电子商务平台搭建[D].上海:复旦大学,2009.

[5]薛峰,梁锋,徐书勋,等.基于Spring MVC框架的Web研究与应用[J].合肥业大学学报:自然科学版,2012,35(3):337-340.

[6]曹鸣鹏,赵伟,许林英.J2EE技术及其实现[J].计算机应用,2001,21(10):20-23.

[7]Askar S Boranbayev.Defining methodologies for developing J2EE web-based information systems[J].Nonlinear Analysis,2009,71(12):1633-1637.

[8]孙柏松.Spring MVC设计模式和Eclipse在B/S架构电子商城交易系统中的研究[D].北京:中国地质大学,2010.

[9]冯润民.基于SSH的高校学生管理系统设计与实现[J].计算机工程,2009,35(6):280-282.

[10]张宇,王映辉,张翔南.基于Spring的MVC框架设计与实现[J].计算机工程,2010,36(4):59-62.

[11]张俐,张维玺.改进的JDBC框架在数据持久层的应用[J].计算机工程与设计,2010,31(8):1746-1749.

[12]罗荣,唐学兵.基于JDBC的数据库连接池的设计与实现[J].计算机工程,2004,30(9):92-94.

Design of Public Facilities Patrol System Based on Spring MVC

ZHANG Bin,ZHANG Damin,ZENG Cheng

(College of Big Data and Information Engineering,Guizhou University,Guiyang 550025,China)

AbstractA mobile public facilities patrol system based on Spring MVC is developed by hierarchical method for timely disposal of faulty public facilities.In this system,the lower level is considered as a service provider and the upper as service users.The hierarchical division follows the principle that low coupling in layers and high cohesion between layers.The function and composition of this system are introduced in detail.The system realizes early discovery and disposal of abnormal public facilities.

Keywordspatrol system;Spring MVC;abnormal;SOA system

doi:10.16180/j.cnki.issn1007-7820.2016.05.039

收稿日期:2015-09-17

基金项目:黔科合计省合基金资助项目([2014]7002号);贵州省合作计划基金资助项目([2012]7002号);贵州大学研究生创新基金资助项目(研理工2015078)

作者简介:张斌(1990—),男,硕士研究生。研究方向:计算机应用技术。张达敏(1967—),男,博士,教授,硕士生导师。研究方向:计算机应用技术等。

中图分类号TP302

文献标识码A

文章编号1007-7820(2016)05-145-04

猜你喜欢
异常
发电机负序电流异常增大的原因分析
电力计量装置异常的监测方法及处理对策
嵌入式系统课程“中断、异常与事件”教学实践及启示
探讨糖尿病合并促甲状腺激素、甲状腺激素异常患者的临床诊断治疗
“异常”动力