姜景耀 任勇 華中偉 胥薇 徐云龍

摘 要:該文提出了基于J2EE的三層開發模型,應用開發框架SSH(Spring +Struts +Hibernate)的教師科研信息管理系統的管理員模塊的設計與實現。主要對SSH架構進行了介紹,同時介紹了該模塊的主要功能及其功能模塊。
關鍵詞:Spring Struts Hibernate 教師科研管理系統
中圖分類號:TP311.52 文獻標識碼:A 文章編號:1672-3791(2016)02(a)-0010-02
針對教學科研工作中存在的以下問題:更新不及時、新舊信息錯雜、獲取信息復雜,相關管理人員管理工作繁重等,筆者進行了教學科研Web系統的開發。以期解決現行管理過程中存在的問題,使對教學科研活動的管理有序有效地進行,并提供多種查詢統計功能和教師業績點計算功能,進一步減輕管理員的工作強度,同時實行多權限設置,增加權限賦予功能,使得查詢統計功能在擁有安全性的同時,加強了靈活性[2]。
該論文將會講述運用Web應用技術,采用目前較流行的Spring+Struts+Hibernate開發框架,實現教學科研管理系統,其中詳細講述管理員功能模塊的設計與實現[3]。
1 系統功能分析
該文主要是對教師科研信息管理系統中管理員模塊的設計,該模塊主要包括資料上傳、發布公告、授權功能、審批管理、人員管理和業績點計算等功能。主要的使用者是管理員。
1.1 發布通知功能
在管理員登錄之后,進入管理員界面。在此頁面,可以進入發布通知頁面,其中包括兩部分,通知發布和通知管理。
管理員可以新建通知,對新建的通知,管理員可以發布,或存為草稿日后發布,或取消發布。對于存為草稿的通知,管理員可以修改后發布,或修改后存為草稿,或取消,或直接刪除。通知發布之后,系統會發送郵件通知所有用戶,通知發布,主要便于及時查看。
提交完成之后的通知則可通過通知管理功能進行管理,同樣可以對已發布的新聞進行刪除或修改操作,同時考慮到發布的通知可能會很多,在界面中增加了分頁的功能。對于修改已發布的通知,系統將會發郵件通知用戶通知已經改變,并將該通知置頂。
1.2 審批管理功能
審批管理功能主要分為,審批上傳資料和管理上傳資料兩塊,是對用戶上傳的論文、著作、科研項目、專利發明、學術活動及學院相關資料等進行審批和統一管理。鑒于在功能模塊上的類似,在此,以審批論文信息為例對審批功能的實現進行說明。
點擊審批論文信息,進入待審批列表界面,表中將羅列論文的一些基本信息。點擊論文題目,打開該論文的相關信息,進行審批,管理員沒有權力更改用戶提交的論文信息,如果這些信息不符合要求,管理員則可以拒絕,并填寫審批不通過的理由,同時填寫自己郵箱密碼,系統將通過該管理員的郵箱向用戶發出郵件,通知用戶其論文未通過審批,并要求其進行修改,再提交。同樣,若審批通過,管理員也會通過系統發郵件給用戶,通知他論文審批通過。
在管理上傳資料中,主要是對于那些超過了保存期限的資料,進行備份或刪除,然后將其移出服務器。
1.3 人員管理功能
人員管理功能是對系統用戶的基本信息的管理,也包括兩個功能,人員添加和人員修改。人員添加,主要是用于添加新用戶。考慮到本系統是內部服務系統,因此不通過用戶自行注冊,而是通過管理員添加來完成用戶添加。管理員需填寫用戶的基本信息,并將用戶的登錄賬號告知用戶。
考慮到信息的公正性,用戶不具備對其基本信息的改動權限,因此如果基本信息改動,用戶應及時通知管理員,進行修改。管理員在人員管理中可以進行用戶資料的修改,同時也可將離校教師的賬戶刪除。
1.4 授權權限功能
授權權限是對用戶查看統計信息權限的管理。管理員可根據用戶的申請,賦予用戶查看統計信息的權限,并適時關閉其權限。
管理員在授予權限頁面中賦予用戶權限,可一次賦予一個或多個用戶,如果拒絕用戶的權限申請,需填寫拒絕理由。
管理員通過權限管理,可取消用戶的權限。在用戶的權限到期之后,管理員可取消用戶的查看統計權限。
1.5 業績點計算功能
業績點計算主要是將每個用戶的總的業績點統計出來,羅列在一張表中,管理員可以通過備份,將上一年的業績點導出,然后存放在服務器上,同時通過點擊每個用戶的工號,可查看每個用戶具體的業績點情況。
1.6 資料上傳功能
資料上傳功能主要是對課表信息和教材信息的導入和管理。管理員首先將規定列名的Excel表上傳到服務器,然后再通過資料上傳界面中的導入功能,將該表導入到數據庫中,從而實現課表信息和教材信息的導入[1]。
同時,管理員可以通過上傳資料中的管理功能實現對數據庫中的課程信息和教材信息的修改或刪除。
2 系統實現
在此,按照系統架構逐步闡述管理員功能的主要實現框架。該系統主要分為3個層次,表現層、中間層及數據庫層[5]。
2.1 表現層
表現層提供與用戶交互的界面,用Web頁面實現。主要使用JSP技術實現,在個別靜態頁面中,使用HTML靜態技術實現[6]。
2.2 中間層
該系統又將中間層劃分為Web層、Service層、DAO層和common層。
(1)Web層。
該層包含了Formbean和Action兩部分,同時也通過這兩部分分別聯系表現層和業務邏輯層,Formbean對應了JSP頁面中的內容,而Action則調用了業務邏輯層中的內容。
(2)Service層。
在該系統中,Service層完成了業務邏輯層的工作,其中主要是對Hibernate所封裝的對數據庫的操作的調用。例如,
public News getNewsByNewsId(int newsId) {
// TODO Auto-generated method stub
Validate.notNull(newsId, "when get pmrReg, the pmrReg id must not null...");
News news = null;
try {
news = newsDAO.getObject(newsId);
} catch (ObjectNotFoundException e) {
eventLogger.info("the dailyReport[" + newsId + " does not exit...",e);
throw new ServiceException("通過主鍵獲取日報錯誤");
}
return news;
}
(3)DAO層。
該層主要包括DAO層和PO層,其中DAO層的類都繼承了common層中封裝了Hibernate對數據庫的操作的類CommonDAOHibernate.java,而不是直接封裝Hibernate對數據庫的訪問。
PO,持久化對象,其中完全采用普通Java對象作為持久化對象使用,也是將數據庫中的對象對應到Java對象,從而使對數據庫的操作更加簡單。大家可以利用MyEclipse自動生成POJO及其對應的配置文件。
(4)common層。
該層存放了公用的代碼,包括對數據的增、刪、查、改操作的封裝,異常處理,日志處理,數據類型的轉換,時間的處理,文件上傳與發送郵件的方法,基礎Action類,以及系統要使用的常量。其中,對數據庫的操作的封裝主要是由MyEclipse中的方法自動生成。
2.3 數據庫層
數據層負責存放和管理應用的持久性業務數據。Hibernate提供了從映射文件到數據庫Schema的轉換工具,即hbm2ddl[7]。
執行該任務的Java類net.Sf.Hibernate.tool.hbm2bbl.SchemaExportTask。在該系統中是應用MyEclipse中的自動轉換工具實現數據庫與持久性數據的對應。
3 結語
該系統結構清晰,注重功能的功能性和使用方便性。根據各功能的特點,將各功能的流程考慮周到,流程設計完整。用戶如有需要,可以申請查看統計權限,系統具有一定的靈活性。同時應用了SSH架構,在簡化代碼的同時,使系統具有較強的可擴展性。
參考文獻
[1] 張芹.關于軟件開發中數據庫設計相關問題的探討[J].信息通信,2015(12):166-167.
[2] 宋陽.新時期高校科研信息化建設工作思考[J].中國高校科技,2014(7):71-73.
[3] 陳亞輝,繆勇.Struts+Spring+Hibernate框架技術與項目實戰[M].北京:清華大學出版社,2012.
[4] 傅偉,高海俠,涂剛,等.基于J2ME-J2EE的高校科研信息管理系統的設計與實現[J].微計算機應用,2011(7):76-80.
[5] 王進.B/S模式下的三層架構模式[J].軟件導刊,2011(3):30-31.
[6] 陳艷春,王書海.基于Web的科技成果網絡管理系統設計與實現[J].河北工業科技,2007(1):15-18.
[7] 錢忠勝.基于Hibernate的數據持久化研究及其應用[J].微計算機信息,2007:204,242-244.