APP下载

Java Web数据传递与存储过程在实验实训平台中的应用分析

2017-03-02张林静

巢湖学院学报 2017年6期
关键词:数据表调用客户端

郭 标 张林静 胡 强

(安徽警官职业学院,安徽 合肥 230031)

1 引言

传统的实验实训模式因受到时空的局限性而缺乏灵活性[1]。传统的课程教学方式无法对实验实训项目的发布、任务安排、跟踪和实验报告的整个过程做有效的管理;缺少实验实训项目库的管理;未能准确有效的对学生实验实训任务各环节做监督;师生之间的信息交流渠道较窄;实验报告的归档、批复与管理力度较低。

实验实训管理平台是基于2014年度省质量工程一般项目(2014jyxm563)和2015年度省自然科学研究项目《项目实训过程监控系统》(12219zrkx2015B01)而开发研究的系统。

它提供更方便更快捷的项目过程的监控,打破了时空的局限性,改变了传统的教育方式,使教学控制有了更大的灵活性;同时也为我们的学生在获取与项目有关资源和素材带来了方便。实现了项目管理与发布、项目任务安排、项目进度跟踪、自动生成进度报告、项目验收和成绩管理等一系列功能。

该系统针对课程教学采用“项目导入、任务驱动”的教学方法[2],弥补了项目驱动教学中对项目“完整的工作过程”监控和管理的不足[3]。这套系统体现出学生是项目的主体,能充分调动学生的主观能动性,并记录着学生在项目中成长的历程。整个系统以项目过程监控为核心,监控项目整个执行过程。当发布项目时,项目负责人可以编制项目任务,在项目开展过程中每个项目成员随时提交项目任务的进展步骤,项目完成后提交项目成果和总结报告,最终根据项目过程自动生成项目完整报告。指导教师在整个项目进行过程中起着引导、监督作用,具体负责项目立项、项目库管理、项目发布、过程监控和项目成果点评等工作。

实验实训平台采用SpringMVC+Mybatis技术[4]完成整个系统的开发。Spring[5]是一个轻量的控制反转和面向切面的容框架。它通过控制反转(IOC)促进松耦合,使得对象被动地传递所依赖对象;通过分离业务层和逻辑层达到同系统服务进行内聚性的开发。MVC的全称是模型(model)-视图(view)-控制器(controller)。利用SpringMVC技术能够将逻辑层、数据层和界面显示层的分离,使得前台界面与后台业务服务分离,在用户交互方式更换或更新时不需要重新编写业务层。Mybatis是一个支持普通SQL查询、存储过程和高级映射的优秀持久层框架,只需使用简单的XML或注解用于配置和原始映射,就能将接口和Java的POJOs映射成数据库中的记录,为访问数据库提供了更大的便利。

2 MVC层次间数据传递

MVC 模型[7]根据功能来分层,分别是 View,Mapper,Service,Controller,Model层。 View 是显示数据与前台页面层;Mapper是对象持久化映射层,Service是业务逻辑的处理层,实现业务需求调用Mapper层;Controller层是控制整个应用程序的前后台传递,处理输入、处理表单等交互动作,负责数据在业务逻辑和展示界面之间的调用;Model是数据模型层,完成数据表中字段重定义,模型对象负责在数据库中存取数据。如下图1所示:

图1 自下而上的数据层次图

SpringMVC核心是前端控制器(DispatcherServlet),它是各层次间调度管理器,它能根据请求映射规则分发给相应的页面控制器(动作/处理器)进行处理。各层次间数据流走向描述如下:JSP网页(View层)中action请求调用Controller层中对应的方法;Controller层调用Service层方法和Model层中的数据模型来获取数据对象,并将数据对象返回到JSP页面;Service层数据借助Mapper层与数据库数据表关联,从而使数据持久化;Mapper层结合对应XML文件的SQL语句来完成数据表操作,获得的数据放在Model层对应数据对象中。Model层描述的数据对象和JSP页面(View层)再通过IOC(控制反转)技术融合,从而使得数据返回前台页面。如下图2所示:

