當前位置:編程學習大全網 - 編程語言 - 請問J2EE是什麽東西? 他和java有什麽關系?

請問J2EE是什麽東西? 他和java有什麽關系?

java是壹種編程語言 ,最基本的

用它可以做很多事情

用Java做的事情大多數可以分為三類

J2ME手機軟件編寫的平臺,可以理解為用來寫小軟件的

J2SE大部分用來做桌面軟件,或者初學者練習的

J2EE就是企業開發經常用的,包含很多內容和技術

JSP只是J2EE裏面很小的壹部分

JAVA與J2EE

隨著Internet網絡的迅速發展,基於互聯網的企業應用要求軟件平臺具有開放性、分布性和平臺無關性。於是就相繼出現了RPC/COM/CORBA等技術,但這些技術在實際應用中存在著許多不足和局限。它們的特定協議難以通過防火墻,因而不適於Web上的應用開發。為了進壹步開發基於Web的應用,出現了Sun公司的Sun ONE(Open Net Environment 開發網絡環境)和Microsoft公司的.NET等Web 服務技術體系。

Sun ONE體系結構以Java語言為核心,包括J2SE/J2EE/J2ME和壹系列的標準、技術及協議。它包括Sun獨有的iPlanet軟件系列,其中有在市場上受歡迎的LDAP目錄服務器軟件,以及Forte for Java——便於在任何環境下書寫Java 語言的軟件工具。我們很容易就能從網上免費獲得和使用包括Java 集成開發環境、Java數據庫和中間件(Application Server)服務器等產品,以及它們的源代碼。Sun ONE更接近或能滿足互聯網在智能化Web服務方面對分布性、開發性和平臺無關性的要求。

隨著Java技術的不斷發展,它根據市場進壹步細分為:針對企業網應用的J2EE(Java 2 Enterprise Edition)、針對普通PC應用的J2SE(Java 2 Standard Edition)和針對嵌入式設備及消費類電器的J2ME(Java 2 Micro Edition)三個版本。本文就Sun ONE的Java核心應用——J2SE/J2EE/J2ME作壹些介紹。

J2EE技術應用

J2EE是Sun公司推出的壹種全新概念的模型,比傳統的互聯網應用程序模型更有優勢。

J2EE模型

J2EE的應用編程模型(J2EE Blueprints)提供了壹種用於實施基於J2EE多層應用的文檔和實例套件的體系模型,簡化了這項復雜的工作。它被開發人員用作設計和優化組件,以便開發人員從策略上對開發工作進行分工。

J2EE應用編程模型要求開發者將自己的工作分成兩類:商業邏輯和表示邏輯,其余則由系統資源自動處理,不必為中間層管道進行編碼。這樣,開發人員就能將更多的時間花在商業邏輯和表示邏輯上。對重視縮短項目周期的公司來說,這種轉變深受歡迎。

J2EE平臺

J2EE平臺是運行J2EE應用的標準環境,由J2EE部署規範(壹套所有J2EE平臺產品都必須支持的標準)、IETF標準集和CORBA標準組成。最新的J2EE平臺還添加了JavaBean組件模型。開發人員可以利用JavaBean組件模型來自定義Java類實例,並可通過已定義的事件訪問Java類。

J2EE支持EJB,因此開發人員可以執行多用戶交易功能。當在J2EE服務器上運行時,Enterprise JavaBeans將應用邏輯分成可再利用和可擴展的代碼段。Enterprise JavaBeans並不是新特征,但是通過定義標準客戶端和服務API,J2EE增強了它的能力和可移植性。

EJB在服務器的壹個容器內運行,提供所有典型的中間層服務,如事務管理、安全、遠程客戶連接、生存周期管理和數據庫連接緩沖。為了讓事務系統在存在EJB容器的情況下運行,開發人員只需在部署描述文件中定義Beans的事務屬性即可。

J2EE通過定義壹組標準的結構來實現它的優勢,例如:

