SSI技术在教学资源平台应用的研究

2017-09-19 07:18刘敏娜
计算机技术与发展 2017年9期
关键词:咸阳实例框架

刘敏娜,赵 蔷

(1.咸阳师范学院 计算机学院,陕西 咸阳 712000;2.咸阳师范学院 图形图像处理研究所,陕西 咸阳 712000)

SSI技术在教学资源平台应用的研究

刘敏娜1,2,赵 蔷1

(1.咸阳师范学院 计算机学院,陕西 咸阳 712000;2.咸阳师范学院 图形图像处理研究所,陕西 咸阳 712000)

开放和可扩展的教学资源平台能够向在校师生提供资源丰富、内容详实的学习与参考资料,有助于提高教学质量。采用Spring、Struts2和iBatis技术,基于SSI框架按照WEB2.0标准,构建了具有开放式和可扩展性的教学资源平台。该平台由用户管理、角色管理、资源管理、留言等功能模块组成。当平台的后台数据发生变化时,管理员根据所需要生成的任务类型,在任务选项中选择动态生成的HTML页面,而浏览者访问的是静态HTML文件,从而避免了重复访问数据库,并有效提高了平台访问的性能。实验结果表明,所构建的教学资源平台系统可满足学生在线学习,下载资源,留言等方面的学习需求,且界面友好、操作简单。由于所构建的平台系统基于三大框架搭建,且采用MVC分层结构,因此当应用需求发生变化时,只需要少量代码修改即可进行功能拓展。

教学资源平台;三大框架;分层结构

0 引 言

互联网时代的到来,对传统的教学模式提出了挑战,仅仅依靠课堂内50分钟教学,教学内容有限,传授的信息量有限,且学生的疑问不能充分解答。针对这些问题,很多学校开展了在线课堂活动,即利用互联网平台,在师生之间建立起沟通的桥梁,教师可以发布教学资源,在线辅导答疑,学生可以在线提交作业,学习课程。但是,目前互联网上的教学资源平台存在一定的不足,如不同的教学资源平台之间缺少共享性,教学资源更新慢,教师也无法了解学生的在线学习情况,等等[1]。因此,开发一款具有开放性、实用性的教学系统十分必要。

该系统基于Struts2、Spring和iBatis框架,数据库为MySQL,由于使用了框架技术,因此具有非常好的扩展性。该系统具有教学资源共享的功能,可为教师提供教学视频、课件,可为学生在线答疑解惑,并具有了解学生登录网站学习时间及访问页面等功能。目前,该平台已经投入应用,运行良好[2-5]。

1 SSI框架

SSI的框架主要由Struts2、Spring以及iBatis组成,它们负责模型、视图层和控制层中各层间的交互与协作,从而实现整个Web端的功能实现与整合。Struts目前主要负责数据的传递和控制,Spring则依靠其强大的依赖注入技术实现了类似bean托管和整合等功能,而iBatis作为一种轻量级的OR Mapping框架,提供了半自动化对象关系映射的实现,自由度相对于Hibernate更高[6-8]。

(1)Spring技术:Spring是一个开源框架,是为了解决企业应用程序的开发复杂性而开发的。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架[9]。

(2)Struts2技术:Struts是一种在整合了当前动态网站技术中Srvlet、JSP、JavaBean、JDBC、XML等基础上的主流Web开发框架,是一种基于经典MVC的框架。采用Struts可以简化MVC设计模式的Web应用开发工作,很好地实现代码重用,使开发人员从繁琐的工作中解脱出来,从而开发具有强扩展性的Web应用[10]。

(3)iBatis技术:iBatis是一个基于SQL映射,支持Java和.NET的持久层框架。它提供了一种半自动化的对象关系映射,通过XML文件中编写SQL语句来对数据库进行增删改查操作[11]。

(4)三种技术的融合:控制层利用Strtus2标签功能,在Action中直接与JSP页面上的数据进行交互。在调用业务逻辑层应用时,Struts2利用Spring框架的依赖注入实现对业务逻辑类和DAO类的实例管理;在事务处理方面,利用Spring提供的面向切面的事务处理,使对数据的事务控制脱离于数据访问接口实现;在对象关系映射方面,利用的是Spring对数据库连接池的管理和对iBatis框架的支持。在持久层,利用iBatis提供的半自动化对象关系映射的实现,开发人员需要编写具体的SQL语句,为系统设计提供更大的自由空间。使用SSI框架能够降低代码的耦合度,增强了代码的健壮性和可重用性,加快了开发速度[12]。

