欧美成人永久免费_欧美日本五月天_A级毛片免看在线_国产69无码,亚洲无线观看,精品人妻少妇无码视频,777无码专区,色大片免费网站大全,麻豆国产成人AV网,91视频网络,亚洲色无码自慰

當(dāng)前位置:網(wǎng)站首頁(yè) >> 作文 >> j2ee的理解 j2ee平臺(tái)模板

j2ee的理解 j2ee平臺(tái)模板

格式:DOC 上傳日期:2023-04-27 19:00:17
j2ee的理解 j2ee平臺(tái)模板
時(shí)間:2023-04-27 19:00:17     小編:zdfb

范文為教學(xué)中作為模范的文章,,也常常用來(lái)指寫作的模板。常常用于文秘寫作的參考,,也可以作為演講材料編寫前的參考,。那么我們?cè)撊绾螌懸黄^為完美的范文呢,?下面是小編為大家收集的優(yōu)秀范文,供大家參考借鑒,,希望可以幫助到有需要的朋友,。

j2ee的理解 j2ee平臺(tái)篇一

j2ee核心是一組技術(shù)規(guī)范與指南,,其中所包含的各類組件、服務(wù)架構(gòu)及技術(shù)層次,,均有共同的標(biāo)準(zhǔn)及規(guī)格,,讓各種依循j2ee架構(gòu)的不同平臺(tái)之間,存在良好的兼容性,。下面是小編整理的關(guān)于j2ee系統(tǒng)異常的處理準(zhǔn)則,,歡迎大家參考!

異常的處理是每個(gè)java程序員時(shí)常面對(duì)的問(wèn)題,但是很多人沒(méi)有原則,,遇到異常也不知道如何去處理,,于是遇到檢查異常就胡亂try...catch...一把,tacktrace()一下了事,,這種做法通常除了調(diào)試排錯(cuò)有點(diǎn)作用外,,沒(méi)任何價(jià)值。對(duì)于運(yùn)行時(shí)異常,,則干脆置之不理,。

原因是很多開發(fā)者缺乏對(duì)異常的認(rèn)識(shí)和分析,首先應(yīng)該明白java異常體系結(jié)構(gòu),,一種分層繼承的關(guān)系,,你必須對(duì)層次結(jié)構(gòu)熟爛于心:

throwable(必須檢查)

error(非必須檢查)

exception(必須檢查)

runtimeexception(非必須檢查)

一般把exception異常及其直接子類(除了runtimeexception之外)的異常稱之為檢查異常。把runtimeexception以及其子類的異常稱之為非檢查異常,,也叫運(yùn)行時(shí)異常,。

對(duì)于throwable和error,則用的很少,,一般會(huì)用在一些基礎(chǔ)框架中,,這里不做討論。

下面針對(duì)j2ee的分層架構(gòu):dao層,、業(yè)務(wù)層,、控制層、展示層的異常處理做個(gè)分析,,并給出一般處理準(zhǔn)則,。