1.J2EE Application Programming Model,是壹種用於開發多層次、瘦型客戶用戶程序的標準設計模型;

2. J2EE Platform,是壹個標準的平臺,用來整合J2EE的應用程序,並指定壹系列的接口和方法;

3. J2EE Compatibility Test Suite,是壹套兼容測試組件,用來檢測產品是否同J2EE平臺兼容;

4.J2EE Reference Implementation,用來示範J2EE的能力。

J2EE服務器

Sun的J2EE服務器通過Java 命名和目錄接口(JNDI)、認證、HTTP及與Enterprise JavaBeans兼容的能力,提供命名和目錄服務。JNDI是Java平臺的壹種標準擴展版,向企業內的命名和目錄服務提供具有Java功能的,帶有統壹接口的應用,包括LDAP。

J2EE服務器還利用了Java Servlet技術。Java Servlet可以看作是運行在服務器上的壹個小程序,它向開發人員提供以組件為基礎創建基於Web應用的、獨立於平臺的方法。它不像利用CGI那樣具有性能局限。Java Servlet是壹種擴展Web服務器功能的簡單技巧。由於它是用Java編寫的,因而能夠訪問整個Java API庫,也包括用於訪問企業數據庫的JDBC API。

JSP是Java Servlet的壹種擴展。Java Servlet提供開發和顯示來自服務器的交互式Web頁。如今JSP又有了進壹步的改進,它使得創建和支持靜態模板和動態內容相結合的HTML和XML頁面更加容易。

安全性

J2EE平臺定義了壹種標準的公開存取控制規則,當程序在企業平臺上開發時就已被程序師定義和解釋了。J2EE也需要提供壹個標準的註冊機制,以便應用程序不會將這些註冊機制和邏輯相混合,從而使相同的工作執行於大量的不同環境中時並不需要改變源代碼。例如:J2EE應用程序開發人員可以指定幾個安全級別,當用戶訪問數據時,他們可寫出代碼來檢查當前用戶權限的級別。在開發階段,開發人員賦予多組用戶適當的安全級,使應用程序在執行限制操作之前能夠容易的判斷限制級。

J2EE 平臺是Java技術企業級應用的最佳平臺,它可以讓程序員迅速、快捷地開發和分布企業級應應用程序。以下便是它的相關技術:

1.Enterprise JavaBeans Architecture,企業級JavaBeans 定義了壹個應用程序接口。它可以使程序員迅速開發、發布和管理跨平臺的、基於組件的企業級應用程序。

2.JavaServer Pages,JSP 技術提供了壹種簡單、快速的方法來創建動態網頁。通過它,可以快速地開發基於Web的應用程序,並且這些應用程序都是與平臺無關的。因為JSP與ASP很相似,所以熟悉ASP的人學習它就很容易了。

3.Java Servlet,提供了應用程序接口。通過它可以簡單快速地開發並擴展服務器功能。就發展趨勢來看,它將來有可能取代CGI。

4.J2EE Connector,提供了壹種標準結構來聯接不同的企業信息平臺。

5.Java Naming and Directory Interface(JNDI),在Java 平臺與商業信息之間,JNDI提供了統壹、無縫的標準化連接。通過使用JNDI,程序員可以在企業多命名與目錄服務之間傳送Java 應用程序。

6.Java Interface Definition Language(JIDL),通過使用CORBA,可以提供協同工作的能力。JIDL包括壹個IDL-to-Java 編譯器和支持IIOP(Internet Inter-Orb Protocol)的ORB。

7.JDBC,幾乎是為所有的數據庫提供了統壹的接口,同時可以創建高級工具和接口。

8.Java Message Service(JMS),它幾乎規範了所有企業級消息服務,如可靠查詢、發布消息、訂閱雜誌等各種各樣的PUSS/PULL技術的應用,並且為它們提供了壹個標準接口。

9.Java Transaction API(JTA),為分布式系統中可處理的應用程序規定了壹個高級的管理規範。

