基于Android平臺與Web服務器的課程管理信息系統(tǒng)
0 引言
本文引用地址:http://cafeforensic.com/article/201609/304011.htm近幾年,我國各大專院校均實現了教學管理的數字化和網絡化,移動互聯時代的到來給課程信息管理提出了新的要求,學生和教師不再滿足于通過PC機進行課程管理,而是希望能夠隨時隨地查看、更改、上傳、下載課程信息。智能手機的普及為這一需求提供了可行性,手機上網已經成為生活的一部分,在Android平臺下開發(fā)各種網絡應用系統(tǒng)成為當下的熱門研究問題。
文獻討論了Android平臺下的高校教學管理相關應用;文獻高校常用的管理信息系統(tǒng)移植到Android系統(tǒng)手機平臺上,尤其是學生查詢系統(tǒng);文獻將傳統(tǒng)選課系統(tǒng)應用到智能終端上,實現移動式信息管理。文獻運用Http Handler和SON數據交換技術開發(fā)學生學分管理系統(tǒng)。
現有文獻對課程管理信息系統(tǒng)的移動化改造討論很少,目前APP市場上的課程管理軟件多為學生課表下載工具,教師無法使用,更不能后臺管理。本文專門針對高校課程管理信息系統(tǒng)中遇到的一系列問題,設計了一套Android平臺下C/S(客戶端/服務器)結構的Web服務器與客戶端系統(tǒng),通過該系統(tǒng),教師和學生均能方便地利用智能手機進行Web服務器的登錄、注冊和課程信息的錄入、查詢、刪除、修改,系統(tǒng)還支持教師后臺管理,是移動互聯手機終端數據庫遠程交互的典型應用。
1 系統(tǒng)總體方案
1.1 系統(tǒng)功能與結構
本系統(tǒng)采用C/S結構。由于Android智能手機具備一定的處理能力,因而C/S結構可以將任務分配到Client端和Server端來實現,以充分利用兩端硬件環(huán)境優(yōu)勢,這樣既能降低系統(tǒng)通訊開銷,又能滿足系統(tǒng)分布式Web應用要求。總體方案如圖1所示。
服務器端需的功能主要是后臺數據庫的管理以及與客戶端的數據交換,同時還包括注冊/登錄的數據庫操作以及與客戶端的登錄接口??蛻舳藨贸绦蛑饕δ苡校赫n程表整體界面;課程信息的添加/修改/刪除;當前周數設置;課程提醒設置;注冊/登錄/更改;以及與服務器端進行數據交互及數據庫操作。
1.2 開發(fā)工具
(1)客戶端開發(fā)工具Eclipse。Eclipse是一個開放源代碼的、基于Java的可擴展開發(fā)平臺。Eclipse附帶的插件Java開發(fā)工具(JDK),是目前使用最為廣泛的Java SDK。
(2)Tomcat服務器。Tomcat是一個輕量級的應用服務器,可以看作是Apache服務器是擴展,但可獨立運行,一般主要使用在中小型系統(tǒng)和并發(fā)訪問用戶不是太多的場合。Tom cat運行時擴展性好,占用的系統(tǒng)資源也很小,支持并發(fā)應用系統(tǒng)中常用的功能,且性能特別穩(wěn)定,并且是免費的,它已經成為了目前處于主流位置的Web應用服務器。
(3)界面開發(fā)工具MyEclipse。MyEclipse是功能豐富的Java EE集成開發(fā)環(huán)境,是對Eclipse IDE的擴展,它功能強大,兼容性好,支持Java Servlet、AJAX、JSP、JSF、Stru ts、Spring、Hibernate、EJB3、JDBC等數據庫鏈接工具。本系統(tǒng)利用它進行數據庫和Java EE的開發(fā)、發(fā)布以及應用程序服務器的整合,可以極大地提高工作效率。
(4)數據庫管理系統(tǒng)MySQL。MySQL是目前最流行的關系型數據庫管理系統(tǒng),使用標準化的數據庫語言SQL,它體積小、速度快、總體成本低、源碼開放、安全可靠,適用于各種平臺。
本系統(tǒng)根據學校課程信息管理的實際需求,既要保證平臺穩(wěn)定運行,同時為了節(jié)省成本,選擇使用了MySQL數據庫,并用數據庫可視化軟件Navicat for MySQL對數據庫進行可視化,方便操作。
2 服務器端的設計與實現
2.1 服務器程序構成
本系統(tǒng)創(chuàng)建的Web服務器是采用Strut2架構。在與客戶端交互上,為了使得數據傳輸效率更高,本系統(tǒng)采用了JSON格式的數據,Android提供JSON的API,所以使用起來非常方便。JSON支持String、Number、Boolean等各種類型的數據傳輸,也可以傳輸一個數組,或者一個復雜的Obiect對象。
為了完成整個服務器端的功能,本系統(tǒng)的服務器端程序有七個包,如圖2所示。
前兩個包(action和actionForm)用來處理數據庫用戶表單的增刪改查;bean包則是課程信息和用戶信息的實體包;util和DAO是數據庫的操作類、鏈接等等;用戶的登錄/注冊模塊放在impie包中實現;servelet實現服務器與客戶端的交互;DBConfig.propertie.properties用于與數據庫連接,包括MySQL的JDBC的驅動,數據庫URL,數據庫的用戶以及密碼。
2.2 數據庫的建立與鏈接
根據功能需求,數據庫包含兩張數據表,數據表的字段、主鍵、外鍵、及關系如圖3所示。
本系統(tǒng)服務器應用程序與后臺數據的鏈接采用JDBC接口,它由一組用Java語言編寫的類和接口組成,提供了標準API,可向相應數據庫發(fā)送SQL調用。在本系統(tǒng)中,實現數據庫的鏈接、訪問、操作的是util(工具類)包中的ConnDB.Java。
Tomcat與客戶端的數據交互是通過Http協(xié)議的Get和Post請求來實現的。Http協(xié)議下,客戶端發(fā)送的每次請求都需要服務器回發(fā)響應,在請求結束后,客戶端主動釋放連接。其中,Post請求向服務器傳送數據,數據對用戶不可見;Get是把參數數據隊列加到提交的URL中,數值和表單內各個字段一一對應。
2.3 用戶登錄模塊的服務器實現
本系統(tǒng)服務器端的用戶登錄模塊由DAO程序包完成,DAO中定義了所有的用戶操作類,包括添加、刪除、查詢記錄等。DAO下面的子imple包,用來實現DAO的所有方法。
3 客戶端的設計與實現
3.1 客戶端界面與控件
客戶端即Android智能手機,其程序由9個應用程序包構成,如圖4所示。
評論