JavaEE簡介_動力節(jié)點Java學(xué)院整理
在我們深入J2EE之前,先看一下綜述:
多層式應(yīng)用(Multitier Application)——多層式應(yīng)用(或者多層式架構(gòu))分成多個邏輯部分,大多在多層服務(wù)器上實現(xiàn)。例如,三層應(yīng)用模型:用戶和瀏覽器,應(yīng)用服務(wù)器,數(shù)據(jù)庫服務(wù)器。其中應(yīng)用服務(wù)器和數(shù)據(jù)庫服務(wù)器就是分別在不同的服務(wù)器上來處理應(yīng)用的請求。
多層式服務(wù)(Multitier Service)——以三層架構(gòu)模型的服務(wù)為例,應(yīng)用服務(wù)器響應(yīng)用戶的請求。數(shù)據(jù)庫服務(wù)器響應(yīng)應(yīng)用服務(wù)器的查詢求情。
Java Bean——由一些包含私有屬性的Java類組成,對外提供get和set方法。從技術(shù)上講,這些類必須保證有一個不含參數(shù)的構(gòu)造器并且實現(xiàn)Serializable接口。
J2EE 5的概念
Java EE應(yīng)用程序模型——這個模型描述了一個實現(xiàn)服務(wù)的多層架構(gòu)。“什么是服務(wù)”沒有明確的界限。事實上,服務(wù)只是一個邏輯上的概念,它的對應(yīng)實體取決于應(yīng)用實現(xiàn)的概念。例如,客戶端/服務(wù)器模型就是一種服務(wù)。
Java EE 服務(wù)——這是一個J2EE中三層架構(gòu)的應(yīng)用服務(wù)范例。它是由網(wǎng)頁層(服務(wù)JSP頁面)和事務(wù)層(管理企業(yè)的數(shù)據(jù)層)組成的。
Java EE 組件——“組件”是指獨立的軟件單元,可以和其他的組件組合來建立一個應(yīng)用。
- Web組件(Web Component)——web端生成的頁面或者對用戶請求的返回。代表性的有: Java Servlets, JavaServer Faces 和 Java Server Pages.
- 小程序(Applet)——一個小型的Java應(yīng)用程序可以作為響應(yīng)的一部分返回給用戶,用戶可以在他們的瀏覽器上運行此程序。這種小型的程序是Javascript的競爭對手。
- 客戶端程序(Application Client)——例如,一個用Java寫的桌面應(yīng)用程序。
- EJB(Enterprise Java Beans)——見下文。
Java EE 客戶端——這個概念中包含三個其他的概念:
- 網(wǎng)頁客戶端(Web Client)或小型客戶端(thin client)——以前(也不是非常久以前),客戶端的請求返回的網(wǎng)頁會包含腳本代碼,這些代碼會在應(yīng)用服務(wù)器上執(zhí)行了再將運行結(jié)果返回給客戶端。這就是EE客戶端。比如,用戶可以查詢員工的信息,并且對不同的結(jié)果按照他們喜歡的方式排列?,F(xiàn)在,大多數(shù)開發(fā)者都不是在網(wǎng)頁中使用腳本了,因為這不是個好習(xí)慣。他們更喜歡使用MVC設(shè)計原則,即禁止在網(wǎng)頁中使用腳本。
- 小程序(Applet)
- 應(yīng)用客戶端(Application Client)
Java EE 服務(wù)器通信(Java EE Server Communication)——這是指發(fā)生在小型客戶端和應(yīng)用客戶端之間在服務(wù)器上的通信。具有代表性的是,小型客戶端和小程序在Web層通信,但是應(yīng)用客戶端在EJB通信。 你覺得這不夠清晰是嗎?你覺得這很麻煩是嗎?這就對了!這就是REST以及MVC設(shè)計原理現(xiàn)在在開發(fā)中流行的緣故。
EJB (企業(yè)級Java Beans,Enterprise Java Beans)——這是一個邏輯概念,與傳統(tǒng)的Java Beans無關(guān)。它主要試圖從多重應(yīng)用的后端(也就是服務(wù)器端)來壓縮事務(wù)邏輯。其中一個它試圖解決的問題是確保數(shù)據(jù)庫中事務(wù)處理的完整性。警告:EJB有多個版本,并且3.0版本已經(jīng)從早期的版本分離出來。
JavaBean Component——Java Bean 的同義詞,主要用在JSP范例中。
Java EE容器(Java EE Container)——這是部署組裝Java EE組件的地方(也就是應(yīng)用程序服務(wù)器)。它定義了Web容器(包含servlets和JSP),還定義了EJB容器(包含的企業(yè)級Java Bean)以及應(yīng)用客戶端容器(運行獨立的應(yīng)用程序)和在瀏覽器上運行的小程序容器。
部署描述符(Deployment Descriptor )——這是一個為打包好的應(yīng)用提供部署信息的XML文件。
SOAP(簡單對象訪問協(xié)議,Simple Object Access Protocol)——這是一個通過網(wǎng)絡(luò)提供的服務(wù)傳輸信息的協(xié)議。信息是通過XML構(gòu)建的,能夠通過多個傳輸交換層,多數(shù)情況下是HTTP。SOAP是JSON和REST-like服務(wù)的競爭對手。
WSLD(網(wǎng)絡(luò)服務(wù)描述語言,Web Service Description Language)——它用XML文件來描述了網(wǎng)絡(luò)服務(wù)(名字,地點,通信模式)。
UDDI(通用描述、發(fā)現(xiàn)與集成服務(wù),Universal Description, Discovery and Integration)——一種ebXML規(guī)范,可以在線發(fā)布有關(guān)產(chǎn)品和服務(wù)的信息。
Java Servlet——是用Java寫的一個服務(wù)器端小程序,可以處理用戶的HTTP請求,返回結(jié)果。
JSP (JavaServer Page)——一種基于HTML文件(就是一個模板)處理之后能夠生成靜態(tài)內(nèi)容??梢园_本代碼的片段,以在最終生成的腳本靜態(tài)文件中生成。
JSTL (JSP標(biāo)準(zhǔn)標(biāo)簽庫,JavaServer Page Standard Tag Library) ——一組可以模仿腳本代碼功能的用在JSP的標(biāo)準(zhǔn)標(biāo)簽。例如,遍歷客戶端并顯示他們對應(yīng)的信息?,F(xiàn)在,在JSP中,這樣的標(biāo)簽已經(jīng)已經(jīng)取代了腳本代碼。一般用于生成需要填充信息的頁面。
JSF (Java Server Face) ——包含JSF標(biāo)簽(類似于LSTL標(biāo)簽)的JSP頁面。此外,JSF允許在頁面中定義導(dǎo)航模塊(類似于Spring web flow),包括Facelets。
Facelets——Facelets是JSF的MVC視圖部分。它的主要功能是利用提供的數(shù)據(jù)(例如客戶端列表)將模板轉(zhuǎn)換成HTML文件。它也可以將生成的文件(例如HTML主體)提取出來一部分并到另一個模板中,相當(dāng)于Sitemesh。
The Java API for XML-based Web Services (Java中用來創(chuàng)建基于XML的Web的API,JAX-WS) ——對于使用XML通信的Web服務(wù)來說至關(guān)重要。
The Java API for XML Binding (序列化為XML的API,JAXB) ——一種可以在JavaBeans和XML文件之間相互轉(zhuǎn)化的方式。
JTA (Java事務(wù)處理API,Java Transaction API) ——劃清數(shù)據(jù)庫中上行和下行的通信界限。
JMS(Java信息服務(wù),Java Message Service) ——這個API保證服務(wù)器和應(yīng)用在網(wǎng)絡(luò)上的通信可靠、異步。ActiveMQ實現(xiàn)了JMS。
JavaMail API——提供通過應(yīng)用程序發(fā)送郵件方式。
JAXP(加工XML文件的API,Java API for XML Processing)——提供了處理XML文件的方式。
JAXR(提供XML注冊的API,Java API for XML Registries) ——一個可以注冊包含了元數(shù)據(jù)的XML的API。
JDBC(Java數(shù)據(jù)庫連接,Java Database Connectivity) ——這個API可以使應(yīng)用程序直接通過SQL通信來訪問數(shù)據(jù)庫。
JCA(J2EE連接器架構(gòu),Java EE Connector Architecture) ——使應(yīng)用程序能和信息系統(tǒng)(通常是數(shù)據(jù)庫)通信。
JPA(Java持久化API,Java Persistence API) ——這是一個在數(shù)據(jù)庫中存儲對象的ORM(對象關(guān)系表,Object/relational mapping)定義。
JNDI(Java命名和目錄接口) ——一種能存儲和檢索資源或者通過名字查找信息的方式。
JAAS(Java鑒別與授權(quán)服務(wù),Java Authentication and Authorization Service) ——識別并控制服務(wù)權(quán)限的一張方式。
J2EE 6的概念
在J2EE6中,大量的配置可以在源代碼中執(zhí)行。
JAX-RS ——定義REST(含狀態(tài)傳輸)之類的服務(wù)的API。
Managed Beans ——一個可以執(zhí)行嵌入代碼的Java對象。在Sping框架中,這是一些添加了@Autowired注釋的對象。
CDI(上下文和依賴注入,Contexts and Dependency Injection for Java EE) ——CDI是Java EE整個下一代類型安全的依賴注入的事實上的API。在Sping框架中,應(yīng)用程序可以設(shè)計應(yīng)用的上下文,控制反轉(zhuǎn)(IoC)和依賴注入功能(DI)。
Bean確認(rèn)——通過設(shè)定好的規(guī)則判斷Java Beans的狀態(tài)是有效的。
JACC(Java Authorization Contract for Containers) ——在J2EE應(yīng)用服務(wù)器和特定的授權(quán)認(rèn)證服務(wù)器之間定義的一個連接的協(xié)約。
JASPIC(Java認(rèn)證服務(wù)提供者接口,Java Authentication Service Provider Interface) ——這是與JACC互補認(rèn)證的SPI(也就是服務(wù)API,Service API)。它定義了應(yīng)用程序如何通過傳統(tǒng)的認(rèn)證服務(wù)。
總體上說,J2EE和Spring框架慢慢的朝著一個相同的方向發(fā)展。
相關(guān)文章
實例分析Java中public static void main(String args[])是什么意思
這篇文章主要介紹了實例分析Java中public static void main(String args[])的意義,詳細(xì)分析了Java主函數(shù)main關(guān)鍵字聲明的具體含義和用法,需要的朋友可以參考下2015-12-12淺析Java 常用的 4 種加密方式(MD5+Base64+SHA+BCrypt)
這篇文章主要介紹了Java 常用的 4 種加密方式(MD5+Base64+SHA+BCrypt),本文通過實例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-10-10詳解Spring Boot實戰(zhàn)之Rest接口開發(fā)及數(shù)據(jù)庫基本操作
本篇文章主要介紹了Spring Boot實戰(zhàn)之Rest接口開發(fā)及數(shù)據(jù)庫基本操作,具有一定的參考價值,有興趣的可以了解一下2017-07-07使用java API實現(xiàn)zip遞歸壓縮和解壓文件夾
這篇文章主要介紹了使用java API實現(xiàn)zip遞歸壓縮文件夾及解壓,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-08-08