10.JavaMail,JavaMail應用程序接口提供了壹整套模擬郵件系統的抽象類。通過JavaMail,可以創建郵件或消息應用程序。

11.RMI-IIOP,使用它就可以只用Java 技術和Java RMI接口開發客戶機與服務器的遠程接口。

J2EE使用固定的文件格式捆綁某個模塊:用.ear文件捆綁J2EE應用程序;用.jar捆綁Enterprise Bean。例如,壹個.ear文件包含壹個.xml文件作為其分布描述,還包含壹個或多個.jar和.war文件;壹個.jar文件除了包含它的分布描述外,還包含了作為Enterprise bean的.class文件。

J2EE應用程序的開發階段分為四步:1.Enterprise Bean創建;2.Web Component創建;3.J2EE應用程序裝配;4.J2EE應用程序分布。以下是J2EE兼容產品部分列表:

BEA WebLogic Server 6.0、Borland App Server、HP Bluestone Total-e-Server、IBM WebSphere Application Server、IONA iPortal Application Server、iPlanet Application Server、Macromedia JRun Server、Oracle 9i Application Server、SilverStrean Application Server、Sybase EAServer、TogetherSoft ControlCenter、Java 2 SDK Enterprise Edition。

J2ME技術的應用

J2ME(Java 2 Platform Micro Edition)是為無線電子市場所設計的,包括JVM規範和API規範。其API規範是基於J2SE(Java 2 Standard Editon)的。J2ME 定義了壹套合適的類庫和虛擬機技術。這些技術可以使用戶、服務提供商和設備制造商通過物理(有線)連接或無線連接,按照需要隨時使用豐富的應用程序。

J2ME又被稱為Java 2 微型版,被使用在各種各樣的消費電子產品上,例如智能卡、手機、PDA、電視機頂盒等方面。當然了,J2ME也提供了Java語言壹貫的特性,那就是跨平臺和安全網絡傳輸。它使用了壹系列更小的包,而且Javax.microedition.io 為J2SE包的子集。J2ME可以升級到J2SE和J2EE。

在J2ME出現之前,我們更多接觸到的是Java卡(Java Card)、嵌入式Java(Embedded Java)和實時Java(Real Time Java)等。其中Java卡是針對SIM卡、智能卡等設備而定制的最小Java子集,比J2ME還要小,移植性也不強。嵌入式Java則針對特殊用戶自行配置Java類庫和VM(Virtual Machine,虛擬機)。它對資源需求極小,可運行在無圖形用戶接口和網絡的設備上,可以添加用戶專用的API,但是它就無法移植。實時Java是由IBM領導的實時定制Java專家組負責實施的,現在還在不斷完善中。不過,從嚴格意義上來說,它們都不是真正的J2ME。

像其它版本壹樣,J2ME具有很多Java技術特性,主要有:

1.可以在各種支持Java的設備上運行;

2.代碼短小;

3.充分利用Java語言的優勢;

4.安全性好;

5.用J2ME實現的應用可以方便地升級到J2SE、J2EE。

J2ME的配置和框架

為了支持用戶和嵌入式市場提出的靈活性和可定制性要求,J2ME被設計得更加模塊化和可縮放化。J2ME在設備原有的操作系統上建造了3層軟件來實現這種要求:

1.JVM層,這層基於宿主操作系統,按照某壹種J2ME的配置,實現了JVM。

2.配置層,這層對於用戶可見度要低壹些,但對框架層非常重要。它針對“水平”市場的需求,定義了Java虛擬機的最小功能集和Java類庫的最小集合。在某種意義上,配置層定義了開發者在所有設備上都可以使用Java特性和類庫的“最小公分母”。

3.框架層,這層對於用戶和應用程序提供者來說是最常見的。它針對“垂直”市場的需求,定義了Java虛擬

J2EE技術應用

