申涵 于立紅



摘要:隨著互聯網技術的迅速發展,“互聯網+教育”已成為一種新的教育形式。而對于傳統運用office辦公軟件進行對在校學生成績管理方式以不能滿足互聯網時代發展的需要。該系統采用B/S網絡結構模式,搭建基于SSI(struts2+spring+ibatis)的javaEE開發環境。用戶只需通過web瀏覽器完成對系統的訪問及使用,從而能夠提高學生成績管理工作效率,提升學校整體管理水平。
關鍵詞:互聯網+教育;B/S網絡結構;成績管理;javaEE
中圖分類號:G642? ? ? ? 文獻標識碼:A? ? ? ? 文章編號:1009-3044(2019)02-0060-03
1 系統總體設計
1.1功能模塊設計
本系統根據用戶的角色和權限不同,分為管理員端、教師端及學生端。根據功能不同,將成績管理系統分為七大模塊,分別為:用戶管理、學生信息管理、課程信息管理、班級信息管理、成績錄入、成績查詢、成績統計分析等。
學生端:學生可以使用學生信息管理及成績查詢模塊,完成對個人基本信息的完善和考試成績的查詢。
教師端:教師通過使用成績錄入模塊,對所教班級學生課程成績的錄入;同時也可使用用戶管理,對自己信息進行錄入及修改。
管理員端:管理員端則針對學校教務部門及學生管理部門人員,該人員使用課程信息管理及班級信息管理,完成對每個班每學期所學課程的錄入和學生所在班級管理。使用成績統計分析模塊課,可查詢所有學生成績,查詢所有班級平均成績等信息,為學生學習及班級管理做指導。
1.2系統架構設計
javaEE開發環境則需要搭建基于SSI架構完成成績管理系統的開發,該架構同樣也是基于MVC模式,并且已經做好了文件的分層,同時加入了日志輸出文件。前臺界面展示通過使用HTML+JavaScript語言完成動態頁面開發;struts用于接受頁面信息通過后臺處理返回結果;后臺spring對事務管理,使用JDBC的事務管理機制;ibatis則進行數據庫操作,提供對sql的封裝。
1.3數據庫設計
數據模型設計:實體聯系模型(E-R模型)是目前使用很廣泛的數據庫設計工具。通過對本系統功能模塊分析,可得出以下實體聯系模型圖1:
表結構設計:根據實體聯系模型圖,可得出成績管理系統所使用到的一些主表包括:學生信息表,班級信息表,課程信息表,學生成績表等。
1.4系統開發環境
操作系統為Windows 7 64位;
需要安裝軟件包括:JDK1.6以上版本,eclipse集成開發工具,中間件(服務器)tomcat7以上版本,SqlServer數據庫,瀏覽器IE10以上或者360瀏覽器;
開發使用語言:前端使用HTML,JavaScript;后臺使用java,sql結構化查詢語言。
2系統關鍵技術
2.1 AJAX技術
AJAX并不是一種新的編程語言,而僅僅是一種新的技術,它可以創建更好、更快且交互性更強的WEB應用程序。通過在幕后與 web 服務器交換數據,而不是每當用戶做出改變時重載整個 web 頁面,AJAX 技術可以使網頁更迅速地響應。
AJAX使用XML和HTTP請求,傳統的web應用程序會把數據提交到web服務器(使用HTML表單)。在web服務器把數據處理完畢之后,會向用戶返回一張完整的新網頁。通過AJAX,web應用程序無須重載網頁,就可以發送并取回數據。完成這項工作,需要通過向服務器發送HTTP請求(在幕后),并通過當服務器返回數據時使用JavaScript僅僅修改網頁的某部分。
2.2 json數據交互
struts2使用ajax實現頁面和action之間通過json數據交互。Json數據格式比較簡單, 易于讀寫, 格式都是壓縮的, 占用帶寬小;易于解析這種語言, 客戶端JavaScript可以簡單地通過eval()進行JSON數據的讀取;同時能夠直接為服務器端代碼使用, 大大簡化了服務器端和客戶端的代碼開發量, 但是完成的任務不變, 且易于維護。
2.3 spring架構
Spring的優勢在于方便解耦,簡化開發。spring IOC(控制反轉),利用工廠模式解耦,在實際開發中我們可以把所有的dao和service和action對象使用配置文件配置起來,當啟動服務器應用加載的時候,通過讀取配置文件,把這些對象創建出來并存起來;Spring的依賴注入,將基本值類型或者是引用數據類型注入一個類中spring提供的注入方式;Spring的切面編程,在程序運行期間,不修改源碼對已有方法進行增強。減少重復代碼,提高開發效率,維護方便。
2.4 Ibatis技術
Ibatis主要完成兩件事:根據 JDBC 規范建立與數據庫的連接和通過反射打通 Java 對象與數據庫參數交互之間相互轉化關系。
Ibatis結構是一種典型的交互式框架。先期準備好交互的必要條件,然后構建一個交互的環境,交互環境中還劃分成會話,每次的會話也有一個環境。當這些環境都準備好了以后,剩下的就是交換數據了。SqlMapClient 接口主要定義了客戶端的操作行為包括 select、insert、update、delete。SqlMapSession 可以共享使用,也可以自己創建,如果是自己創建在結束時必須要調用關閉接口關閉。Ibatis一個重要組成部分就是其SqlMap配置文件,SqlMap 配置文件的核心是 Statement語句包括CIUD。通過解析SqlMap配置文件得到所有的Statement執行語句,同時會形成ParameterMap、ResultMap兩個對象用于處理參數和經過解析后交給數據庫處理的Sql對象。Statement中定義的 SQL 語句,解析出其中的參數,按照其出現的順序保存在Map集合中,并按照Statement中定義的 ParameterMap對象類型解析出參數的Java數據類型。并根據其數據類型構建 TypeHandler對象,參數值的復制是通過DataExchange對象完成的。
3系統實現
3.1前臺界面功能實現
前臺界面同過編寫html語言,完成靜態頁面的開發,JavaScript用來實現界面功能,展示界面動態效果,完成對數據表單的提交。以前臺登錄界面為例,如下圖2所示:
3.2與服務器交互實現
界面完成數據錄入后,提交表單向服務器發送請求。通過ajax發送異步請求的實現代碼如下:
$.ajax({
type:"GET",
cache:true,
url:"checkLogin.do",
dataType:"json",
data:$('#login_form').serialize(),
async:true,
error:function(request) {
alert("出錯");
},
success:function(data) {//獲得返回值
//alert(data);
var d = eval("("+data+")");
alert(d.NAME_TEACHER);
if(d.code=="1"){
window.location.href="./score/scoreList.html?USERNAME="+d.NAME_TEACHER;
} });
由程序中可看出,此次提交采用GET請求方式,checkLogin.do是訪問servlet的路徑,dataType:"json"表示后臺數據以json形式返回,async:true表示為異步請求。
Ajax發送查詢請求后,在CheckAaction中執行查詢并返回所需要查詢的數據,同時將查詢數據轉化為json格式類型。Struts2自動將返回數據對象轉化為json格式的配置文件如下所示:
result<!-- action中的屬性 -->
3.3后臺業務實現
Spring使用DAO模式,實現對ibatis的良好支持,通過配置讓spring管理sqlMapClient對象的創建。在spring配置文件中增加ibatis需要配置的文件,該文件中包含JDBC建立數據庫連接和java對象與數據庫數據進行關聯。新建一個applicationContent-comm.xml文件,具體配置為:
sqlMapConfig中寫入相應的映射文件,這里的映射即為數據表與對應的java對象之間的映射關系。在該文件中可以編寫相應的成績查詢sql語句,實現所有成績查詢功能。sqlMapConfig.xml配置文件如下:
<!-- 個人成績查詢 -->
SELECT A.STU_NO,A.NAME,B.COURSE_NO,B.SCORE FROM STUDENT A,SCORE B WHERE A.STU_NO=B.STU_NO AND A.STU_NO=#STU_NO#
圖3為某位同學成績查詢展示:
4結束語
基于SSI架構成績管理系統,能夠降低代碼的耦合度,增強代碼的健壯性以及代碼的可重復使用,加快系統的開發速度。采用B/S網絡結構模式,用戶能夠通過使用web瀏覽器完成各項成績管理工作。本系統目前已實現上述所有模塊功能,經過測試使用,已達到預期效果,大幅提升了學校信息化管理水平。
參考文獻:
[1] 何婧媛.學生成績管理系統的設計與實現[J].信息技術與信息化,2016(7).
[2] 張國平,鄭均輝,張琳.基于SSH2和Ajax的物聯網社區信息化管理系統[J].現代電子技術,2015(14):79-81,85.
[3] 張玲.學生成績管理系統的設計與實現[J].科技視界,2015(4):89-90.
[4] 汪云飛.JavaEE開發的顛覆者:SpringBoot實戰[M].北京:電子工業出版社,2016:248-249.
[5] 李智慧.大型網站技術架構核心原理與案例分析[M].北京:電子工業出版社,2013:39-41.
[6] 羅詩敏.基于MVC的學生成績管理系統的分析與設計[D].廣州:華南理工大學,2014.
[7] 李佳.基于struts2架構成績管理系統的設計與實現[J].西華師范大學學報:自然科學版,2014(3):101-102.
[8] 張妙玲,張超.對高校學生成績管理系統建設的若干思考[J].山西高等學校社會科學學報,2012(4):23-24.