劉敏娜
?
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