J2EE是Sun公司推出的壹種全新概念的模型,比傳統的互聯網應用程序模型更有優勢。 J2EE模型

J2EE的應用編程模型(J2EE Blueprints)提供了壹種用於實施基於J2EE多層應用的文檔和實例套件的體系模型,簡化了這項復雜的工作。它被開發人員用作設計和優化組件,以便開發人員從策略上對開發工作進行分工。

J2EE應用編程模型要求開發者將自己的工作分成兩類:商業邏輯和表示邏輯,其余則由系統資源自動處理,不必為中間層管道進行編碼。這樣,開發人員就能將更多的時間花在商業邏輯和表示邏輯上。對重視縮短項目周期的公司來說,這種轉變深受歡迎。

J2EE平臺

J2EE平臺是運行J2EE應用的標準環境,由J2EE部署規範(壹套所有J2EE平臺產品都必須支持的標準)、IETF標準集和CORBA標準組成。最新的J2EE平臺還添加了JavaBean組件模型。開發人員可以利用JavaBean組件模型來自定義Java類實例,並可通過已定義的事件訪問Java類。

J2EE支持EJB,因此開發人員可以執行多用戶交易功能。當在J2EE服務器上運行時,Enterprise JavaBeans將應用邏輯分成可再利用和可擴展的代碼段。Enterprise JavaBeans並不是新特征,但是通過定義標準客戶端和服務API,J2EE增強了它的能力和可移植性。

EJB在服務器的壹個容器內運行,提供所有典型的中間層服務,如事務管理、安全、遠程客戶連接、生存周期管理和數據庫連接緩沖。為了讓事務系統在存在EJB容器的情況下運行,開發人員只需在部署描述文件中定義Beans的事務屬性即可。

J2EE通過定義壹組標準的結構來實現它的優勢,例如:

1.J2EE Application Programming Model,是壹種用於開發多層次、瘦型客戶用戶程序的標準設計模型;

2. J2EE Platform,是壹個標準的平臺,用來整合J2EE的應用程序,並指定壹系列的接口和方法;

3. J2EE Compatibility Test Suite,是壹套兼容測試組件,用來檢測產品是否同J2EE平臺兼容;

4.J2EE Reference Implementation,用來示範J2EE的能力。

J2EE服務器

Sun的J2EE服務器通過Java 命名和目錄接口(JNDI)、認證、HTTP及與Enterprise JavaBeans兼容的能力,提供命名和目錄服務。JNDI是Java平臺的壹種標準擴展版,向企業內的命名和目錄服務提供具有Java功能的,帶有統壹接口的應用,包括LDAP。

J2EE服務器還利用了Java Servlet技術。Java Servlet可以看作是運行在服務器上的壹個小程序,它向開發人員提供以組件為基礎創建基於Web應用的、獨立於平臺的方法。它不像利用CGI那樣具有性能局限。Java Servlet是壹種擴展Web服務器功能的簡單技巧。由於它是用Java編寫的,因而能夠訪問整個Java API庫,也包括用於訪問企業數據庫的JDBC API。

JSP是Java Servlet的壹種擴展。Java Servlet提供開發和顯示來自服務器的交互式Web頁。如今JSP又有了進壹步的改進,它使得創建和支持靜態模板和動態內容相結合的HTML和XML頁面更加容易。

安全性

J2EE平臺定義了壹種標準的公開存取控制規則,當程序在企業平臺上開發時就已被程序師定義和解釋了。J2EE也需要提供壹個標準的註冊機制,以便應用程序不會將這些註冊機制和邏輯相混合,從而使相同的工作執行於大量的不同環境中時並不需要改變源代碼。例如:J2EE應用程序開發人員可以指定幾個安全級別,當用戶訪問數據時,他們可寫出代碼來檢查當前用戶權限的級別。在開發階段,開發人員賦予多組用戶適當的安全級,使應用程序在執行限制操作之前能夠容易的判斷限制級。

