JavaEE概念介紹

???????? 這篇文章主要介紹在J2EE范例中使用的縮寫詞和概念哑诊。J2EE(Java 2 Platform, Entreprise Edition)代表Java企業(yè)版平臺铁蹈。它使得模塊化的Java程序可以在服務(wù)器上部署粥诫。Java SE是一組Java核心庫十绑,Java應(yīng)用程序在其上得以執(zhí)行漱挎,而J2EE是基于Java SE的廉涕。

概念綜述

???????? 在我們深入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 的概念

???????? 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é)果按照他們喜歡的方式排列〉裱兀現(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標準標簽庫榆纽,JavaServer Page Standard Tag Library)——一組可以模仿腳本代碼功能的用在JSP的標準標簽仰猖。例如,遍歷客戶端并顯示他們對應(yīng)的信息÷雍樱現(xiàn)在亮元,在JSP中,這樣的標簽已經(jīng)已經(jīng)取代了腳本代碼唠摹。一般用于生成需要填充信息的頁面爆捞。

???????? JSF (Java Server Face)——包含JSF標簽(類似于LSTL標簽)的JSP頁面。此外勾拉,JSF允許在頁面中定義導(dǎo)航模塊(類似于Spring web flow)煮甥,包括Facelets。

???????? Facelets——Facelets是JSF的MVC視圖部分藕赞。它的主要功能是利用提供的數(shù)據(jù)(例如客戶端列表)將模板轉(zhuǎn)換成HTML文件成肘。它也可以將生成的文件(例如HTML主體)提取出來一部分并到另一個模板中,相當于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確認——通過設(shè)定好的規(guī)則判斷Java Beans的狀態(tài)是有效的楼肪。

???????? JACC(Java Authorization Contract for Containers)——在J2EE應(yīng)用服務(wù)器和特定的授權(quán)認證服務(wù)器之間定義的一個連接的協(xié)約。

???????? JASPIC(Java認證服務(wù)提供者接口惹悄,Java Authentication Service Provider Interface)——這是與JACC互補認證的SPI(也就是服務(wù)API春叫,Service API)。它定義了應(yīng)用程序如何通過傳統(tǒng)的認證服務(wù)泣港。

總體上說暂殖,J2EE和Spring框架慢慢的朝著一個相同的方向發(fā)展。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末爷速,一起剝皮案震驚了整個濱河市央星,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌惫东,老刑警劉巖莉给,帶你破解...
    沈念sama閱讀 222,681評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件毙石,死亡現(xiàn)場離奇詭異,居然都是意外死亡颓遏,警方通過查閱死者的電腦和手機徐矩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,205評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來叁幢,“玉大人滤灯,你說我怎么就攤上這事÷妫” “怎么了鳞骤?”我有些...
    開封第一講書人閱讀 169,421評論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長黍判。 經(jīng)常有香客問我豫尽,道長,這世上最難降的妖魔是什么顷帖? 我笑而不...
    開封第一講書人閱讀 60,114評論 1 300
  • 正文 為了忘掉前任美旧,我火速辦了婚禮,結(jié)果婚禮上贬墩,老公的妹妹穿的比我還像新娘榴嗅。我一直安慰自己,他們只是感情好陶舞,可當我...
    茶點故事閱讀 69,116評論 6 398
  • 文/花漫 我一把揭開白布嗽测。 她就那樣靜靜地躺著,像睡著了一般吊说。 火紅的嫁衣襯著肌膚如雪论咏。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,713評論 1 312
  • 那天颁井,我揣著相機與錄音厅贪,去河邊找鬼。 笑死雅宾,一個胖子當著我的面吹牛养涮,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播眉抬,決...
    沈念sama閱讀 41,170評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼贯吓,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了蜀变?” 一聲冷哼從身側(cè)響起悄谐,我...
    開封第一講書人閱讀 40,116評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎库北,沒想到半個月后爬舰,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體们陆,經(jīng)...
    沈念sama閱讀 46,651評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,714評論 3 342
  • 正文 我和宋清朗相戀三年情屹,在試婚紗的時候發(fā)現(xiàn)自己被綠了坪仇。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,865評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡垃你,死狀恐怖椅文,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情惜颇,我是刑警寧澤皆刺,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站官还,受9級特大地震影響芹橡,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜望伦,卻給世界環(huán)境...
    茶點故事閱讀 42,211評論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望煎殷。 院中可真熱鬧屯伞,春花似錦、人聲如沸豪直。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,699評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽弓乙。三九已至末融,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間暇韧,已是汗流浹背勾习。 一陣腳步聲響...
    開封第一講書人閱讀 33,814評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留懈玻,地道東北人巧婶。 一個月前我還...
    沈念sama閱讀 49,299評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像涂乌,于是被迫代替她去往敵國和親艺栈。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,870評論 2 361