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