图2 MVC层次之间数据传递关系

3 数据传递在实验实训平台中的应用

3.1 View层(视图层)

它是应用程序中处理数据显示的部分,通常视图是依据Model层模型数据创建的。客户端向Web应用服务器发出Request请求,后台Controller层响应请求,调用程序处理后得到Response结果返回给客户端。Request与Response之间的不断交互构成了客户端与服务器的数据传递过程[6]。

3.2 Controller层(控制层)

它的作用是接受从客户端request数据请求,并依据业务需求处理数据,待数据处理完毕后,再将Model数据对象和View视图相融合,生成Response结果,回传给客户端。

3.3 Service层(服务层)

它的作用是数据业务处理,负责数据的增删改查等操作的调度。

3.4 Mapper层(对象持久映射层)

它的作用是对象持久化,根据映射与数据库中的记录相对应,从而持久保存数据。

3.5 XML文件

3.6 Model层(数据模型)

它是建立在内存中各层次交流的数据模型,往往与数据表字段相对应,即数据表记录与内存中数据对象一一对应,通过Get/Set方法来访问数据。

4 数据存储过程在实验实训平台中的应用

在实验实训管理平台中需要实时更新数据库。例如批阅进展的子模块中,系统管理员需要实时更新教师对学生实训项目的监控情况。存储过程[7]是存储在数据库中一组为了完成特定功能的SQL语句集,它只需一次编译后永久调用。其重复使用性,减少数据库开发人员的工作量,提高开发效率。为了防止Sql注入式攻击[8]和保障数据安全性,采用带参数的存储过程[9],并在controller层调用该存储过程。具体过程如下:

Step1:创建临时表(examinecount表)

Step2:创建带参数的存储过程updateExaminecount

Step3:在java中controller层调用带参数的存储过程。

5 总结

Java Web技术的不断发展,正确处理客户端与服务器间、服务器内部的数据传递对整个数据流走向的效率有着重要影响,掌握数据流的走向便于提高软件的开发效率,减少后期的维护成本。带参数数据存储过程完成了实时更新数据功能,不仅提高数据库的可维护性,而且提高了数据库安全性。

[1]刘斯津.工程实验实训中心网络平台的构建研究[J].长春师范大学学报,2015,(34):104-106.

[2]曹文,瞿金山,张春燕,等.人机交互型电子技术实验实训平台研究[J].江苏科技信息,2014,(12):11-12.

[3]姚云芳.中职电子专业项目教学“实验实训平台”构建与实践研究——以《电子基本电路安装与测试》课为例[J].学周刊,2014,(8):55-57.

[4]杨立春.基于 Struts+Spring+Hibernate 框架的应用与研究[J].福建电脑,2007,(6):52-53

[5]叶锋.Python最新Web编程框架Flask研究[J].电脑编程技巧与维护,2015,(15):27-28.

[6]杨怿,陈卓妮.Java Web应用底层数据传递模式的分析与研究[J].湖北师范学院学报(自然科学版),2014,(1):27-29.

[7]王洪,朱锐.数据库存储过程设计及应用[J].电子信息对抗技术,2009,(24):59-63.

[8]常红梅.基于存储过程的数据库安全性实践初论[J].网络安全,2015,(4):112-114.

[9]丛大众.Orcel数据库中存储过程开发研究[J].电子制作,2015,(1):70-71.

猜你喜欢

数据表调用客户端
湖北省新冠肺炎疫情数据表(2.26-3.25)
湖北省新冠肺炎疫情数据表
核电项目物项调用管理的应用研究
如何看待传统媒体新闻客户端的“断舍离”?
LabWindows/CVI下基于ActiveX技术的Excel调用
基于列控工程数据表建立线路拓扑关系的研究
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
大枢纽 云平台 客户端——中央人民广播电台的探索之路
基于系统调用的恶意软件检测技术研究