賈文瀟,鄧俊杰(武昌理工學院信息工程學院,430063)
?
Java Web應用中常見的錯誤和異常問題處理
賈文瀟,鄧俊杰
(武昌理工學院信息工程學院,430063)
摘要:Java Web指的是基于Java技術解決互聯網Web端的技術,Web由服務器和客戶端兩部分組成。由于Java Web采用分層思想,在降低軟件耦合性的同時增強了其內聚性,但是另一方面卻使整個軟件開發(fā)工作顯得復雜并容易出現運行錯誤。所以錯誤和異常問題處理是Java語言的重要機制,正確、合理地處理對電腦有著極為重要的作用。進行相應的錯誤和異常問題處理架構模型的構建式很重要的,本文圍繞Java Web應用中錯誤和異常問題處理,通過對其架構、處理原則、異常處理與實現進行分析和說明。
關鍵詞:Java Web應用;錯誤和異常;問題處理
傳統(tǒng)的Java Web應用一般采用的是多層架構,即軟件結構中的分層思想。這種架構的軟件內聚性加強、耦合性降低,但是分層增加了軟件開發(fā)的重復性工作,使應用變得更加復雜,從而產生一些不必要的錯誤。Java Web應用業(yè)務的復雜性會使編程產生一些不必要的錯誤和異常問題,給系統(tǒng)的調試帶來不必要的麻煩。針對這些問題,本文在Java Web異常機制上建立一個錯誤和異常處理模型,對異常和錯誤進行統(tǒng)一的管理,提高程序的可讀性、可維護性、可修改性和魯棒性等技術性指標。
處理Java Web應用中常見的錯誤和異常問題,前提是需要明確Java Web的架構原理和其設計理念,只有這樣才能夠找出錯誤和異常問題的出現根源,并進行相關的設計,從而提高處理問題的效率。
首先要明確Java Web的概念:一種基于Java技術的Web端口的技術綜合。Java是應用最廣泛的跨平臺開發(fā)語言,而Web端共包括服務器和客戶端兩部分。Java Web就是用來解決Web問題的技術,一般情況下Java Web的應用是很廣泛的,Java技術的應用讓Web開發(fā)有了巨大的發(fā)展。好的Java Web軟件體系結構是多層的,層次越多程序之間的耦合度越低、內聚性越強,同時出現也會變得更加復雜。本文在Java錯誤與異常問題機制的基礎上構建了一個Java Web應用中錯誤與異常問題處理的框架模型,該模型采用最常見的軟件三層體系結構,即Java Web三層結構模型。
2.1 Java Web錯誤與異常處理原則
本文采用拋出自定義類型的異常的錯誤處理方式,便于對錯誤和異常進行統(tǒng)一的管理,從而提高Java Web應用程序的利用性。Java Web中產生的異常都是繼承Exception,并且一般采用三層或多層的架構。程序員不必逐層的處理各層中的錯誤和異常,要運用相應的措施將異常封裝成為Checked Exciption類型,并從實際的應用程序出發(fā)??偟膩碚f,就是子啊進行錯誤和異常處理時,要菜哦也難怪自定義類型異常拋出和統(tǒng)一管理的原則,充分提高程序的可行性的同時還要提高軟件的適用性。
2.2 Java Web錯誤與異常處理策略
Java程序中會發(fā)生很多錯誤,本文采用的錯誤處理策略是當錯誤發(fā)生時,要將錯誤和錯誤發(fā)生時轉向的頁面封裝成一個異常對象并將其拋出,并集中到一起進行統(tǒng)一處理。運行中的程序發(fā)生錯誤就會拋出一個詳細的異常對象,并根據發(fā)生的異常信息來決定轉向的頁,從而避免因采用程序而被忽略的一些信息。同樣出現中也會發(fā)生很多異常,對于如業(yè)務邏輯錯誤、未找到指定文件等異常問題,Web應用通常會將這些異常即發(fā)生異常后轉向的頁面等信息進行對象性封裝、拋出,同時也會進行及時的處理。這在一定的程度上方便了客戶的使用。
在Java Web的三層架構模型中,可以利用Java的多態(tài)性機制,只要捕獲自定義的基類異常,而具體拋出的異??梢允荁asic Exception類的任何子類異常,并使用多態(tài)來實現隱藏異常的具體的實現類。在一個集中的公共位置,使用模板方法TemplateMethod1設計模式并結合Struts的Dispatch Actio編寫一個模板方法,并在改模板方法中獲取Basic Exception異常,這樣就會捕捉到所有的子類異常。
采取這樣的策略,就不會對持久層中的所有方法都拋出Basic Exception異常進行處理,對業(yè)務邏輯層中的所有方法采用持久層中的策略,同樣不用對異常進行處理。采用這種通用的異常傳播機制,把異常作為一種普通的方式集中到距離客戶端最近的控制器中來處理。書寫異常的模板代碼應該避免,利用Struts的DispatchAction的工作機制來解決問題,同時結合模板方法模式重寫模板方法execute,并將異常模板的代碼和處理錯誤寫入execute方法中,將具體的、可變的業(yè)務邏輯控制方法留給子類實現。這樣處理后每個Structs的Action只要繼承DispatchAction類就可以自動的繼承錯誤和異常問題處理代碼,從而節(jié)省大量代碼的編寫。
對Basic Exception類進行間接性繼承并根據實際需要增加相應的錯誤和異常種類,這樣就可以對整個捕獲錯誤過程進行抽象,并進行有效執(zhí)行。在進行應用模型交互時,可以將這些工作抽象為一個接口,同時設計其外觀模式,為子系統(tǒng)的接口提供相應的外部訪問入口。在進行交互之后,在實際的封裝中對struts的Action代碼進行合理精簡,這樣可以同時減輕程序員的負擔和增加程序的可行性。
本文提出了一種Java Web應用中常見的錯誤和異常問題處理框架模型,并利用軟件三層架構思想來實現該模型的構建,這解決了Java Web應用中錯誤和異常處理中存在的普遍問題。該模型可以將錯誤和異常詳細信息記錄到日志文件中,而且控制器能夠根據該信息繼而將頁面跳轉到制定的網頁上去。本文分析了異常的處理機制及原則,對異常的處理有著積極的作用,很大程度上提高了系統(tǒng)的安全性和穩(wěn)定性,也提高了程、開發(fā)軟件的效率,有效節(jié)省了人力物力。
參考文獻
[1]印旻,王行言.Java 語言與面向對象程序設計(第2版)[M].北京:清華大學出版社,2007
[2]王新雨,須文波,柴志雷.Java虛擬機中異常機制實時性的研究及實現[J].計算機工程與應用,2008
[3]楊厚群,陳靜.Java異常處理機制的研究[J].計算機科學,2007
[4]Bruce Eckel. (美) Java編程思想[M].北京:機械工業(yè)出版社,2005
[5]張?zhí)?在線考試系統(tǒng)異常處理框架的涉及與實現[J].蘭州工業(yè)高等??茖W校學報,2008
Common errors and exception handling in Web Java applications
Jia Wenxiao,Deng Junjie
(Wuchang University of Technology Information and Engineering School,430063)
Abstract:Java Web refers to solve the Internet on the Web technology based on Java technology,the Web consists of two parts,the server and client.Because of using Java Web layered thought in reducing software coupling at the same time to enhance the internal cohesion,but on the other hand,makes the entire software development work are complex and prone to error.So wrong and exception handling is the important mechanism of the Java language,correct and reasonable treatment on computer has a very important role.Corresponding error and abnormal problems processing architecture model of building type is very important,this article around the Java Web application error and abnormal problems in processing, through to its architecture, principles of management, exception handling, and carries on the analysis and explanation.
Keywords:Java Web applications;Errors and exceptions;Problem processing