版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、檔案管理相關(guān)技術(shù)文獻(xiàn)(wnxin)綜述摘要(zhiyo): Java是SUN公司開(kāi)發(fā)的適用于Internet的新型面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言。有人甚至(shnzh)預(yù)言“Java將是網(wǎng)絡(luò)的世界語(yǔ)。Java是一種適用于分布式網(wǎng)絡(luò)(客戶(hù)/服務(wù)器)環(huán)境的編程語(yǔ)言,是新一代面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,它特別適用于Internet應(yīng)用程序的開(kāi)發(fā)。 基于J2EE的檔案管理系統(tǒng)包含了很多尖端IT技術(shù),它是中型的綜合應(yīng)用系統(tǒng),在開(kāi)發(fā)過(guò)程中采用模塊化設(shè)計(jì),運(yùn)用一些技術(shù)比較滿意地完成整個(gè)系統(tǒng)的開(kāi)發(fā)與研制。方便、快捷的管理手段使所有管理部門(mén)的大大減輕了工作量,同時(shí)也較好的解決了安全問(wèn)題。J2EE體系結(jié)構(gòu)采用組件的思想,將業(yè)
2、務(wù)邏輯層從客戶(hù)、服務(wù)器端獨(dú)立出來(lái),從而帶來(lái)開(kāi)發(fā)、使用和維護(hù)的便利.關(guān)鍵詞:Java/ 對(duì)象 /類(lèi) /J2EE1 Java基本概念入門(mén) 在開(kāi)始系統(tǒng)分析時(shí),由于要選JAVA作為首選編程語(yǔ)言,這時(shí)我對(duì)JAVA僅有粗淺的認(rèn)識(shí),遠(yuǎn)遠(yuǎn)不夠做東西的水平,我就翻閱了大量的書(shū)籍和文獻(xiàn),經(jīng)過(guò)同學(xué)的介紹推薦,我仔細(xì)翻看了Bruce Eckel編著的Java編程思想中文版,從中我受益匪淺,本書(shū)有個(gè)特點(diǎn)介紹全面詳細(xì),作者有Java編程方面的經(jīng)驗(yàn),學(xué)識(shí)豐富,而且作者所舉例子非常常見(jiàn),容易聯(lián)想,特別是對(duì)于初學(xué)者來(lái)說(shuō)作者給出了很多有用的建議和指導(dǎo)意見(jiàn),我就把我從此書(shū)中所學(xué)到的做個(gè)簡(jiǎn)單的介紹。 JAVA是有SUN公司開(kāi)發(fā)的新一
3、代編程語(yǔ)言,它可以用在各種不同的機(jī)器、操作系統(tǒng)的網(wǎng)絡(luò)環(huán)境中進(jìn)行開(kāi)發(fā)。不論你使用哪種瀏覽器或者使用哪種操作系統(tǒng)(Windows、Unix等等),只要瀏覽器支持JAVA,你就可以看到生動(dòng)的主頁(yè)。JAVA正在逐步成為Internet應(yīng)用的主要開(kāi)發(fā)語(yǔ)言,它徹底改變了應(yīng)用軟件的開(kāi)發(fā)模式,為迅速發(fā)展的信息世界增添了新的活力。下面我簡(jiǎn)單介紹一下java的基本概念: “盡管以C+為基礎(chǔ),但Java是一種更純粹的面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言”。無(wú)論C+還是Java都屬于雜合語(yǔ)言。但在Java中,設(shè)計(jì)者覺(jué)得這種雜合并不像在C+里那么重要。雜合語(yǔ)言允許采用多種編程風(fēng)格;之所以說(shuō)C+是一種雜合語(yǔ)言,是因?yàn)樗С峙cC語(yǔ)言的向后
4、兼容能力。由于C+是C的一個(gè)超集,所以包含的許多特性都是后者不具備的,這些特性使C+在某些地方顯得過(guò)于復(fù)雜。Java語(yǔ)言首先便假定了我們只希望進(jìn)行面向?qū)ο蟮某绦蛟O(shè)計(jì)。也就是說(shuō),正式用它設(shè)計(jì)之前,必須先將自己的思想轉(zhuǎn)入一個(gè)面向?qū)ο蟮氖澜纾ǔ窃缫蚜?xí)慣了這個(gè)世界的思維方式)。只有做好這個(gè)準(zhǔn)備工作,與其他OOP語(yǔ)言相比,才能體會(huì)到Java的易學(xué)易用。在本章,我們將探討Java程序的基本組件,并體會(huì)為什么說(shuō)Java乃至Java程序內(nèi)的一切都是對(duì)象。1.1、用句柄操縱對(duì)象 每種編程語(yǔ)言都有自己的數(shù)據(jù)處理方式。有些時(shí)候,程序員必須時(shí)刻留意準(zhǔn)備處理的是什么類(lèi)型。您曾利用一些特殊語(yǔ)法直接操作過(guò)對(duì)象,或處理過(guò)一
5、些間接表示的對(duì)象嗎(C或C+里的指針)?所有這些在Java里都得到了簡(jiǎn)化,任何東西都可看作對(duì)象。因此,我們可采用一種統(tǒng)一的語(yǔ)法,任何地方均可照搬不誤。但要注意,盡管將一切都“看作”對(duì)象,但操縱的標(biāo)識(shí)符實(shí)際是指向一個(gè)對(duì)象的“句柄”(Handle)。在其他Java參考書(shū)里,還可看到有的人將其稱(chēng)作一個(gè)“引用”,甚至一個(gè)“指針”??蓪⑦@一情形想象成用遙控板(句柄)操縱電視機(jī)(對(duì)象)。只要握住這個(gè)遙控板,就相當(dāng)于掌握了與電視機(jī)連接的通道。但一旦需要“換頻道”或者“關(guān)小聲音”,我們實(shí)際操縱的是遙控板(句柄),再由遙控板自己操縱電視機(jī)(對(duì)象)。如果要在房間里四處走走,并想保持對(duì)電視機(jī)的控制,那么手上拿著的是
6、遙控板,而非電視機(jī)。 此外,即使沒(méi)有電視機(jī),遙控板亦可獨(dú)立存在。也就是說(shuō),只是由于擁有一個(gè)句柄,并不表示必須有一個(gè)對(duì)象同它連接。所以如果想容納一個(gè)詞或句子,可創(chuàng)建一個(gè)String句柄:String s; 但這里創(chuàng)建的只是句柄,并不是對(duì)象。若此時(shí)向s發(fā)送一條消息,就會(huì)獲得一個(gè)錯(cuò)誤(運(yùn)行期)。這是由于s實(shí)際并未與任何東西連接(即“沒(méi)有電視機(jī)”)。因此,一種更安全的做法是:創(chuàng)建一個(gè)句柄時(shí),記住無(wú)論如何都進(jìn)行初始化:String s = asdf; 然而,這里采用的是一種特殊類(lèi)型:字串可用加引號(hào)的文字初始化。通常,必須為對(duì)象使用一種更通用的初始化類(lèi)型。1.2、所有對(duì)象都必須創(chuàng)建 創(chuàng)建句柄時(shí),我們希望它
7、同一個(gè)新對(duì)象連接。通常用new關(guān)鍵字達(dá)到這一目的。new的意思是:“把我變成這些對(duì)象的一種新類(lèi)型”。所以在上面的例子中,可以說(shuō):String s = new String(asdf);它不僅指出“將我變成一個(gè)新字串”,也通過(guò)提供一個(gè)初始字串,指出了“如何生成這個(gè)新字串”。當(dāng)然,字串(String)并非唯一的類(lèi)型。Java配套提供了數(shù)量眾多的現(xiàn)成類(lèi)型。對(duì)我們來(lái)講,最重要的就是記住能自行創(chuàng)建類(lèi)型。事實(shí)上,這應(yīng)是Java程序設(shè)計(jì)的一項(xiàng)基本操作,是繼續(xù)本書(shū)后余部分學(xué)習(xí)的基礎(chǔ)。保存到什么地方 程序運(yùn)行時(shí),我們最好對(duì)數(shù)據(jù)保存到什么地方做到心中有數(shù)。特別要注意的是內(nèi)存的分配。有六個(gè)地方都可以保存數(shù)據(jù):(1)
8、 寄存器。這是最快的保存區(qū)域,因?yàn)樗挥诤推渌斜4娣绞讲煌牡胤剑禾幚砥鲀?nèi)部。然而,寄存器的數(shù)量十分有限,所以寄存器是根據(jù)需要由編譯器分配。我們對(duì)此沒(méi)有直接的控制權(quán),也不可能在自己的程序里找到寄存器存在的任何蹤跡。(2) 堆棧。駐留于常規(guī)RAM(隨機(jī)訪問(wèn)存儲(chǔ)器)區(qū)域,但可通過(guò)它的“堆棧指針”獲得處理的直接支持。堆棧指針若向下移,會(huì)創(chuàng)建新的內(nèi)存;若向上移,則會(huì)釋放那些內(nèi)存。這是一種特別快、特別有效的數(shù)據(jù)保存方式,僅次于寄存器。創(chuàng)建程序時(shí),Java編譯器必須準(zhǔn)確地知道堆棧內(nèi)保存的所有數(shù)據(jù)的“長(zhǎng)度”以及“存在時(shí)間”。這是由于它必須生成相應(yīng)的代碼,以便向上和向下移動(dòng)指針。這一限制無(wú)疑影響了程序的靈
9、活性,所以盡管有些Java數(shù)據(jù)要保存在堆棧里特別是對(duì)象句柄,但Java對(duì)象并不放到其中。(3) 堆。一種常規(guī)用途的內(nèi)存池(也在RAM區(qū)域),其中保存了Java對(duì)象。和堆棧不同,“內(nèi)存堆”或“堆”(Heap)最吸引人的地方在于編譯器不必知道要從堆里分配多少存儲(chǔ)空間,也不必知道存儲(chǔ)的數(shù)據(jù)要在堆里停留多長(zhǎng)的時(shí)間。因此,用堆保存數(shù)據(jù)時(shí)會(huì)得到更大的靈活性。要求創(chuàng)建一個(gè)對(duì)象時(shí),只需用new命令編制相關(guān)的代碼即可。執(zhí)行這些代碼時(shí),會(huì)在堆里自動(dòng)進(jìn)行數(shù)據(jù)的保存。當(dāng)然,為達(dá)到這種靈活性,必然會(huì)付出一定的代價(jià):在堆里分配存儲(chǔ)空間時(shí)會(huì)花掉更長(zhǎng)的時(shí)間!(4) 靜態(tài)存儲(chǔ)。這兒的“靜態(tài)”(Static)是指“位于固定位置”
10、(盡管也在RAM里)。程序運(yùn)行期間,靜態(tài)存儲(chǔ)的數(shù)據(jù)將隨時(shí)等候調(diào)用??捎胹tatic關(guān)鍵字指出一個(gè)對(duì)象的特定元素是靜態(tài)的。但Java對(duì)象本身永遠(yuǎn)都不會(huì)置入靜態(tài)存儲(chǔ)空間。(5) 常數(shù)存儲(chǔ)。常數(shù)值通常直接置于程序代碼內(nèi)部。這樣做是安全的,因?yàn)樗鼈冇肋h(yuǎn)都不會(huì)改變。有的常數(shù)需要嚴(yán)格地保護(hù),所以可考慮將它們置入只讀存儲(chǔ)器(ROM)。(6) 非RAM存儲(chǔ)。若數(shù)據(jù)完全獨(dú)立于一個(gè)程序之外,則程序不運(yùn)行時(shí)仍可存在,并在程序的控制范圍之外。其中兩個(gè)最主要的例子便是“流式對(duì)象”和“固定對(duì)象”。對(duì)于流式對(duì)象,對(duì)象會(huì)變成字節(jié)流,通常會(huì)發(fā)給另一臺(tái)機(jī)器。而對(duì)于固定對(duì)象,對(duì)象保存在磁盤(pán)中。即使程序中止運(yùn)行,它們?nèi)钥杀3肿约旱臓?/p>
11、態(tài)不變。對(duì)于這些類(lèi)型的數(shù)據(jù)存儲(chǔ),一個(gè)特別有用的技巧就是它們能存在于其他媒體中。一旦需要,甚至能將它們恢復(fù)成普通的、基于RAM的對(duì)象。Java 1.1提供了對(duì)Lightweight persistence的支持。未來(lái)的版本甚至可能提供更完整的方案。特殊情況:主要類(lèi)型 有一系列類(lèi)需特別對(duì)待;可將它們想象成“基本”、“主要”或者“主”(Primitive)類(lèi)型,進(jìn)行程序設(shè)計(jì)時(shí)要頻繁用到它們。之所以要特別對(duì)待,是由于用new創(chuàng)建對(duì)象(特別是小的、簡(jiǎn)單的變量)并不是非常有效,因?yàn)閚ew將對(duì)象置于“堆”里。對(duì)于這些類(lèi)型,Java采納了與C和C+相同的方法。也就是說(shuō),不是用new創(chuàng)建變量,而是創(chuàng)建一個(gè)并非句
12、柄的“自動(dòng)”變量。這個(gè)變量容納了具體的值,并置于堆棧中,能夠更高效地存取。Java決定了每種主要類(lèi)型的大小。就象在大多數(shù)語(yǔ)言里那樣,這些大小并不隨著機(jī)器結(jié)構(gòu)的變化而變化。這種大小的不可更改正是Java程序具有很強(qiáng)移植能力的原因之一。主類(lèi)型 大小 最小值 最大值 封裝器類(lèi)型boolean1-bitBooleanchar16-bitUnicode 0Unicode 216- 1Characterbyte 8-bit-128+127Byteshort16-bit-215+215 1Short1int32-bit-231+231 1Integerlong64-bit-263+263 1Longfloa
13、t32-bitIEEE754IEEE754Floatdouble64-bit IEEE754IEEE754DoublevoidVoid1 數(shù)值類(lèi)型全都是有符號(hào)(正負(fù)號(hào))的,所以(suy)不必費(fèi)勁尋找沒(méi)有符號(hào)的類(lèi)型。主數(shù)據(jù)類(lèi)型也擁有自己的“封裝器”(wrapper)類(lèi)。這意味著假如想讓堆內(nèi)一個(gè)非主要對(duì)象表示那個(gè)主類(lèi)型,就要使用對(duì)應(yīng)(duyng)的封裝器。例如:char c = x;Character C = new Character(c);也可以直接使用:Character C = new Character(x); 這樣做的原因?qū)⒃谝院蟮恼鹿?jié)里解釋。1. 高精度數(shù)字Java 1.1增加了兩個(gè)
14、類(lèi),用于進(jìn)行高精度的計(jì)算:BigInteger和BigDecimal。盡管它們大致(dzh)可以劃分為“封裝器”類(lèi)型,但兩者都沒(méi)有對(duì)應(yīng)的“主類(lèi)型”。這兩個(gè)類(lèi)都有自己特殊的“方法”,對(duì)應(yīng)于我們針對(duì)主類(lèi)型執(zhí)行的操作。也就是說(shuō),能對(duì)int或float做的事情,對(duì)BigInteger和BigDecimal一樣可以做。只是必須使用方法調(diào)用,不能使用運(yùn)算符。此外,由于牽涉更多,所以運(yùn)算速度會(huì)慢一些。我們犧牲了速度,但換來(lái)了精度。 BigInteger支持任意精度的整數(shù)。也就是說(shuō),我們可精確表示任意大小的整數(shù)值,同時(shí)在運(yùn)算過(guò)程中不會(huì)丟失任何信息。 BigDecimal支持任意精度的定點(diǎn)數(shù)字。例如,可用它進(jìn)行
15、精確的幣值計(jì)算。至于調(diào)用這兩個(gè)類(lèi)時(shí)可選用的構(gòu)建器和方法,請(qǐng)自行參考聯(lián)機(jī)幫助論文。 J2EE開(kāi)發(fā)模式是潮流所趨,所以我們?cè)谧鰴n案管理系統(tǒng)的時(shí)候也試著去利用這一先進(jìn)的技術(shù)平臺(tái),雖然理解(lji)的不全面,但是對(duì)這個(gè)以前從沒(méi)有接觸過(guò)的技術(shù)有了粗淺的認(rèn)識(shí),相信對(duì)以后從事這方面的工作的時(shí)候是個(gè)很好的過(guò)渡。2. J2EE體系(tx)概述 J2EE是美國(guó)Sun公司剛剛推出的一種全新概念的模型,與傳統(tǒng)的互聯(lián)網(wǎng)應(yīng)用程序模型相比有著不可比擬的優(yōu)勢(shì)。當(dāng)今(dngjn)許多企業(yè)都需要擴(kuò)展他們的業(yè)務(wù)范圍,降低自身經(jīng)營(yíng)成本,縮短他們和客戶(hù)之間的響應(yīng)時(shí)間,這就需要存在一種簡(jiǎn)捷,快速的服務(wù)于企業(yè),合作伙伴和雇員之間。典型的說(shuō)
16、,提供這些服務(wù)的應(yīng)用軟件必須同企業(yè)信息系統(tǒng)(EIS)相結(jié)合,并提供新的能向更為廣闊的用戶(hù)提供的服務(wù)。這些服務(wù)要具備以下的特點(diǎn):a 高可用性:來(lái)滿足現(xiàn)在的全球商業(yè)環(huán)境b 安全性:保護(hù)用戶(hù)的隱私和企業(yè)數(shù)據(jù)的安全c 可依賴(lài)性和可擴(kuò)展性:保證商業(yè)交易的正確和迅捷 通常這些服務(wù)是由分布的應(yīng)用程序組成的,包括前端數(shù)據(jù)端和后端數(shù)據(jù)源以及它們之間的一層或幾層,這些中間層提供了把商業(yè)功能和數(shù)據(jù)與EIS相結(jié)合的功能。這些中間層把客戶(hù)端從復(fù)雜的商業(yè)邏輯中分離出來(lái),利用成熟的INTERNET技術(shù)使用戶(hù)在管理上所花費(fèi)的時(shí)間最小化。 J2EE正式降低了開(kāi)發(fā)這種中間層服務(wù)的成本和復(fù)雜程度,因而使得服務(wù)可以被快速的展開(kāi),并能
17、夠更輕松的面對(duì)競(jìng)爭(zhēng)中的壓力。1. J2EE的優(yōu)勢(shì)其表現(xiàn)如下:a J2EE Application Programming Model 一種用于開(kāi)發(fā)多層次,瘦型客戶(hù)用戶(hù)程序的標(biāo)準(zhǔn)設(shè)計(jì)模型b J2EE Platform一個(gè)標(biāo)準(zhǔn)的平臺(tái),用來(lái)整合J2EE的應(yīng)用程序,指定一系列的接口和方法c J2EE Compatibility Test Suite一套兼容測(cè)試組件,用來(lái)檢測(cè)產(chǎn)品是否同J2EE 平臺(tái)兼容d J2EE Reference Implementation用來(lái)示范J2EE的能力2J2EE 應(yīng)用程序模型 J2EE是被設(shè)計(jì)為顧客,雇員,供應(yīng)商,合作者提供企業(yè)級(jí)服務(wù),這樣的應(yīng)用程序天生具有復(fù)雜性,他們
18、要訪問(wèn)各種類(lèi)型的數(shù)據(jù)并分發(fā)于大量的客戶(hù)端。為了更好的控制,管理這些應(yīng)用程序,支持各種各樣用戶(hù)的商業(yè)功能要在中間層引入,中間層描述了一個(gè)被企業(yè)的信息技術(shù)部門(mén)緊緊控制的環(huán)境。J2EE應(yīng)用程序依靠于EIS層來(lái)存儲(chǔ)企業(yè)的商業(yè)數(shù)據(jù)。這些數(shù)據(jù)和用來(lái)管理它的系統(tǒng)是企業(yè)中的核心。最初,雙層結(jié)構(gòu)(client-server)應(yīng)用程序模型許諾將提高伸縮性與更廣闊的功能,但不幸的是,直接向用戶(hù)提供EIS服務(wù)的復(fù)雜性和再每臺(tái)用戶(hù)計(jì)算機(jī)上安裝和維護(hù)商業(yè)邏輯所引起的管理上的問(wèn)題成了很大的限制。而這些再雙層結(jié)構(gòu)中的限制在三層結(jié)構(gòu)中已不存在了。如今要求既開(kāi)發(fā)服務(wù)的商業(yè)功能,還要開(kāi)發(fā)訪問(wèn)數(shù)據(jù)庫(kù)和其他資源的代碼,這是很復(fù)雜的,因
19、為每一種多層結(jié)構(gòu)的服務(wù)器都有它自己的應(yīng)用模型,因此組建一直富有經(jīng)驗(yàn)的開(kāi)發(fā)隊(duì)伍將是困難的。另外,隨著服務(wù)規(guī)模的擴(kuò)大,為了降低開(kāi)支和加快響應(yīng)速度,也要經(jīng)常對(duì)其基層代碼進(jìn)行修改。 J2EE應(yīng)用模型定義了一種建筑模型來(lái)讓多層應(yīng)用程序?qū)崿F(xiàn)服務(wù),并消除了以上的問(wèn)題,提供了可伸縮的,易訪問(wèn)的,易于管理的方法。 J2EE應(yīng)用模型把實(shí)現(xiàn)多層結(jié)構(gòu)服務(wù)的工作劃分為二部分:開(kāi)發(fā)者實(shí)現(xiàn)商業(yè)和表達(dá)邏輯,以及由J2EE平臺(tái)提供的標(biāo)準(zhǔn)的系統(tǒng)服務(wù)。開(kāi)發(fā)者可以依賴(lài)于這個(gè)平臺(tái)為開(kāi)發(fā)中間層服務(wù)中遇到的系統(tǒng)級(jí)硬件問(wèn)題提供解決方案 J2EE應(yīng)用模型為中間層應(yīng)用程序提供了編譯一次,任意運(yùn)行的特點(diǎn)(write once,run anywhe
20、re),這種標(biāo)準(zhǔn)模型最小化了培訓(xùn)開(kāi)發(fā)人員的費(fèi)用。 J2EE應(yīng)用程序模型通過(guò)在建立多層應(yīng)用程序中最小化其復(fù)雜程度,圍簡(jiǎn)化和加速應(yīng)用程序的開(kāi)發(fā)邁出了重要的一步。3Java技術(shù)基礎(chǔ) J2EE應(yīng)用程序模型起始于Java程序語(yǔ)言和Java虛擬機(jī),他們提供的不斷提高的便攜性,安全性和開(kāi)發(fā)人員能力的提高是應(yīng)用程序模型的基礎(chǔ)。應(yīng)用程序模型通常包括JavaBean組件模型,JavaBean是的為普通功能編寫(xiě)基于Java技術(shù)的代碼更加容易,利用JavaBean的開(kāi)發(fā)工具可以可視的定制,組合這些組件。4安全性 當(dāng)其他的應(yīng)用程序模型需要在每個(gè)程序中有特定平臺(tái)的安全性時(shí),J2EE平臺(tái)環(huán)境使在開(kāi)發(fā)時(shí)安全約束便已定義了。
21、J2EE平臺(tái)定義了一種標(biāo)準(zhǔn)的公開(kāi)的存取控制規(guī)則,當(dāng)程序在企業(yè)平臺(tái)上開(kāi)發(fā)時(shí)就已被程序師定義和解釋了。J2EE也需要提供一個(gè)標(biāo)準(zhǔn)的注冊(cè)機(jī)制以便應(yīng)用程序不用將這些注冊(cè)機(jī)制和邏輯相混合,相同的工作要執(zhí)行于大量的不同的環(huán)境中而并不需要改變?cè)创a。 例如:J2EE應(yīng)用程序開(kāi)發(fā)人員可以指定幾個(gè)安全級(jí)別(如,user,superuser,administrator),于是他們寫(xiě)出代碼來(lái)檢查當(dāng)前用戶(hù)權(quán)限的級(jí)別當(dāng)用戶(hù)訪問(wèn)數(shù)據(jù)時(shí)。在開(kāi)發(fā)階段,開(kāi)發(fā)人員賦予多組用戶(hù)適當(dāng)?shù)陌踩?jí),使應(yīng)用程序能夠容易的判斷限制級(jí)在執(zhí)行限制操作之前。5中間層 J2EE應(yīng)用程序模型的一個(gè)主要優(yōu)點(diǎn)便是在中間層的多層應(yīng)用程序。在J2EE平臺(tái),中間
22、層商業(yè)功能是由企業(yè)JavaBean實(shí)現(xiàn)的。這些企業(yè)Beans允許服務(wù)開(kāi)發(fā)者集中于商業(yè)邏輯,并且讓EJB Server處理傳送穩(wěn)定的,可升級(jí)服務(wù)的復(fù)雜工作。 JavaServerPages 技術(shù)和Servlets向客戶(hù)層提供了易于訪問(wèn)的Internet型服務(wù)的中間層功能。Jsp技術(shù)使用戶(hù)接口開(kāi)發(fā)者更加容易的提供向任何瀏覽器用戶(hù)提供動(dòng)態(tài)頁(yè)面的服務(wù)。Servlets讓基于Java技術(shù)的開(kāi)發(fā)者有更大的自由來(lái)在Java語(yǔ)言中提供完全的動(dòng)態(tài)服務(wù)。6 客戶(hù)層 J2EE平臺(tái)支持幾種類(lèi)型的客戶(hù)。 許多J2EE服務(wù)被設(shè)計(jì)為瀏覽器用戶(hù)服務(wù),這些服務(wù)通過(guò)動(dòng)態(tài)生成Html頁(yè)和表單來(lái)同客戶(hù)端實(shí)現(xiàn)交互,而Jsp和Servl
23、ets是通過(guò)讓這些商業(yè)數(shù)據(jù)通過(guò)某種方式格式化,使客戶(hù)端更容易來(lái)同它工作。這些客戶(hù)端可以是運(yùn)行于瀏覽器中的JavaApplet和基于Java技術(shù)的程序。要注意的是安全是多層結(jié)構(gòu)的關(guān)鍵部分,在J2EE中安全性總是通過(guò)平臺(tái)和管理員來(lái)解決的。在大多案例中,服務(wù)方或客戶(hù)方都不需要開(kāi)發(fā)者與安全邏輯。7 基于Html頁(yè)的客戶(hù) 在Java2中可以實(shí)現(xiàn)向用戶(hù)的瀏覽器直接提供動(dòng)態(tài)Html頁(yè)的服務(wù),在JavaServerPage 技術(shù)中通過(guò)在Html頁(yè)中插入Java代碼動(dòng)態(tài)生成頁(yè)是一種很容易的事情。在一些例子中,某些服務(wù)需要一些綜合的代碼,者可以通過(guò)從Jsp中調(diào)用JavaBean的方法來(lái)實(shí)現(xiàn)。8 J2EE聲明 J2EE應(yīng)用程序模型的一個(gè)重要的目標(biāo)就是使應(yīng)用程序最小化。實(shí)現(xiàn)這一點(diǎn)的一種方法是提高在J2EE平臺(tái)上運(yùn)行普通任務(wù)的負(fù)擔(dān),這些普通任務(wù)包括強(qiáng)制一個(gè)應(yīng)用程序的安全目標(biāo)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《基于果蠅模式生物五味子醇甲改善睡眠的作用及其機(jī)制研究》
- 《導(dǎo)電聚苯胺微纖維的合成及磁阻效應(yīng)研究》
- 《TY紙業(yè)財(cái)務(wù)績(jī)效評(píng)價(jià)研究》
- 《南京椴組織培養(yǎng)的研究》
- 《沸石分子篩用于CO2-N2O吸附分離性能的研究》
- 幼兒園玩具制作課程設(shè)計(jì)
- 《明代文人日常生活審美化研究》
- 2025版新能源車(chē)輛采購(gòu)第三方支付擔(dān)保合同范本3篇
- 《海棠的繁殖技術(shù)研究》
- 2025年國(guó)家圖書(shū)館招聘筆試參考題庫(kù)含答案解析
- 機(jī)器人課程課程設(shè)計(jì)
- 南充市市級(jí)事業(yè)單位2024年公招人員擬聘人員歷年管理單位遴選500模擬題附帶答案詳解
- 安全知識(shí)考試題庫(kù)500題(含答案)
- 2024-2025學(xué)年上學(xué)期南京小學(xué)數(shù)學(xué)六年級(jí)期末模擬試卷
- 基礎(chǔ)工程施工月進(jìn)度計(jì)劃表
- 危險(xiǎn)性較大的分部分項(xiàng)工程專(zhuān)家論證表
- 2021-2022學(xué)年上海市閔行區(qū)五年級(jí)上學(xué)期期末語(yǔ)文試卷
- 人教版五年級(jí)上冊(cè)數(shù)學(xué)組合圖形的面積同步練習(xí)
- 2018級(jí)成考專(zhuān)升本漢語(yǔ)言文學(xué)專(zhuān)業(yè)12月份考試資料文獻(xiàn)學(xué)復(fù)習(xí)資料
- 最新中考英語(yǔ)單詞表2200個(gè)
評(píng)論
0/150
提交評(píng)論