1.1需求分析

系统的主要用户分为三种:超级管理员、教师和学生[13]。学生拥有教学资源下载、上传作业、在线查看教学资源、留言等功能;教师可将学习资源上传,处理学生的留言,浏览学生学习记录;超级管理员可维护教师和学生用户信息,管理用户角色,对角色分配权限。

1.2系统总体设计

教学资源平台分为角色管理、留言管理、用户管理、资源管理等模块,系统结构图如图1所示。

图1 系统总体结构图

2 系统数据模型

学生有性别、姓名、ID、系别、密码等字段,留言表有日期、ID号、留言标题、内容、回复。管理员的字段为姓名、ID和密码。图2为学生,管理员,留言表实体之间的关系E_R图。

3 基于SSI模型的系统实现

该系统应用SSI模型开发,根据分层思想分为业务逻辑层、控制层和持久层。

3.1业务逻辑层

业务逻辑是通过Spring框架的容器去实例化对象,同时创建实例之间的关系。这种控制反转可以使开发人员不用考虑对象的实例化操作。

(1)用户管理模块的业务逻辑。

容器将自动为userAction,userService,userDAO和BaseDAOImp对象进行注入。先自动实例化sqlMapClient属性,通过此属性来实例化sqlMapClientTempleate对象。

图3为容器实例化流程图。

图2 E_R图

图3 容器实例化流程图

(2)网站浏览记录业务逻辑。

容器通过注入sqlMapClientTemplate对象实例化pagegenaeratinoDAO对象,继续实例化pagegenerationServer对象,最终完成pagegenerationAction对象的实例化操作。核心代码如下:

3.2控制层

控制层用于调用业务层的相关代码来实现与数据库的交互等功能。Struts2根据用户的URL Pattern请求,来决定请求由哪个模块处理。该项目中只对扩展名为.action的请求进行处理,其他扩展名的请求通过过滤器进行过滤。

设置核心语句如下:

session

*.action

(1)用户管理的控制层。

当请求以action作为扩展,前置拦截器将处理后的数据交给相应的action。对用户管理的JSP页面,将数据交给userQueryAjax处理。根据Struts配置文件,具体由query方法来调用业务逻辑层对数据进行操作。

在user-struts.xml中,有关query方法的具体执行操作如下:

result

执行query方法时,通过Struts2的反射机制,将JSP页面用户输入的数据注入到action文件中的成员变量,通过持久层来操作底层SQL语句。查询的数据通过后置filter,将数据显示在视图层。图4为Struts处理流程图。

图4 Struts处理流程图

(2)网站浏览记录的控制层。

学生用户打开一个网页时,通过ajax异步向服务器发送一个pagegenerationAjax.action请求,经过filter处理后,浏览网页的ID和用户ID交给pagegeneration-struts.xml处理。配置文件中,定义由query方法将网页ID和用户ID插入浏览记录表中。浏览记录配置的action代码如下:

result

3.3持久层

持久层根据配置文件中的命名空间中有关结果集合实体之间的对应关系进行映射。它是由多个XML配置文件组成[14-15]。

(1)用户管理的持久层。

业务层通过queryUserNameFortypeid来调用有关用户信息的查询语句,根据用户名name和用户类型id来查询用户信息,将查询到的结果封装成userVO返回调用的方法处。核心代码如下:

(2)网站浏览记录的持久层。

网站浏览记录模块仅提供查询功能,根据页面的id号查询网页的标题、内容等信息。

核心代码如下:

//给实体类起的别名,方便下文引用

4 系统测试

用户管理模块测试如表1所示;网站浏览记录的持久层如表2所示。

表1 用户管理测试用例表

表2 网站浏览记录测试用例表

5 结束语

为了能在教师和学生之间搭建一个在线学习平台,方便教师发布最新的课程资料,构建了教学资源平台。该平台采用成熟的SSI框架搭建,运用MVC分层设计思想,使系统具有非常好的扩展性,便于今后决策支持系统扩展和系统升级。该系统已经在咸阳师范学院投入使用,运行情况表明,系统能为师生提供有效的课程发布和课程学习服务。

