【摘 要】高校檔案管理的信息化工作已經(jīng)是高校信息化建設(shè)的核心系統(tǒng),檔案管理系統(tǒng)中的異常處理模塊是系統(tǒng)設(shè)計時的核心功能模塊,合理的設(shè)計該模塊可以有效提高信息化管理系統(tǒng)開發(fā)效率和增加系統(tǒng)的可靠性。
【關(guān)鍵詞】高校檔案管理;J2EE;異常管理
在高校信息化建設(shè)工程之中,檔案管理系統(tǒng)是非常重要的組成部分,高校檔案管理系統(tǒng)由于所涉及部門較多,故是一套相對復(fù)雜的業(yè)務(wù)系統(tǒng),系統(tǒng)的異常處理將是系統(tǒng)開發(fā)中的重點模塊,合理的設(shè)計異常處理功能可以有效的增強系統(tǒng)的健壯性。在目前基于J2EE的業(yè)務(wù)系統(tǒng)中所提供的Exception架構(gòu)可以非常方便的完成業(yè)務(wù)系統(tǒng)的異常處理,但是該處理方式僅僅提供了一種最為原始的操作方式,對用戶操作級別的錯誤提示卻沒有提供直接的解決方案。所以必須在Java異常處理的機制上提出一種新的異常處理的模式,通過該模式可以實現(xiàn)在檔案管理系統(tǒng)中各種級別的異常處理
一、高校檔案管理分析
高校檔案是高校中部門和個人在工作中直接形成的具有保存價值的文字、圖表、音像及其他各種形式和載體的歷史記錄。由于高校檔案管理工作設(shè)計到大量的數(shù)據(jù)存儲、檢索。并且對數(shù)據(jù)的檢索有較高的效率方面的需求,所以基于信息化的手段來進行高校的檔案管理是迫在眉睫的一件事情。但是在信息化管理中不可避免的會存在相應(yīng)的安全性需求,日志管理是信息化系統(tǒng)中提高安全性的一種主要手段。
二、高校檔案系統(tǒng)中異常處理分析
(一)目前常規(guī)的多層體系結(jié)構(gòu)
高校檔案管理系統(tǒng)是一個綜合性的信息管理系統(tǒng),基于B/S架構(gòu)的業(yè)務(wù)系統(tǒng)已經(jīng)是當(dāng)今最為主流的架構(gòu)。分層體系設(shè)計已經(jīng)此類系統(tǒng)中必不可少的組成部分,軟件的分層體系架構(gòu)是提高業(yè)務(wù)系統(tǒng)可靠性、維護性和管理性的主要設(shè)計方式。目前J2EE技術(shù)可以很好的配合分層分層設(shè)計已經(jīng)目前信息系統(tǒng)中必不可少的組成部分。當(dāng)今四層體系結(jié)構(gòu)是最為流行的分層結(jié)構(gòu),整個軟件系統(tǒng)會分為表示層、業(yè)務(wù)層、持久化層和數(shù)據(jù)層,數(shù)據(jù)層用于存儲業(yè)務(wù)對象數(shù)據(jù)、持久化層負(fù)責(zé)將業(yè)務(wù)對象存儲到關(guān)系數(shù)據(jù)庫中,業(yè)務(wù)層負(fù)責(zé)處理系統(tǒng)的業(yè)務(wù)邏輯,表示層用于接收用戶的請求并且將處理結(jié)果回饋給用戶。軟件的分層體系結(jié)構(gòu)保證了軟件的可靠性、維護性和管理性?;贘ava語言的J2EE技術(shù)可以很好的配合分層層模式進行系統(tǒng)的設(shè)計和開發(fā)。
(二)異常處理需求分析
在分層設(shè)體系架構(gòu)中,異常處理在每個層都會有所涉及,主要會涉及到兩個方面:一方面是在實際開發(fā)過程之中代碼編寫異常,每套業(yè)務(wù)系統(tǒng)都不可能避免所有的異常,只能盡可能把異常信息進行展示和存儲;另外一個方面是用戶進行了一些非正常性操作之后,給用戶的異常提示。前者幫助開發(fā)人員進行開發(fā)和測試,后者是在軟件使用過程中為用戶提供操作輔助。所以在軟件系統(tǒng)的開發(fā)中必須為不同的異常提供不同的實現(xiàn)和展示機制。
(三)J2EE的異常處理機制
在 Java 應(yīng)用程序中,異常處理機制為:拋出異常,捕捉異常。拋出異常指當(dāng)一個方法出現(xiàn)錯誤引發(fā)異常時,方法創(chuàng)建異常對象并交付運行時系統(tǒng),異常對象中包含了異常類型和異常出現(xiàn)時的程序狀態(tài)等異常信息。運行時系統(tǒng)負(fù)責(zé)尋找處置異常的代碼并執(zhí)行。捕獲異常指在方法拋出異常之后,運行時系統(tǒng)將轉(zhuǎn)為尋找合適的異常處理器。潛在的異常處理器是異常發(fā)生時依次存留在調(diào)用棧中的方法的集合。當(dāng)異常處理器所能處理的異常類型與方法拋出的異常類型相符時,即為合適 的異常處理器。運行時系統(tǒng)從發(fā)生異常的方法開始,依次回查調(diào)用棧中的方法,直至找到含有合適異常處理器的方法并執(zhí)行。當(dāng)運行時系統(tǒng)遍歷調(diào)用棧而未找到合適 的異常處理器,則運行時系統(tǒng)終止。
Java把異常當(dāng)作對象來處理,Thorwable類是所有異常和錯誤的超類,有兩個子類Error和Exception,分別表示錯誤和異常。其中異常類Exception又分為運行時異常(RuntimeException)和非運行時異常,這兩種異常有很大的區(qū)別,運行時異常程序人員不用進行檢查,JVM會自動拋出,但是非運行時異常需要程序人員進行處理,如果不處理程序?qū)o法編譯通過。Exception:是程序本身可以處理的異常。 Exception 類有一個重要的子類 RuntimeException。RuntimeException不用開發(fā)人員手動處理。系統(tǒng)會自動將異常信息拋出到上一個級別;非RuntimeException的異常需要開發(fā)人員手動進行捕獲和處理。
三、高校檔案管理中異常處理的設(shè)計
在高校檔案管理信息系統(tǒng)中,對于代碼的編寫異常而言不用展現(xiàn)給用戶,該類異常的作用是提供給開發(fā)人員調(diào)試使用,所以只用通過相應(yīng)的日志管理工具將信息進行保存,并且提供相應(yīng)的遠(yuǎn)程訪問功能,讓開發(fā)人員能夠及時的發(fā)現(xiàn),并且修正這些錯誤。此類異常的處理方式是在業(yè)務(wù)層統(tǒng)一繼承于一個基類,在這個基類中統(tǒng)計捕獲所以異常,并且將異常存儲到日志中,一些致命的錯誤也可以存儲到關(guān)系型的數(shù)據(jù)庫中,方便進行快速檢索對于用戶操作錯誤需要定義一個專門的異常處理類FileException,通過該類來集中捕獲并處理用戶操作錯誤。FileException類型的異常將會自動拋出到表示層統(tǒng)一處理,同時FileException需要繼承于RuntimeException。為了解決異常信息的國際化問題,還需為FileException類增加兩個屬性:errorCode和values,通過這兩個屬性可以實現(xiàn)異常代碼和國際化錯誤信息文件的對應(yīng)。當(dāng)FileException拋出到表示層之后,為Struts2設(shè)定相應(yīng)的異常攔截器專門攔截FileException,并且將攔截到的結(jié)果統(tǒng)一定位到相應(yīng)的頁面統(tǒng)一進行處理。
四、高校檔案管理中異常處理的實現(xiàn)
以下使用用戶管理模塊來模擬整個異常處理的機制,首先定義一個FileException類,這個類繼承于RuntimeException,并且為這兩個增加兩個屬性errorCode和values,用來進行國際化的操作。
public class FileException extends RuntimeException {
private String errorCode;//存儲異常信息的代碼,用來實現(xiàn)國際化
private String[] values;//存儲相應(yīng)的提示信息中的變量
............
}
為用戶模塊創(chuàng)建一個接口,IUserService,該接口中創(chuàng)建login方法,login方法的流程如下:首先調(diào)用UserDAO中的方法通過username獲取用戶對象,如果該對象為空,不返回任何值,而是拋出FileException,如果用戶對象不為空就把用戶密碼取出來進行比較,如果密碼不正確同樣拋出異常,在異常的values中說明用戶名密碼不正確。如果用戶名和密碼都正確就返回查詢出來的用戶對象。這個用戶對象用于在表示層存儲在session中,用來處理狀態(tài)。
當(dāng)用戶登錄之后,controller會調(diào)用userService的方法,此時如果返回一個用戶對象就說明登錄成功,然后將這個用戶對象存儲到session中,用于進行狀態(tài)的控制,如果登錄失敗就會拋出FileException,在controller層中通過攔截器獲取統(tǒng)一轉(zhuǎn)到一個錯誤的處理視圖中顯示這個錯誤。
五、總結(jié)
通過對java異常處理機制的變形和封裝,加之Spring MVC的異常攔截器的運用,可以為招就信息系統(tǒng)提供一個錯誤處理的統(tǒng)一解決方案。目前基于B/S結(jié)構(gòu)的主流開發(fā)語言(.NET,Ruby)在開發(fā)相應(yīng)的MIS系統(tǒng)中都是使用MVC作為開發(fā)框架,并且異常處理方式也基本統(tǒng)一,所以此異常處理的方式和框架可以平滑的過渡到其他的開發(fā)語言中,使基于B/S結(jié)構(gòu)的MIS項目的錯誤管理更加的可控和可維護。
參考文獻(xiàn):
[1]劉秀敏,魏翠萍.面向?qū)ο蟪绦蛟O(shè)計的教學(xué)問題探討[J].河北廣播電視大學(xué)學(xué)報. 2009(02)
[2]孔浩著.高校學(xué)生管理系統(tǒng)新型模式的研發(fā)與探究[J].昭通師專學(xué)報2007年第5期
[3]孫衛(wèi)琴,李洪成.Tomca t 與 Java W e b 開發(fā)技術(shù)詳解[ M ].北京: 電子工業(yè)出版社, 2004
[4]西爾伯沙茨著,楊冬青譯.數(shù)據(jù)庫系統(tǒng)概念[M].北京:機械工業(yè)出版社.2012.3
[5]艾里特著,劉平利譯. 精通hibernate.[M]北京:機械工業(yè)出版社.2009.3
省級科研基金項目,基金編號:2012Y437
作者簡介:
1、張子鋒,(1985.01),男(漢族),河南淮濱人,碩士,助教,教育技術(shù)學(xué)。
2、劉崇富(1967.10),男(漢族),云南昭通人,本科,檔案館員,主要從事學(xué)生檔案管理方面研究。