Java SE和Java EE的區(qū)別
Java是目前所有編程語言中最流行、發(fā)展最快的語言之一。Java SE和Java EE都是Java里面的一個(gè)方向,這兩者具體有哪些區(qū)別呢?下面小編帶你去了解一下。
1、Java SE
Java SE 是Java平臺(tái)標(biāo)準(zhǔn)版的簡稱(Java Platform, Standard Edition) (also known as Java 2 Platform) ,用于開發(fā)和部署桌面、服務(wù)器以及嵌入設(shè)備和實(shí)時(shí)環(huán)境中的Java應(yīng)用程序。Java SE包括用于開發(fā)Java Web服務(wù)的類庫,同時(shí),Java SE為Java EE提供了基礎(chǔ)。
Java SE(Java Platform, Standard Edition,Java標(biāo)準(zhǔn)版)就是基于JDK和JRE的。J2EE是一種利用Java2平臺(tái)來簡化企業(yè)解決方案的開發(fā)、部署和管理相關(guān)的復(fù)雜問題的體系結(jié)構(gòu)。
J2EE技術(shù)的基礎(chǔ)就是核心Java平臺(tái)或Java 2平臺(tái)的標(biāo)準(zhǔn)版,J2EE不僅鞏固了標(biāo)準(zhǔn)版中的許多優(yōu)點(diǎn),例如"編寫一次、隨處運(yùn)行"的特性、方便存取數(shù)據(jù)庫的JDBC API、CORBA技術(shù)以及能夠在Internet應(yīng)用中保護(hù)數(shù)據(jù)的安全模式等等,同時(shí)還提供了對(duì)EJB(Enterprise JavaBeans)、Java Servlets API、JSP(Java Server Pages)以及XML技術(shù)的全面支持。其最終目的就是成為一個(gè)能夠使企業(yè)開發(fā)者大幅縮短投放市場(chǎng)時(shí)間的體系結(jié)構(gòu)。
J2EE體系結(jié)構(gòu)提供中間層集成框架用來滿足無需太多費(fèi)用而又需要高可用性、高可靠性以及可擴(kuò)展性的應(yīng)用的需求。通過提供統(tǒng)一的開發(fā)平臺(tái),J2EE降低了開發(fā)多層應(yīng)用的費(fèi)用和復(fù)雜性,同時(shí)提供對(duì)現(xiàn)有應(yīng)用程序集成強(qiáng)有力支持,完全支持Enterprise JavaBeans,有良好的向?qū)еС执虬筒渴饝?yīng)用,添加目錄支持,增強(qiáng)了安全機(jī)制,提高了性能。
2、Java EE
Java EE是一種利用Java2平臺(tái)來簡化企業(yè)解決方案的開發(fā)、部署和管理相關(guān)的復(fù)雜問題的體系結(jié)構(gòu)。J2EE技術(shù)的基礎(chǔ)就是核心Java平臺(tái)或Java SE,Java EE不僅鞏固了標(biāo)準(zhǔn)版中的許多優(yōu)點(diǎn),例如“編寫一次、隨處運(yùn)行”的特性、方便存取數(shù)據(jù)庫的JDBC API、CORBA技術(shù)以及能夠在Internet應(yīng)用中保護(hù)數(shù)據(jù)的安全模式等等,同時(shí)還提供了對(duì) EJB(EnterpriseJavaBeans)、Java Servlets API、JSP(Java Server Pages)以及XML技術(shù)的全面支持。其最終目的就是成為一個(gè)能夠使企業(yè)開發(fā)者大幅縮短投放市場(chǎng)時(shí)間的體系結(jié)構(gòu)。
Java EE體系結(jié)構(gòu)提供中間層集成框架用來滿足無需太多費(fèi)用而又需要高可用性、高可靠性以及可擴(kuò)展性的應(yīng)用的需求。通過提供統(tǒng)一的開發(fā)平臺(tái),J2EE降低了開發(fā)多層應(yīng)用的費(fèi)用和復(fù)雜性,同時(shí)提供對(duì)現(xiàn)有應(yīng)用程序集成強(qiáng)有力支持,完全支持EJB,有良好的向?qū)еС执虬筒渴饝?yīng)用,添加目錄支持,增強(qiáng)了安全機(jī)制,提高了性能。
Security安全是Java EE的一個(gè)重要特點(diǎn),也就是基于容器的安全訪問,無需自己手工編碼,具體實(shí)現(xiàn)可參考Jdon框架應(yīng)用演示源碼JdonNews。這雖然是基于J2EE 1.3編寫,但是和Java EE 5區(qū)別不是很大。
事務(wù)管理Transaction Management也是Java EE 5的一個(gè)重要部分,該標(biāo)準(zhǔn)文檔從幾個(gè)方面闡述了事務(wù)管理的要點(diǎn),標(biāo)準(zhǔn)中規(guī)定了在WEB層中使用事務(wù)和線程的處理關(guān)系,標(biāo)準(zhǔn)中規(guī)定:Web服務(wù)器如Tomcat無需在Web層提供事務(wù)支持,因?yàn)閃eb組件根本不支持事務(wù)繁衍/傳遞。
因?yàn)楫?dāng)前一些架構(gòu)如 Struts+Spring+Hibernate/Struts+Hibernate是標(biāo)準(zhǔn)中的Web結(jié)構(gòu),因此Java EE 5在J2EE 4.2.2規(guī)定了 Web組件事務(wù)的生命周期,如果Web組件直接調(diào)用JTA,事務(wù)就不可以跨一個(gè)客戶端的多個(gè)請(qǐng)求,事務(wù)只能在一個(gè)請(qǐng)求(Servlet/Jsp)中完成,這個(gè)標(biāo)準(zhǔn)規(guī)定了我們?cè)赪eb架構(gòu)中(如上述架構(gòu))無法使用長事務(wù)(如工作流/狀態(tài)圖中跨頁面請(qǐng)求事務(wù)),針對(duì)一個(gè)客戶端跨請(qǐng)求的事務(wù)暫時(shí)只有唯一解決方案:只有使用EJB的有態(tài)Session。
小編總結(jié)
看完了上面的描述,是不是對(duì)Java SE和Java EE的區(qū)別有了了解,其實(shí)說得更簡單點(diǎn),Java SE 是做電腦上運(yùn)行的軟件。Java EE 是用來做網(wǎng)站的,也就是我們常見的JSP技術(shù)。