J2EE 平臺是Java技術企業級應用的最佳平臺,它可以讓程序員迅速、快捷地開發和分布企業級應應用程序。以下便是它的相關技術:

1.Enterprise JavaBeans Architecture,企業級JavaBeans 定義了壹個應用程序接口。它可以使程序員迅速開發、發布和管理跨平臺的、基於組件的企業級應用程序。

2.JavaServer Pages,JSP 技術提供了壹種簡單、快速的方法來創建動態網頁。通過它,可以快速地開發基於Web的應用程序,並且這些應用程序都是與平臺無關的。因為JSP與ASP很相似,所以熟悉ASP的人學習它就很容易了。

3.Java Servlet,提供了應用程序接口。通過它可以簡單快速地開發並擴展服務器功能。就發展趨勢來看,它將來有可能取代CGI。

4.J2EE Connector,提供了壹種標準結構來聯接不同的企業信息平臺。

5.Java Naming and Directory Interface(JNDI),在Java 平臺與商業信息之間,JNDI提供了統壹、無縫的標準化連接。通過使用JNDI,程序員可以在企業多命名與目錄服務之間傳送Java 應用程序。

6.Java Interface Definition Language(JIDL),通過使用CORBA,可以提供協同工作的能力。JIDL包括壹個IDL-to-Java 編譯器和支持IIOP(Internet Inter-Orb Protocol)的ORB。

7.JDBC,幾乎是為所有的數據庫提供了統壹的接口,同時可以創建高級工具和接口。

8.Java Message Service(JMS),它幾乎規範了所有企業級消息服務,如可靠查詢、發布消息、訂閱雜誌等各種各樣的PUSS/PULL技術的應用,並且為它們提供了壹個標準接口。 9.Java Transaction API(JTA),為分布式系統中可處理的應用程序規定了壹個高級的管理規範。

10.JavaMail,JavaMail應用程序接口提供了壹整套模擬郵件系統的抽象類。通過JavaMail,可以創建郵件或消息應用程序。

11.RMI-IIOP,使用它就可以只用Java 技術和Java RMI接口開發客戶機與服務器的遠程接口。

J2EE使用固定的文件格式捆綁某個模塊:用.ear文件捆綁J2EE應用程序;用.jar捆綁Enterprise Bean。例如,壹個.ear文件包含壹個.xml文件作為其分布描述,還包含壹個或多個.jar和.war文件;壹個.jar文件除了包含它的分布描述外,還包含了作為Enterprise bean的.class文件。

J2EE應用程序的開發階段分為四步:1.Enterprise Bean創建;2.Web Component創建;3.J2EE應用程序裝配;4.J2EE應用程序分布。以下是J2EE兼容產品部分列表:

BEA WebLogic Server 6.0、Borland App Server、HP Bluestone Total-e-Server、IBM WebSphere Application Server、IONA iPortal Application Server、iPlanet Application Server、Macromedia JRun Server、Oracle 9i Application Server、SilverStrean Application Server、Sybase EAServer、TogetherSoft ControlCenter、Java 2 SDK Enterprise Edition。

J2EE學習步驟

要學習j2ee就要先學習j2se,剛開始學習j2se先建議不要使用IDE,然後漸漸的過渡到使用IDE開發,畢竟用它方便嘛。學習j2se推薦兩本書,《java2核心技術壹二卷》,《java編程思想》,《java模式》。其中《java編程思想》要研讀,精讀。這壹段時間是基本功學習,時間會很長,也可能很短,這要看學習者自身水平而定。

不要被IDE糾纏

在學習java和j2ee過程中,妳會遇到五花八門的IDE,不要被他們迷惑,學JAVA的時候,要學語言本身的東西,不要太在意IDE的附加功能,JAVA編程在不同IDE之間的轉換是很容易的,過於的在意IDE的功能反而容易耽誤對語言本身的理解。目前流行的IDE有jbuilder,eclipse和eclipse的加強版WSAD。用好其中壹個就可以了,推薦從eclipse入手j2ee。因為Jbuilder更適合於寫j2se程序。

