程江晗+李冬睿
摘要:介紹高職實(shí)驗(yàn)室管理系統(tǒng)的實(shí)現(xiàn)過(guò)程,系統(tǒng)基于Struts、Spring、Hibernate架構(gòu),采用MVC模式開(kāi)發(fā),以MyEclipse作為開(kāi)發(fā)工具,Tomcat為Web服務(wù)器,以MySQL為系統(tǒng)后臺(tái)數(shù)據(jù)庫(kù),采用Java語(yǔ)言開(kāi)發(fā)。該系統(tǒng)的應(yīng)用可以有效大大減輕實(shí)驗(yàn)室工作人員的工作強(qiáng)度和提高實(shí)驗(yàn)室管理員的工作效率,實(shí)現(xiàn)對(duì)實(shí)驗(yàn)室及設(shè)備的有效管理,與同類系統(tǒng)相比更能適合高職院校實(shí)驗(yàn)室管理的需求。
關(guān)鍵詞:實(shí)驗(yàn)室管理;SSH;實(shí)驗(yàn)設(shè)備管理;MVC
中圖分類號(hào):TP312 文獻(xiàn)標(biāo)識(shí)碼:A 章編號(hào):1009-3044(2016)25-0048-03
Abstract: Introduces the realization process of the laboratory management system of higher vocational education, system based on struts, spring, hibernate framework by the MVC pattern of development, MyEclipse as development tools Tomcat as a web server, MySQL is the backstage database of the system by java language development. The system can be applied effectively to greatly reduce the laboratory staff work intensity and improve working efficiency of the lab manager, to realize the effective management of the laboratory and equipment, and similar systems compared to better suited to the needs of laboratory management in higher vocational colleges.
Key words: laboratory management; SSH; laboratory equipment management; MVC
隨著高職院校的發(fā)展,校區(qū)的增多,高職院校的實(shí)驗(yàn)場(chǎng)所得到很大的改善,學(xué)院同時(shí)加大了實(shí)驗(yàn)設(shè)備的投入,設(shè)備數(shù)量也增加,相應(yīng)的設(shè)備管理工作量也加大了;另外,在實(shí)驗(yàn)室上課的學(xué)生人數(shù)也大幅增加,這些都為實(shí)驗(yàn)室的安全管理、設(shè)備管理和相應(yīng)的教學(xué)管理都帶來(lái)了挑戰(zhàn),如實(shí)驗(yàn)室的安全管理、教學(xué)資源管理、設(shè)備故障管理等。在新的形勢(shì)下,原有的實(shí)驗(yàn)室管理工作的方法已經(jīng)不能滿足目前發(fā)展的現(xiàn)狀,采用傳統(tǒng)人工的方式出現(xiàn)數(shù)據(jù)分散、管理不規(guī)范、效率低下等問(wèn)題。
為提高實(shí)驗(yàn)室管理的效率,提高實(shí)驗(yàn)室管理的服務(wù)水平和更好的保障實(shí)驗(yàn)室教學(xué),很有必要為我校建立相關(guān)的實(shí)驗(yàn)室管理系統(tǒng)。我校千兆骨干網(wǎng)絡(luò)覆蓋了二大校區(qū),校園網(wǎng)通過(guò)3條千兆光纖與電信互聯(lián),學(xué)校的現(xiàn)有網(wǎng)絡(luò)環(huán)境能夠?yàn)閷?shí)驗(yàn)室管理系統(tǒng)的良好運(yùn)行提供很好的保障。
本實(shí)驗(yàn)室管理系統(tǒng)基于Struts、Spring、Hibernate架構(gòu),采用MVC[1]模式開(kāi)發(fā),以MyEclipse作為開(kāi)發(fā)工具,Tomcat為Web服務(wù)器,以MySQL為系統(tǒng)后臺(tái)數(shù)據(jù)庫(kù),采用Java語(yǔ)言開(kāi)發(fā)。其中系統(tǒng)的表現(xiàn)層采用Struts框架實(shí)現(xiàn),中間的業(yè)務(wù)邏輯層采用Spring框架實(shí)現(xiàn),而底層的數(shù)據(jù)持久層由Hibernate負(fù)責(zé)實(shí)現(xiàn),使得層與層之間相互獨(dú)立,相互影響較小,系統(tǒng)的開(kāi)發(fā)效率、可擴(kuò)展性和重用性能得到大大提高,能靈活地適應(yīng)實(shí)驗(yàn)室管理快速變化的需求。該系統(tǒng)的應(yīng)用可以有效大大減輕實(shí)驗(yàn)室工作人員的工作強(qiáng)度和提高實(shí)驗(yàn)室管理員的工作效率,實(shí)現(xiàn)對(duì)實(shí)驗(yàn)室及設(shè)備的有效管理,與同類系統(tǒng)相比更能適合高職院校實(shí)驗(yàn)室管理的需求。
1 相關(guān)技術(shù)
1.1 JavaEE[2]核心技術(shù)
JavaEE包括應(yīng)用程序接口、一序列服務(wù)和協(xié)議,JavaEE提供了對(duì)Web多層應(yīng)用開(kāi)發(fā)的支持,該平臺(tái)主要包括了13種核心技術(shù)。
1)JDBC(Java Database Connectivity) [3]:JDBC API統(tǒng)一了對(duì)各種數(shù)據(jù)庫(kù)操作的方法和途徑,開(kāi)發(fā)者無(wú)需要了解訪問(wèn)數(shù)據(jù)庫(kù)的具體細(xì)節(jié)就可以開(kāi)發(fā),從而降低了開(kāi)發(fā)的難度。另外JDBC對(duì)數(shù)據(jù)庫(kù)的操作具有跨平臺(tái)特性。
2)EJB(Enterprise JavaBean):EJB是一個(gè)開(kāi)發(fā)分布式邏輯的框架,從而可以有效降低開(kāi)發(fā)企業(yè)級(jí)應(yīng)用的難度。它對(duì)EJB組件與EJB容器的交互作了相關(guān)的規(guī)范和定義,EJB容器本身具備各類公共的服務(wù),包括事務(wù)管理、容錯(cuò)性等,程序員開(kāi)發(fā)時(shí)可直接利用,降低了開(kāi)發(fā)的復(fù)雜度。但JavaEE具有開(kāi)放性,EJB并不是實(shí)現(xiàn)JavaEE的唯一途徑,用其他途徑也可以實(shí)現(xiàn)相同的目的。
3)JNDI(Java Name and Directory Interface) [4]:JNDI為Java命名和目錄接口,它為程序存取和操作企業(yè)級(jí)資源、文件系統(tǒng)和服務(wù)器對(duì)象提供了統(tǒng)一的模型。
1.2 Struts-Spring -Hibernate整合開(kāi)發(fā)
本文采用基于當(dāng)前流行的SSH(Struts、Spring、Hibernate)[5]集成框架構(gòu)建實(shí)驗(yàn)室管理系統(tǒng),表現(xiàn)層采用Struts框架實(shí)現(xiàn),中間的業(yè)務(wù)邏輯層采用Spring框架實(shí)現(xiàn),而底層的數(shù)據(jù)持久層由Hibernate負(fù)責(zé)實(shí)現(xiàn)。系統(tǒng)中的每一層都以松耦合的方式向其他層暴露自己的功能,從而可以提高系統(tǒng)的可擴(kuò)展性和穩(wěn)定性。SSH是Struts、Spring、Hibernate三個(gè)框架的集成,Struts框架為系統(tǒng)的整體基礎(chǔ)架構(gòu),用于負(fù)責(zé)如何實(shí)現(xiàn)業(yè)務(wù)的跳轉(zhuǎn),并完成對(duì)MVC各部分的分離;Hibernate負(fù)責(zé)如何實(shí)現(xiàn)對(duì)數(shù)據(jù)進(jìn)行持久化;Spring完成對(duì)Hibernate和Struts的兩個(gè)框架管理。
2 需求分析
用例圖
基于SSH架構(gòu)的實(shí)驗(yàn)室管理系統(tǒng)模塊主要包括有實(shí)驗(yàn)室基本信息管理、實(shí)驗(yàn)室管理員管理、實(shí)驗(yàn)設(shè)備管理、實(shí)驗(yàn)室教學(xué)管理、角色管理。圖1為高級(jí)用戶用例圖。
高級(jí)用戶可以對(duì)實(shí)驗(yàn)課進(jìn)行調(diào)停課管理、實(shí)驗(yàn)實(shí)驗(yàn)室教學(xué)管理和實(shí)驗(yàn)課程信息管理。圖2為系統(tǒng)管理員用例圖。
系統(tǒng)管理員主要負(fù)責(zé)注冊(cè)用戶管理、角色分配和系統(tǒng)頁(yè)面的維護(hù)工作。
3 系統(tǒng)實(shí)現(xiàn)
3.1 數(shù)據(jù)庫(kù)表設(shè)計(jì)
3.2 Hibernate配置連接數(shù)據(jù)庫(kù)
hibernate配置文件hibernate.cfg.xm連接數(shù)據(jù)庫(kù)的代碼如下:
3.3 系統(tǒng)實(shí)現(xiàn)的關(guān)鍵步驟
本實(shí)驗(yàn)室管理系統(tǒng)以MyEclipse作為集成開(kāi)發(fā)環(huán)境,圖3為該系統(tǒng)的目錄結(jié)構(gòu),net.domain包放域模型對(duì)象,net.domain.hibernate包放置Hibernate對(duì)象關(guān)系映射XML文件,業(yè)務(wù)邏輯對(duì)象放在net.service和net.service.spring包放業(yè)務(wù)邏輯類文件,net.dao.hibernate和net.dao.iface包放置與數(shù)據(jù)庫(kù)操作的DAO類。net.struts.forms包和net.struts.actions包放置Struts框架中的類文件。不同功能的類文件放置在不同的包中,使得系統(tǒng)易于擴(kuò)展和維護(hù)。
3.4 域模型
域模型也為持久化對(duì)象,提供了一個(gè)在不同層之間移動(dòng)的對(duì)象集合。對(duì)象關(guān)系映射指的是數(shù)據(jù)庫(kù)中的一個(gè)數(shù)據(jù)表與Java中的域模型對(duì)象之間的映射。對(duì)于用戶表User,其中User表有四個(gè)字段用戶編號(hào)(id)、用戶名(username)和密碼(password),其形成的域模型對(duì)象文件為User.java放在net.domain包中。User.java的代碼如下:
3.5 創(chuàng)建業(yè)務(wù)邏輯層
業(yè)務(wù)邏輯層用來(lái)執(zhí)行業(yè)務(wù)邏輯,調(diào)用數(shù)據(jù)持久層;同時(shí)處理表示層的請(qǐng)求。層與層之間的關(guān)系通過(guò)Sprint框架進(jìn)行管理,Spring通過(guò)其反向控制和依賴注入機(jī)制來(lái)管理對(duì)象之間的關(guān)系,這些對(duì)象及關(guān)系都放在xml文件中。
在業(yè)務(wù)邏輯層首先要編寫(xiě)接口文件UserDao.java,該文件提供User對(duì)象的增、刪、改、查的方法聲明,該文件放在net.dao.iface包中,其關(guān)鍵代碼如下:
public interface UserDao{
public void insertUser(User user);
……
}
然后再寫(xiě)一個(gè)實(shí)現(xiàn)類HiberanteUserDao繼承UserDao,該類放在net.dao.hibernate包中。由于Spring內(nèi)建有對(duì)Hiberanted的支持,實(shí)現(xiàn)類只需要繼承HiberateDaoSupport類,通過(guò)HibernateDaoSupport類獲得HibernateTemplate的引用,從而簡(jiǎn)化對(duì)Hibernate Session的編碼,其關(guān)鍵代碼如下:
public class HiberanteUserDao extends HibernateDaoSupport implements UserDao{
public void insertUser(User user) {
getHibernateTemplate().save(user);
}
3.6 界面實(shí)現(xiàn)
圖4為實(shí)驗(yàn)課程安排上課時(shí)間界面。
4 結(jié)束語(yǔ)
本文詳細(xì)介紹了一個(gè)高職院校實(shí)驗(yàn)室管理系統(tǒng)的開(kāi)發(fā)和實(shí)現(xiàn)過(guò)程,系統(tǒng)包括基本信息管理、實(shí)驗(yàn)員管理、實(shí)驗(yàn)設(shè)備管理、教學(xué)管理、角色管理的功能,該軟件達(dá)到了預(yù)期的效果并成功上線使用。
參考文獻(xiàn):
[1] 宋偉. 基于物聯(lián)網(wǎng)技術(shù)的智慧開(kāi)放實(shí)驗(yàn)室管理系統(tǒng)設(shè)計(jì)[J]. 中國(guó)科技信息, 2016, 11(6): 74-76.
[2] 劉敏娜, 李延香, 魏浩. 基于javaEE的教學(xué)資源平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 鄭州: 電腦知識(shí)與技術(shù), 2015, 11(10): 91-93.
[3] 解紫瑩, 景慎艷. 提高Java數(shù)據(jù)庫(kù)訪問(wèn)效率的策略研究[J]. 福建電腦, 2016, 75(2): 143, 167.
[4] 游洋, 鄒蕊. 基于JSP的高校資產(chǎn)信息化管理[J]. 福建電腦, 2015, 24(6): 67-68.
[5] 何雪鋒, 謝宇. 深入淺出SSH框架[J]. 電腦知識(shí)與技術(shù), 2016, 12(6): 206-207.