J2EE想必大家都不陌生吧,貌似現在更流行將其稱作JavaEE,不管名字怎么變,核心和思想是沒有變的。學習J2EE首先要了解它的規范,下面我們一起看看它的十三個規范。
1,JDBC(Java Database Connectivity)
用於執行SQL語句的Java API,可以為多種關系數據庫提供統一訪問,它由一組用Java語言編寫的類和接口組成。
個人理解:跟微軟的ODBC很像,應該說是ODBC和ADO的結合。可以理解為面向對象的ODBC,毫無疑問,面向對象的接口對於Java程序員來說更容易理解。ODBC把簡單功能跟高級功能放到了一起,相對來說比較難學,而JDBC盡量保證簡單功能的簡便性,同時又可以在需要的時候使用高級功能。JDBC針對Java的風格和優點進行了優化,讓我們在使用時更加得心應手。
2,JNDI(Java Name and Directory Interface)
Java應用中訪問命名和目錄服務的API。命名服務將名稱和對象聯系起來,使得我們可以用名稱訪問對象。
個人理解: JNDI是為了對高級網絡應用開發中使用的目錄基礎結構進行訪問。這個目錄其實是一個特殊的數據庫,提供了對存儲數據的快速訪問,不象傳統的目錄服務訪問方式那樣必須提供不同的API接口去訪問不同的目錄服務(如:LDAP,NIS,ADS等),它統一了不同類型目錄訪問的接口。JDNI與JDBC都構建在抽象層上。
3,EJB(Enterprise Javabean)
EJB是sun的服務器端組件模型,設計目標與核心應用是部署分布式應用程序。EJB是Java的核心代碼,分別是會話Bean(Session Bean),實體Bean(Entity Bean)和消息驅動Bean(MessageDriven Bean)。
個人理解:EJB是J2EE被程序員廣泛運用的一大功臣,是J2EE的核心。EJB提供了一個框架來開發和實施分布式商務邏輯,從而大大簡化了開發高復雜度、易擴展企業應用的難度。關於三種具體的Bean在接下來的文章中再深入討論,這里就不說了。
4,RMI(Remote Method Invoke)
RMI 指的是遠程方法調用 。它是一種機制,能夠讓在某個 Java 虛擬機上的對象調用另一個 Java 虛擬機中的對象上的方法。可以用此方法調用的任何對象必須實現該遠程接口。
個人理解:RMI是非常重要的底層技術,是分布式的基礎所在,剛剛提到的EJB就是建立在RMI的基礎之上的。相比Web Service這樣重量級的組件來說,RMI比較簡單,更適合一些小型應用的使用。
5,Java IDL/CORBA
Java接口定義語言/公用對象請求代理程序體系結構
個人理解:在Java IDL的支持下,開發人員可以將Java和CORBA集成在一起。他們可以創建Java對象並使之可在CORBA ORB中展開, 或者他們還可以創建Java類並作為和其它ORB一起展開的CORBA對象的客戶。后一種方法提供了另外一種途徑,通過它Java可以被用於將你的新的應用和舊的系統相集成。
6,JSP(Java Server Pages)
JSP是在傳統的網頁HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP標記(tag),從而形成JSP文件(*.jsp)。 用JSP開發的Web應用是跨平台的。
個人理解:JSP跟ASP很像,ASP是在HTML的基礎上加入了.Net代碼,而JSP是在HTML的基礎上加入了Java代碼,它們都是動態網頁,而JSP最大的優勢就是跨平台,不但可以在Windows平台運行,還可以在Linux或者其他操作系統上運行。
7,Servlet
Servlet是一種服務器端的Java應用程序,具有獨立於平台和協議的特性,可以生成動態的Web頁面。它擔當客戶請求(Web瀏覽器或其他HTTP客戶程序)與服務器響應(HTTP服務器上的數據庫或應用程序)的中間層。 Servlet是位於Web 服務器內部的服務器端的Java應用程序,與傳統的從命令行啟動的Java應用程序不同,Servlet由Web服務器進行加載,該Web服務器必須包含支持Servlet的Java虛擬機。
個人理解:Servlets提供的功能大部分JSP相同,它采用的是一個有點不同的方法。JSP中大部分是HTML代碼,其中只有少量的Java代碼,而servlets則相反,它完全使用Java編寫,並且可以產生HTML代碼。JSP並沒有增加任何本質上不能用Servlet實現的功能。但是,在JSP中編寫靜態HTML更加方便,不必再用println語句來輸出每一行HTML代碼。更重要的是,借助內容和外觀的分離,頁面制作中不同性質的任務可以方便地分開:比如,由頁面設計者進行HTML設計,同時留出供Servlet程序員插入動態內容的空間。Servlet跟微軟的一般處理程序很像。
8,XML(Extensible Markup Language)
用於標記電子文件使其具有結構性的標記語言,可以用來標記數據、定義數據類型,是一種允許用戶對自己的標記語言進行定義的源語言。 XML是標准通用標記語言 (SGML) 的子集,非常適合 Web 傳輸。XML 提供統一的方法來描述和交換獨立於應用程序或供應商的結構化數據。
個人理解:XML是一個用來定義其它標記語言的的語言。它可被用作商業之間的數據共享。XML的發展和Java是相互獨立的。不過,它和Java具有的相同目標就是跨平台。通過將Java與XML結合,我們可以得到一個完全平台無關的解決方案。
9,JMS(Java Message Service)
JMS即Java消息服務(Java Message Service)應用程序接口是一個Java平台中關於面向消息中間件(MOM)的API,用於在兩個應用程序之間,或分布式系統中發送消息,進行異步通信。Java消息服務是一個與具體平台無關的API,絕大多數MOM提供商都對JMS提供支持。
個人理解: JMS是用於和面向消息的中間件相互通信的應用程序接口(API)。它既支持點對點的域,又支持發布/訂閱(publish/subscribe)類型的域,並且提供對下列類型的支持:經認可的消息傳遞,事務型消息的傳遞,一致性消息和具有持久性的訂閱者支持。JMS還提供了另一種方式來對您的應用與舊的后台系統相集成。
10,JTA(java transaction Architecture)
Java事務API。允許應用程序執行分布式事務處理——在兩個或多個網絡計算機資源上訪問並且更新數據。JDBC驅動程序的JTA支持極大地增強了數據訪問能力。
個人理解:JTA定義了一個標准的API,應用可以通過它來訪問事務監控器。JTA事務比JDBC事務更強大。一個JTA事務可以有多個參與者,而一個JDBC事務則被限定在一個單一的數據庫連接。
11,JTS(java transaction Service API)
JTS是CORBA OTS事務監控器的一個基本實現。JTS指定了一個事務管理器的實現(Transaction Manager),這個管理器在一個高級別上支持Java事務API(JTA)規范,並且在一個低級別上實現了OMG OTS規范的Java映射。一個JTS事務管理器為應用服務器、資源管理器、standalone應用和通信資源管理器提供事務服務。
12,JavaMail
JavaMail是一個用來訪問郵件服務器的API。JavaMail API提供了一套抽象類來模型化一個郵件系統。支持SMTP和IMAP服務器。
13,JAF(JavaBean Activation FrameWork)
JAF是一個專用的數據處理框架,它用於封裝數據,並為應用程序提供訪問和操作數據的接口。JAF的主要作用在於讓java應用程序知道如何對一個數據源進行查看、編輯和打印等操作。
Mail API 的所有版本都需要 JavaBeans Activation Framework 來支持任意數據塊的輸入及相應處理。功能似乎不多,但目前許多瀏覽器和郵件工具中都能找到這種基本的 MIME 型支持。activation.jar 文件就是JAF的框架jar包。
終於整完了,不得不說寫這類比較抽象的東西真是費時費力又費腦細胞啊!目前對於J2EE的理解還非常的膚淺,還需要在今后的學習與實踐中不斷的深入,希望大家多多指點。