選擇和學習服務器使用配置

當妳有了j2se和IDE的經驗時,可以開始j2ee的學習了,web服務器:tomcat,勿庸置疑,tomcat為學習web服務首選。而應用服務器目前主要有三個:jboss、weblogic、websphere。有很多項目開始采用jboss,並且有大量的公司開始做websphere或weblogic向jboss應用服務器的移植(節省成本),這裏要說的是,學習tomcat和jboss我認為是首選,也是最容易上手的。學習服務器使用配置最好去詢問有經驗的人(有條件的話),因為他們或許壹句話就能解決問題,妳自己上網摸索可能要壹兩天(我就幹過這種傻事),我們應該把主要時間放在學習原理和理論上,壹項特定技術的使用永遠代替不了壹個人的知識和學問。

學習web知識

如果妳是在做電子商務網站等時,妳可能要充當幾個角色,這是妳還要學習:

html,可能要用到dreamwave等IDE。

Javascript,學會簡單的數據校驗,數據聯動顯示等等

J2eeAPI學習

學習j2eeAPI和學習服務器應該是壹個叠代的過程。

先學習jsp和servlet編程,這方面的書很多,我建立看oreilly公司的兩本《jsp設計》和《java servlet編程》,oreilly出的書總是那本優秀,不得不佩服。

學習jdbc數據庫編程,j2ee項目大多都是MIS系統,訪問數據庫是核心。這本應屬於j2se學習中,這裏拿出來強調壹下。

學習jndi api,它和學習ejb可以結合起來。

學習ejb api,推薦書《精通ejb》

經過上面的這些的學習,大概可以對付壹般的應用了。

有人說跟著sun公司的《j2ee tutorial》壹路學下來,當然也可以。

學習ejb設計模式和看代碼(最重要)

設計模式是練內功,其重要性可以這麽說吧,如果妳不會用設計模式的話,妳將寫出壹堆使用了ejb的垃圾,有慢又是壹堆bug,其結果不如不用ejb實現(ejb不等於j2ee)

無論學習什麽語言,都應該看大量代碼,妳看的代碼量不到壹定數量,是學不好j2ee的

目前有很多開源的工程可以作為教材:

jive論壇

petstore sun公司

dune sun公司

等等,研讀壹個,並把它用到自己的工程中來。

J2ee其他學習

當妳漸漸對j2ee了解到壹定深度時,妳要開始關註當前領域中的壹些技術變化,J2ee是壹塊百家爭鳴的領域,大家都在這裏提出自己的解決方案,例如structs,hiberate,ofbiz等等,學習這些東西要妳的項目和目標而定,預先補充壹下未嘗不可,但不用涉及太深,畢竟學習原理和理論是最最重要的事。

目前常見j2eeAPI

JavaServer Pages(JSP)技術1.2

Java Servlet技術2.3

JDBC API 2.0

Java XML處理API(JAXP)1.1

Enterprise JavaBeans技術2.0

Java消息服務(JMS)1.0

Java命名目錄接口(JNDI)1.2

Java事務API(JTA) 1.0

JavaMail API 1.2

JavaBeans激活架構(JAF)1.0

J2EE連接器體系結構(JCA)1.0

Java認證和授權服務(JAAS)1.0

學習上面的某些API要以妳的項目而定,了解所有他們總之是有好處的

上面印證了大家說的壹句話,java語言本身不難學,但是技術太多,所以學java很費勁。回想壹下,基本上每個初學者,在剛學習java的時候可能都會問別人這麽壹句話,妳怎麽知道的哪個方法(api)在哪個包裏的?呵呵,無他,唯手熟爾。

  • 上一篇:我大學四年沒掛過科,但是畢設做不出來,畢不了業了,我該怎麽辦啊
  • 下一篇:什麽是遙控機器人
  • copyright 2024編程學習大全網