如果你用了spring的dao模板來(lái)實(shí)現(xiàn),則dao層沒(méi)有檢查異常拋出,,代碼非常的優(yōu)雅,。但是,如果你的dao采用了原始的jdbc來(lái)寫,,這時(shí)候,,你不能不對(duì)異常做處理了,因?yàn)殡y以避免的sqlexception會(huì)如影隨形的`跟著你,。對(duì)已這種dao級(jí)別的異常,,異常了你又能如何呢?與其這樣胡亂try...catch...,,囫圇吞棗消滅了異常不如讓異常以另外一種非檢查的方式向外傳遞。這樣做好處有二:

1),、dao的接口不被異常所污染,,假設(shè)你拋出了sqlexception,以后要是換了spring dao模板,,那dao接口就不再拋出了sqlexception,,這樣,你的接口拋出異常就是對(duì)接口的污染,。

2),、dao異常向外傳播給更高層處理,,以便異常的錯(cuò)誤原因不丟失,,便于排查錯(cuò)誤或進(jìn)行捕獲處理。

這里還有一個(gè)設(shè)計(jì)上常常令人困擾的問(wèn)題:很多人會(huì)問(wèn),,那定義一個(gè)什么樣的異常拋出呢,,或者是直接拋出一個(gè)throw runtimeexception(e)? 對(duì)于這個(gè)問(wèn)題,需要分場(chǎng)合,,如果系統(tǒng)小,,你可以直接拋出一個(gè)throw runtimeexception(e),但對(duì)于一個(gè)龐大的多模塊系統(tǒng)來(lái)說(shuō),,不要拋這種原生的非檢查異常,,而要拋出自定義的非檢查異常,這樣不但利于排錯(cuò),,而且有利于系統(tǒng)異常的處理,,通常針對(duì)每一個(gè)模塊,粗粒度的定義一個(gè)運(yùn)行時(shí)dao異常,。比如:throw new modelxxxdaoruntimeexception(".....",e),,對(duì)于msg信息,你可寫也可不寫,,根據(jù)需要靈活拋出,。

這里常見一個(gè)很愚昧的處理方式,為每個(gè)dao定義一個(gè)異常,,呵呵,,這樣累不累啊,有多大意義,,在service層中調(diào)用時(shí)候,,如果要捕獲,還要捕獲出一堆異常,。這樣致命的問(wèn)題是代碼混亂,,維護(hù)困難,,閱讀也困難,dao的異常應(yīng)該是粗粒度的,。

習(xí)慣上把業(yè)務(wù)層稱之為service層或者服務(wù)層,,service層的代表的是業(yè)務(wù)邏輯,不要迷信分太多太多層有多大好處,,除非需要,,否則別盲目劃分不必要的層,層越多,,效率越差,,根據(jù)需要夠用就行了。

service接口中的每個(gè)方法代表一個(gè)特定的業(yè)務(wù),,而這個(gè)業(yè)務(wù)一定是一個(gè)完整的業(yè)務(wù),,通常會(huì)看到一些傻x的做法,數(shù)據(jù)庫(kù)事務(wù)配置在service層,,而service的實(shí)現(xiàn)就是dao的直接調(diào)用,,然后在控制層(action)中,調(diào)用了好多service去完成一個(gè)業(yè)務(wù),,你氣得已經(jīng)無(wú)語(yǔ)了,,低頭找磚頭去!!!

搞明白以上兩個(gè)問(wèn)題后再回過(guò)頭看異常怎么處理,service層通常依賴dao,,而service層的通常也會(huì)因?yàn)檎{(diào)用別的非檢查異常方法而必須面對(duì)異常處理的問(wèn)題,,這里和dao層又有所不同,彼一時(shí),,此一時(shí)嘛!

一般來(lái)說(shuō)一個(gè)小模塊對(duì)應(yīng)一個(gè)service,,當(dāng)然也許有兩個(gè)或多個(gè),針對(duì)這個(gè)模塊的service定義一個(gè)非檢查異常,,以應(yīng)付那些不可避免的異常檢查,,這個(gè)自定義異常可以簡(jiǎn)單的命名為xxxserviceruntimeexception,,將捕獲到的異常順勢(shì)轉(zhuǎn)譯為非檢查異常后拋出,。我喜歡這么做,因?yàn)榍芭_(tái)是j2ee應(yīng)用,,前臺(tái)是web頁(yè)面,,它們的struts2等框架會(huì)自動(dòng)捕獲所有service層的異常,并把異常交給開發(fā)者去自由處理,。

但是還有一種情況,,由于一些特殊的限制,如果某個(gè)異常一旦發(fā)生,,必須做什么什么處理,,而這種處理時(shí)硬性要求,,或者調(diào)用某個(gè)service方法,必須檢查處理什么異常,,也可以拋出非檢查的自定義異常,,往往出現(xiàn)這種情況的是政治原因。不推崇這種做法,,但也不排斥,。

總之,對(duì)于接口,,盡可能不去用異常污染她!

控制層說(shuō)的簡(jiǎn)單些就是常見的action層,,主要是控制頁(yè)面請(qǐng)求的處理??刂茖油ǔ6家蕾囉趕ervice層,,現(xiàn)在比較流行的框架對(duì)控制層做得都相當(dāng)?shù)牡轿唬热鐂truts2,、springmvc等等,,他們的控制層框架會(huì)捕獲業(yè)務(wù)層的所有異常,,并在控制層中聲明可能拋出exception,,因此控制層一般不處理什么異常。

如果是控制層中因?yàn)檎{(diào)用了一些非檢查異常的方法,,比如io操作等,,可以簡(jiǎn)單處理下異常,保證流的安全,,這才是目的,。

對(duì)于頁(yè)面異常,處理的方式多種多樣,,一是不處理異常,,一旦異常了,頁(yè)面就報(bào)錯(cuò),。二是定義出錯(cuò)頁(yè)面,,根據(jù)異常的類型以及所在的模塊,導(dǎo)航到出錯(cuò)頁(yè)面,。

一般來(lái)說(shuō),,出錯(cuò)頁(yè)面是更友好的做法。

另外還有特殊的處理方式,,展示頁(yè)面的模板可以捕獲異常,,并根據(jù)情況將異常信息鋪到相應(yīng)的位置,這樣就更友好了,,不過(guò)復(fù)雜度較高,。

怎么處理,,就看需要了。

五,、總結(jié)

1),、對(duì)于異常處理,應(yīng)該從設(shè)計(jì),、需要,、維護(hù)等多個(gè)角度綜合考慮,有一個(gè)通用準(zhǔn)則:千萬(wàn)別捕獲了異常什么事情都不干,,這樣一旦出現(xiàn)異常了,,你沒(méi)法依據(jù)異常信息來(lái)排錯(cuò)。

2),、對(duì)于j2ee多層架構(gòu)系統(tǒng)來(lái)說(shuō),,盡可能避免(因拋出異常帶來(lái)的)接口污染。

s("content_relate");

【關(guān)于j2ee系統(tǒng)異常的處理準(zhǔn)則】相關(guān)文章:

1.

j2ee系統(tǒng)優(yōu)化:對(duì)象與循環(huán)

2.

關(guān)于系統(tǒng)不認(rèn)硬盤的常規(guī)處理方法

3.

系統(tǒng)不認(rèn)硬盤的常規(guī)處理方法

4.

j2ee項(xiàng)目中的異常處理

5.

j2ee架構(gòu)環(huán)境監(jiān)控系統(tǒng)設(shè)計(jì)

6.

j2ee系統(tǒng)優(yōu)化之對(duì)象與循環(huán)簡(jiǎn)介

7.

j2ee的簡(jiǎn)介

8.

j2ee簡(jiǎn)介

全文閱讀已結(jié)束,,如果需要下載本文請(qǐng)點(diǎn)擊

下載此文檔
你可能感興趣的文章
a.付費(fèi)復(fù)制
付費(fèi)獲得該文章復(fù)制權(quán)限
特價(jià):5.99元 10元
微信掃碼支付
已付款請(qǐng)點(diǎn)這里
b.包月復(fù)制
付費(fèi)后30天內(nèi)不限量復(fù)制
特價(jià):9.99元 10元
微信掃碼支付
已付款請(qǐng)點(diǎn)這里 聯(lián)系客服