劉敏娜,趙 薔
(1.咸陽師范學院 計算機學院,陜西 咸陽 712000;2.咸陽師范學院 圖形圖像處理研究所,陜西 咸陽 712000)
SSI技術在教學資源平臺應用的研究
劉敏娜1,2,趙 薔1
(1.咸陽師范學院 計算機學院,陜西 咸陽 712000;2.咸陽師范學院 圖形圖像處理研究所,陜西 咸陽 712000)
開放和可擴展的教學資源平臺能夠向在校師生提供資源豐富、內容詳實的學習與參考資料,有助于提高教學質量。采用Spring、Struts2和iBatis技術,基于SSI框架按照WEB2.0標準,構建了具有開放式和可擴展性的教學資源平臺。該平臺由用戶管理、角色管理、資源管理、留言等功能模塊組成。當平臺的后臺數據發生變化時,管理員根據所需要生成的任務類型,在任務選項中選擇動態生成的HTML頁面,而瀏覽者訪問的是靜態HTML文件,從而避免了重復訪問數據庫,并有效提高了平臺訪問的性能。實驗結果表明,所構建的教學資源平臺系統可滿足學生在線學習,下載資源,留言等方面的學習需求,且界面友好、操作簡單。由于所構建的平臺系統基于三大框架搭建,且采用MVC分層結構,因此當應用需求發生變化時,只需要少量代碼修改即可進行功能拓展。
教學資源平臺;三大框架;分層結構
互聯網時代的到來,對傳統的教學模式提出了挑戰,僅僅依靠課堂內50分鐘教學,教學內容有限,傳授的信息量有限,且學生的疑問不能充分解答。針對這些問題,很多學校開展了在線課堂活動,即利用互聯網平臺,在師生之間建立起溝通的橋梁,教師可以發布教學資源,在線輔導答疑,學生可以在線提交作業,學習課程。但是,目前互聯網上的教學資源平臺存在一定的不足,如不同的教學資源平臺之間缺少共享性,教學資源更新慢,教師也無法了解學生的在線學習情況,等等[1]。因此,開發一款具有開放性、實用性的教學系統十分必要。
該系統基于Struts2、Spring和iBatis框架,數據庫為MySQL,由于使用了框架技術,因此具有非常好的擴展性。該系統具有教學資源共享的功能,可為教師提供教學視頻、課件,可為學生在線答疑解惑,并具有了解學生登錄網站學習時間及訪問頁面等功能。目前,該平臺已經投入應用,運行良好[2-5]。
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 系統總體結構圖
學生有性別、姓名、ID、系別、密碼等字段,留言表有日期、ID號、留言標題、內容、回復。管理員的字段為姓名、ID和密碼。圖2為學生,管理員,留言表實體之間的關系E_R圖。
該系統應用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的請求進行處理,其他擴展名的請求通過過濾器進行過濾。
設置核心語句如下:
(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返回調用的方法處。核心代碼如下:
selectsys_user.* from sys_user
where
sys_user.name=#username#
and
sys_user.type_id=
#type_id#
(2)網站瀏覽記錄的持久層。
網站瀏覽記錄模塊僅提供查詢功能,根據頁面的id號查詢網頁的標題、內容等信息。
核心代碼如下:
select
t_html_data.* from t_html_data where t_html_data.id= #id#
用戶管理模塊測試如表1所示;網站瀏覽記錄的持久層如表2所示。

表1 用戶管理測試用例表

表2 網站瀏覽記錄測試用例表
為了能在教師和學生之間搭建一個在線學習平臺,方便教師發布最新的課程資料,構建了教學資源平臺。該平臺采用成熟的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