刘敏娜
SSI框架在教学资源平台应用的研究
刘敏娜
摘 要:基于构建具有开放式的,可扩展性的教学资源平台的目的,采用Spring,Struts2和iBatis技术,使用框架搭建起符合WEB2.0标准的教学平台。平台具有用户管理,角色管理,资源管理,留言等功能模块。通过实验,证实该系统能满足学生在线学习,下载资源,留言等学习需求。因为使用的是三大框架搭建,并且应用MVC分层结构,因此系统在发生需求变更时,如增加学生的浏览记录功能时,只需要修改少量代码,即可进行扩展。
关键词:Spring;Struts2;iBatis;MVC
随着互联网技术的发展,教育领域的信息化进程进一步深入。教育部在2012年的《教育信息化十年发展规划(2011 -2020年)》中指出,到2020年,基本建成人人可享有优质教育资源的信息化学习环境;各级各类教育的数字资源日趋丰富并得到广泛共享,优质教育资源公共服务平台逐步建立,政府引导、多方参与、共建共享的资源建设机制不断完善。教学资源的信息化,也就是将数字化的资源整合到网络教育平台,建立基于WEB2.0的教学资源网站,将教学视频,课件,素材,作业发布于此平台,学生可以方便的获取资源,合作学习,分享学习成果和经验,从而提高教学的质量和效率[1]。
现在互联网上已经存在一些教学资源平台,在教学知识传播方面,这些网站普遍做的比较好,但是同时也存在一定的问题,如教学平台资源更新速度慢,缺乏持续发展的动力[2];各资源平台相互独立,缺少共享,造成资源的浪费。基于此目的,开发一款具有可扩展性,可维护性,可重用性的教育教学信息平台迫在眉睫。
课题采用Spring,Sturts2.0,iBatis技术,运用java语言,Mysql数据库,建立一个具有开放性和互动性的平台。
SSI框架是支持MVC(模型、视图、控制)的框架,由Spring,Struts和ibatis3种技术融合而成。在框架中,Struts技术比较擅长控制层处理,Spring技术主要特长为业务逻辑控制,ibatis专注于持久层开发[3]。这3种技术的融合,有助于开发低耦合的、高重用的、可维护性强的web系统。
1)Spring技术
Spring是一种轻量级的Java开发框架,设计框架目的是为了解决企业应用开发的复杂性而设计的。框架采用分层架构,可以自由选择组件,面向方面的编程(AOP),可以方便地集成其它优秀框架,利用框架提供的控制反转技术(IOC),使控制权转给容器,可以将对象之间的依赖关系由Spring来管理,降低开发难度。
2)Struts2技术
Struts2是以WebWork为核心,采用拦截器机制处理用户请求,使得业务逻辑控制器与ServletAPI分离。所有基于Struts2的应用程序都是基于c/s http交换协议,可以在业务逻辑中使用java语言进行设计。Struts2在数据传递方面,提供了强大的OGNL标签功能,能够在action中定义变量来与jsp页面数据进行传值;在跳转控制方面,简化了配置文件的定义,使页面和action之间的交换更加简洁和直观[4]。
3)iBatis技术
iBatis是一种轻量级的OR Mapping框架,提供了半自动化对象关系映射,开发人员通过在配置文件中编写具体的sql语句,从而实现数据库的操作。
4)三种技术的融合
SSI框架基于MVC分层模型,MVC强调,WEB系统分为视图层,控制层和模型层,在SSI框架中,Struts2通过标签实现action与视图层的数据交互从而完成控制层作用。Spring完成业务逻辑控制,利用Spring的依赖注入对业务逻辑类和dao类的实例控制。通过iBatis提供的半自动化对象映射,进行持久层开发。项目中引入SSI框架,可以降低代码的耦合度,增加系统的健壮性[5]。
2.1需求分析
系统分为三种角色,普通教师,学生和系统管理。普通教师具有资源上传,回复留言,个人中心等功能[6]。学生具有在线查看资源,上传作业,资源下载,在线留言等功能;管理员拥有用户管理,资源管理等操作权限。
2.2系统总体设计
1.系统总体设计
根据需求分析,确定系统的功能模块分为资源管理,用户管理,留言管理,角色管理,资源下载,留言发布等部分。系统总体结构图如图1所示:
图1 系统结构图
2.系统数据模型
学生、管理员、留言表实体之间的关系E_R图,如图2所示:
图2 E_R图
SSI模型将系统分为业务逻辑层,控制层和持久层。
1)业务逻辑层
通过Spring的控制反转,控制权转向容器,由容器根据配置文件去创建实例并创建各个实例之间的依赖关系。通过配置类说明管理依赖关系。Spring根据这些配置内部通过反射去动态的组装对象。
以用户管理模块为例,容器自动实例化userAction,userService,userDAO对象。userDAO对象的sqlMapClient属性经过容器注入sqlMapClientTempleate的实例化对象,userDAO和roleDAO对象作为属性来实例化userService对象。容器实例化流程图如图3所示:
图3 容器实例化流程图
2)控制层
Struts2 Filter检查用户发出的URL Pattern是否匹配预设格式,本项目是在web.xml中设置扩展名为do。设置核心语句如下:
<filter-mapping>
<filter-name>session</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
如果匹配成功,通过拦截器处理请求,将前置拦截器拦截处理后的数据交给Action,如user.jsp页面定义提交后交给userQueryAjax处理。在user-struts.xml中定义由userAction类中的query方法具体执行操作。
<action name="userQueryAjax" class="userAction" method="query">
<result type="json">
<param name="root">result</param></result></action>
在执行query方法时,需要通过反射机制为成员变量映射值,通过Spring依赖注入,通过持久层执行底层SQL语句。将持久层查询的数据经过后置拦截器,数据显示在JSP
代码组成的视图中。Struts处理流程图如图4所示:
图4 Struts处理流程图
3)持久层
持久层是由多个xml配置文件组成,在配置文件中指明命名空间,结果集和实体类之间的映射,以及多个select语句块。以根据id查询用户名的select为例,核心代码如下:
<select id="queryUserNameFortypeid" resultMap="userVO" parameterClass="java.util.Ha-shMap">
select sys_user.* from sys_user
where
sys_user.name = #username#
and
sys_user.type_id =
#type_id#
</select>
根据用户传入的HashMap类型的数据,来判断Map中的key为“username”的value与用户表中的name字段值是否一致,同时Map中key为“type_id”的value与用户表中的type_id字段值匹配。如果一致返回相应的记录。
教学资源平台是在教师和学生之间搭建的一个教与学的平台,方便教师了解学生的学习情况,并有针对性的指导。因此,这个平台是对传统教学模式的改革。目前,教学平台已经投入了使用,学生在网站上可以进行自主学习,针对疑惑的问题在线留言。教师可以随时随地发布教学资源,并对学生的疑问进行解答,而且通过学生浏览网站记录查询,可以了解学生自主学习的情况。因此,这套系统能有效的提高教学质量。
教学资源平台开发中使用了SSI框架,使用该框架可以降低代码的耦合度,增强代码的健壮性和可重用性,可以加快开发速度,便于今后决策支持系统扩展和系统升级。
参考文献
[1] 寇援援.网络教学平台的发展现状及趋势[J].电子设计工程.2011.19(16):123-126. 02-28.
[2] 陈菁华.国内教育网站现状及发展[J].高等函授学报.2000,(5):37-39.
[3] 吴锋. 基于SSI框架JavaEE技术研究[D]. 合肥工业大学.2009.
[4] 孙卫琴.精通Struts:基于MVC的JavaWeb设计与开发[M].北京:电子工业出版社,2004:1-17.
[5] 解勇.基于SSI框架的中小型企业网站新闻发布系统的设计与实现 [D].吉林大学.2014.
[6] 黄辉.教学资源库平台的研宄与设计[D].北京北京交通大学.2008.
Research on Application of SSI Framework in Teaching Resource Platform
Liu Min na
(1. Xianyang Normal University, College of Information Engineering, Xianyang 712000, China; (2. Xianyang Normal University Institute of Graphics and Image Processing, Xianyang 712000, China)
Abstract:Based on the construction of open, extensible platform of teaching resources of the purpose, using Spring, Struts2 and iBatis technology, using the framework to build WEB2.0 compliant teaching platform The platform with user management, role management, resource management, message function module Through the experiment, it is proved that the system can satisfy the students' online learning, download resources, message and other learning needs. Because of the use of the three is to build a framework, and application of MVC hierarchical structure, so the system in the event of demand changes, such as increasing students' browsing function, only need to modify a small amount of code, can be extended.
Key words:Spring; Struts2; iBatis; MVC
收稿日期:(2015.12.15)
作者简介:刘敏娜(1981-),女,陕西榆林人,硕士学位,讲师,研究方向:CUDA并行计算,机器学习,咸阳,712000
基金项目:1.陕西省教育厅专项基金资助项目(15JK1803);2.陕西省科学技术研究发展计划项目(2013JM8037);3.咸阳师范学院专项科研基金项目(14XSYK036).
文章编号:1007-757X(2016)02-0043-02
中图分类号:G40-057
文献标志码:A