- Java Web開(kāi)發(fā)和J2EE的區(qū)別 推薦度:
- 相關(guān)推薦
j2ee與java web的區(qū)別
J2EE技術(shù)之所以贏(yíng)得廣泛重視的原因之一就是EJB.它提供了一個(gè)框架來(lái)開(kāi)發(fā)和實(shí)施分布式商務(wù)邏輯,下面是小編整理的關(guān)于j2ee與java web的區(qū)別,歡迎大家參考!
1、Java
毫無(wú)疑問(wèn)這就是門(mén)語(yǔ)言和C、C++、C#一樣沒(méi)什么好說(shuō)的。
2、Java SE和Java EE
多數(shù)編程語(yǔ)言都有預(yù)選編譯好的類(lèi)庫(kù)以支持各種特定的功能,在Java中,類(lèi)庫(kù)以包(package)的形式提供,不同版本的Java提供不同的包,以面向特定的應(yīng)用。
Java2平臺(tái)包括標(biāo)準(zhǔn)版(J2SE)、企業(yè)版(J2EE)和微縮版(J2ME)三個(gè)版本:
Standard Edition(標(biāo)準(zhǔn)版) J2SE 包含那些構(gòu)成Java語(yǔ)言核心的類(lèi)。
比如:數(shù)據(jù)庫(kù)連接、接口定義、輸入/輸出、網(wǎng)絡(luò)編程
Enterprise Edition(企業(yè)版) J2EE 包含J2SE 中的類(lèi),并且還包含用于開(kāi)發(fā)企業(yè)級(jí)應(yīng)用的類(lèi)。
比如:EJB、servlet、JSP、XML、事務(wù)控制
Micro Edition(微縮版) J2ME 包含J2SE中一部分類(lèi),用于消費(fèi)類(lèi)電子產(chǎn)品的軟件開(kāi)發(fā)。
比如:呼機(jī)、智能卡、手機(jī)、PDA、機(jī)頂盒
他們的范圍是:J2SE包含于J2EE中,J2ME包含了J2SE的核心類(lèi),但新添加了一些專(zhuān)有類(lèi)
應(yīng)用場(chǎng)合,API的覆蓋范圍各不相同。
籠統(tǒng)的講,可以這樣理解:
J2SE是基礎(chǔ);
壓縮一點(diǎn),再增加一些CLDC等方面的特性就是J2ME;
擴(kuò)充一點(diǎn),再增加一些EJB等企業(yè)應(yīng)用方面的特性就是J2EE。
3、Java Web和Java EE
Java EE是企業(yè)級(jí)應(yīng)用平臺(tái),Java Web是指所有用于web開(kāi)發(fā)的Java技術(shù)。
與傳統(tǒng)的CS(客戶(hù)端與服務(wù)器端)架構(gòu)相比,J2EE Web程序服務(wù)器提供了很多額外的技術(shù)支持。而且這些技術(shù)是一般Web應(yīng)用程序都需要用到的,但是Web程序開(kāi)發(fā)人員不需要再另行開(kāi)發(fā),只需要直接拿過(guò)來(lái)使用即可。具體的來(lái)說(shuō),在Web應(yīng)用中主要通過(guò)調(diào)用現(xiàn)成的API來(lái)完成這個(gè)功能。而且使用這些技術(shù)時(shí),基本上沒(méi)有什么技術(shù)含量。因?yàn)樵诰唧w工作中使用這些技術(shù)都是采用基本固定的格式。命名技術(shù)就是其中一個(gè)典型的代表。在這篇文章中,筆者根據(jù)自己的經(jīng)驗(yàn),談?wù)勥@方面使用過(guò)程中的注意點(diǎn)。
一、 與傳統(tǒng)架構(gòu)之間的區(qū)別。
在使用這個(gè)技術(shù)之前,筆者認(rèn)為開(kāi)發(fā)人員至少需要知道,在Web架構(gòu)與CS架構(gòu)之間的區(qū)別。只有如此,才能夠更加全面的了解采用新技術(shù)所能夠帶來(lái)的優(yōu)勢(shì)。故筆者一開(kāi)始就著重強(qiáng)調(diào)兩者之間的差異。
在應(yīng)用程序開(kāi)發(fā)中,如果一個(gè)類(lèi)A需要調(diào)用另外一個(gè)類(lèi)B,則類(lèi)A需要知道類(lèi)B的源程序,然后在其中新建一個(gè)類(lèi)B的實(shí)例,才能夠?qū)崿F(xiàn)調(diào)用。而且當(dāng)一個(gè)程序改變時(shí),還需要重新編譯。從這可以看出,類(lèi)與類(lèi)之間的連接需要通過(guò)實(shí)例來(lái)完成,他們之間的連接就比較混亂。
而采用J2EE命名服務(wù)則不需要這么麻煩。簡(jiǎn)單的說(shuō),JE22命名服務(wù)器提供了應(yīng)用構(gòu)件程序的命名環(huán)境。如果采用了這種技術(shù)的話(huà),那么實(shí)現(xiàn)類(lèi)調(diào)用時(shí),就可以不通過(guò)實(shí)例來(lái)完成。做一個(gè)形象的比喻,命名服務(wù)就好像是一個(gè)地址簿。當(dāng)開(kāi)發(fā)人員在程序開(kāi)發(fā)時(shí)采用了新的構(gòu)件或者新建了某個(gè)類(lèi),那么相關(guān)的信息就會(huì)都在這個(gè)地址簿中登記。作為開(kāi)發(fā)人員的話(huà),就不需要再去查找原始的類(lèi),只需要在這個(gè)地址簿中查找即可。顯然這方面了我們?nèi)粘5拈_(kāi)發(fā)工作,可以縮短開(kāi)發(fā)的周期,同時(shí)簡(jiǎn)化類(lèi)之間的引用。最重要的是,如果以后被引用的類(lèi)有變化時(shí),不需要編譯整個(gè)應(yīng)用程序,而只需要重編譯有變化的類(lèi)即可。
二、 命名服務(wù)的核心環(huán)節(jié)解析。
J2EE命名服務(wù)提供各種應(yīng)用構(gòu)件程序的統(tǒng)一命名環(huán)境。其英文簡(jiǎn)稱(chēng)是JNDI。從這個(gè)英文名字中可以看到,這個(gè)命名服務(wù)包括兩層含義:命名和目錄接口。我們?cè)诹私膺@個(gè)技術(shù)的時(shí)候,如果從這兩個(gè)角度去理解,可能會(huì)更加簡(jiǎn)單一點(diǎn)。JNDI簡(jiǎn)化了高級(jí)Web程序類(lèi)之間的查找調(diào)用。
從技術(shù)上來(lái)說(shuō),JNDI主要是通過(guò)API來(lái)實(shí)現(xiàn)的。JNDI API提供了Web構(gòu)件進(jìn)行標(biāo)準(zhǔn)目錄操作的方法。舉一個(gè)簡(jiǎn)單的例子,可以將對(duì)象屬性和Java對(duì)象聯(lián)系在一起,或者通過(guò)對(duì)象屬性來(lái)查找Java對(duì)象。當(dāng)我們?cè)陔娫?huà)簿中查找某個(gè)電話(huà)的時(shí)候,會(huì)現(xiàn)在索引中找到某個(gè)人的名字。然后再?gòu)倪@個(gè)索引中打開(kāi)對(duì)應(yīng)的記錄,查找這個(gè)人的電話(huà)、住址等聯(lián)系信息。JNDI核心的工作思路就是如此。在上面筆者談到過(guò),這些技術(shù)都是采用基本固定的調(diào)用格式。也就是說(shuō),JNDI已經(jīng)被標(biāo)準(zhǔn)化。為此應(yīng)用程序可以通過(guò)使用JNDI來(lái)訪(fǎng)問(wèn)其他通用的命名服務(wù)。如支持常用的We命名協(xié)議、DNS等命名架構(gòu)。筆者認(rèn)為這點(diǎn)非常的重要。因?yàn)槠渲С侄喾N命名結(jié)構(gòu),則可以與其他平臺(tái)的應(yīng)用系統(tǒng),如C++等進(jìn)行很好的系統(tǒng)的整合。
【j2ee與java web的區(qū)別】相關(guān)文章:
Java Web開(kāi)發(fā)和J2EE的區(qū)別07-07
關(guān)于java-web的試卷06-25
Java開(kāi)發(fā)web的幾種開(kāi)發(fā)模式12-13
java實(shí)現(xiàn)web服務(wù)器的方法10-14
JAVA和.NET開(kāi)發(fā)過(guò)程中的區(qū)別10-25
Web Workers加速移動(dòng)Web應(yīng)用07-01
什么是J2EE07-05
j2ee介紹07-22
J2EE的概念08-23