??這篇文章主要是總結java EE的相關知識,不過在這之前,說一說我眼中的Java。最早接觸到Java這個概念是在初中,當時智能手機還沒有進入公眾視野,3G對于大多數人來講仍然是個新概念,Java小游戲在摩托羅拉、諾基亞手機上還非常流行,已經忘記了第一次玩的是什么游戲,當時只是感覺很神奇,打開首先看到的就是一杯熱氣騰騰的咖啡。現在想起來當時接觸到的就是Java ME。

??Java 有三個版本,分別為 J2SE、J2EE和J2ME(Java5.0版本后分別更名為Java SE,Java EE,Java ME):
Java SE(Java Platform Standard Edition) 標準版:包含了Java的核心類庫,例如數據庫連接、接口定義、輸入/輸出、網絡編程等。主要用于開發客戶端(桌面應用軟件)。
Java EE(Java Platform EnterPRise Edition) 企業版:除了包含SE中的類,還包含用于開發企業級應用的類,功能最豐富的一個版本,主要用于開發高訪問量、大數據量、高并發量的網站。
Java ME(Java Platform Micro Edition) 微型版:包含SE中的一部分類,受平臺影響比較大,主要用于嵌入式系統和移動平臺的開發,如手機、機頂盒等。
??如上所述,Java EE 是企業版,是專門為解決大型企業所遇問題而設計的。由于需求的特殊性(如安全性、可靠性),開發一個企業應用是復雜的,Java EE平臺通過提供開發模型,API等降低了企業開發的復雜程度,讓開發人員更專注于功能開發。
Client :客戶端可以是一個瀏覽器,一個獨立的應用程序,又或者是其他的服務器,他們向Java EE的服務器提交請求。
Web :包含處理Client和Business之間交互的組件。可以jsp頁面或Servlets,按照J2EE規范,靜態的HTML頁面和Applets不算是web層組件。
Business :包含應用程序的業務邏輯,用來滿足金融、電子商務業的業務需要。有EJB等組件。
Enterprise Information Systems:包含數據庫服務,ERP系統,和傳統的數據源。JDBC、JTA等技術使用在這一層。
JDBC-Java數據庫連接(Java Database Connectivity),為訪問不同的數據庫提供了統一的途徑,類似于ODBC。
JNDI-Java命名和目錄接口(Java Naming and Directory Interface),用于執行命名和目錄服務,感覺實際上就是Key-Value對,其目的還是為了解耦。
EJB-企業級JavaBean(Enterprise JavaBean),沒有那么神秘,只是把原來寫在C/S結構中Client處理具體任務的類單獨放到了服務器上,然后遠程調用。
RMI-遠程方法調用(Remote Method Invoke),利用Java 對象序列化的機制實現分布式計算,實現遠程類對象的實例化以及調用的方法。
Java IDL/CORBA: 在Java IDL的支持下,開發人員可以將Java和CORBA集成在一起。
JSP-Java服務器頁面(Java Server Pages),其根本是一個簡化的Servlet設計,實現了Html語法中的java擴展(以 <%, %>形式)。與Servlet一樣在服務器端執行。
Java Servlet,運行在容器(如tomcat)里的動態資源,客戶端發送http請求后,由容器解析http請求,交給Servlet處理,然后做出響應。
xml-可拓展標記語言(Extensible Markup Language),用于數據的保存、傳輸。
JMS-Java消息服務(Java Message Service),異步通信的API,它為標準消息協議和消息服務提供了一組通用接口,包括創建、發送、讀取消息等,用于支持JAVA應用程序開發。
JTA-Java事務API(Java Transaction API),允許應用程序執行分布式事務處理,在多個網絡計算機資源上訪問并且更新數據,極大地增強了數據訪問能力。
JTS-Java事務服務(Java Transaction Service),是一個組件事務監視器。JTS和JTA為J2EE提供了分布式事務服務。
JavaMail,用于存取郵件服務器的API,它提供了一套郵件服務器的抽象類。支持SMTP、IMAP服務器。
JAF(JavaBeans Activation Framework),專用的數據處理框架,它用于封裝數據,并為應用程序提供訪問和操作數據的接口。JAF的主要作用在于讓java應用程序知道如何對一個數據源進行查看、編輯和打印等操作。
??小到一個小網站,大至大型的分布式企業級應用程序(可能擁有中心數據庫服務器,Web服務器集群和遍布全國的辦公終端),都可以使用Java EE開發。
| 
 
 | 
新聞熱點
疑難解答