[1] 寇媛媛.网络教学平台的发展现状及趋势[J].电子设计工程,2011,19(16):123-126.

[2] 陈菁华.国内教育网站现状及发展[J].高等函授学报:自然科学版,2000,13(5):37-39.

[3] 何 苗,郭允建,李慧丽,等.基于中国期刊网的网络教学平台研究现状分析[J].现代远程教育研究,2009(1):45-47.

[4] 郑 纲.关于网络教学平台的现状和发展趋势的探索[J].东方企业文化,2012(23):119.

[5] 解 勇.基于SSI框架的中小型企业网站新闻发布系统的设计与实现[D].长春:吉林大学,2014.

[6] 黄 辉.教学资源库平台的研究与设计[D].北京:北京交通大学,2008.

[7] 孙卫琴.精通Struts:基于MVC的Java Web设计与开发[M].北京:电子工业出版社,2004:1-17.

[8] 吴 锋.基于SSI框架JavaEE技术研究[D].合肥:合肥工业大学,2009.

[9] 张 琪.企业WEB应用下SSI框架分析[J].南京工业职业技术学院学报,2011,11(2):56-58.

[10] Zhao C,Jiang M,He Z.The design of E-commerce system architecture based on Struts2,Spring and Hibernate[C]//2nd international conference on information science and engineering.[s.l.]:IEEE,2010:3251-3254.

[11] 武宝珠,梁声灼,牛德雄.基于Struts2+Spring+Hibernate架构构建Web应用系统[J].计算机与现代化,2009(8):43-46.

[12] 李绍平,彭志平.S2SH:一种Web应用框架及其实现[J].计算机技术与发展,2009,19(8):117-119.

[13] 李 峰, 刘彦隆.基于SSH框架与j Query技术的Java-Web开发应用[J].图书情报导刊,2010,20(6):106-108.

[14] 李澎林,朱国清,吴 斌.基于iBatis SQL Map的数据持久层实现应用研究[J].浙江工业大学学报,2008,36(1):72-76.

[15] 程文波,卢涵宇,陈劲松.一种新的数据持久层设计方法与实现[J].微电子学与计算机,2011,28(7):28-30.

Research on Application of SSI Technology in TeachingResources Platform

LIU Min-na1,2,ZHAO Qiang1

(1.College of Computer,Xianyang Normal University,Xianyang 712000,China;2.Institute of Graphics and Image Processing,Xianyang Normal University,Xianyang 712000,China)

Open and extensible teaching resources platform can provide students and teachers with rich resources,detailed learning and reference materials,which is helpful to improve teaching quality.An open and scalable teaching resources platform is built with Spring,Struts2 and iBatis technology based on the SSI framework in accordance with WEB2.0 standards,which consists of user management,role management,resource management,message and other functional modules.When the background data platform is changed,the administrator can select the dynamically generated HTML page in the task option and access to the static HTML files according to the task type so as to avoid the repeated access to the database and can effectively improve the performance of platform access.The experimental results show that it can meet the needs of students’ online learning,resources downloading,messaging and other aspects,with friendly interface and simple operation.Because it is based on three frameworks with MVC hierarchical structure,when the application needs change,only a small amount of code modification can be functional expansion.

teaching resource platform;three framework;hierarchical structure

2016-08-05

:2016-11-17 < class="emphasis_bold">网络出版时间

时间:2017-07-11

陕西省教育专项基金资助项目(16JK1826,15JK1803);咸阳师范学院专项科研基金项目(13XSYK055)

刘敏娜(1981-),女,硕士,讲师,研究方向为CUDA并行计算、机器学习。

http://kns.cnki.net/kcms/detail/61.1450.tp.20170711.1452.008.html

TP39

:A

:1673-629X(2017)09-0170-05

10.3969/j.issn.1673-629X.2017.09.037

猜你喜欢
咸阳实例框架
有机框架材料的后合成交换
框架
咸阳
沐猴而冠
咸阳值雨
关于原点对称的不规则Gabor框架的构造
我国在WYO框架下面对的贸易保护现状及应对
完形填空Ⅱ
完形填空Ⅰ