




已閱讀5頁,還剩55頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
第一章 JavaEE概述,題目:一個數(shù)如果恰好等于它的因子之和,這個數(shù)就稱為 “完數(shù) “。例如6=123.編程 找出1000以內(nèi)的所有完數(shù)。 題目:有1、2、3、4四個數(shù)字,能組成多少個互不相同且無重復(fù)數(shù)字的三位數(shù)?都是多少? 輸入3個數(shù)a,b,c,按大小順序輸出。 題目:某個公司采用公用電話傳遞數(shù)據(jù),數(shù)據(jù)是四位的整數(shù),在傳遞過程中是加密的,加密規(guī)則如下:每位數(shù)字都加上5,然后用和除以10的余數(shù)代替該數(shù)字,再將第一位和第四位交換,第二位和第三位交換。,題目:某個公司采用公用電話傳遞數(shù)據(jù),數(shù)據(jù)是四位的整數(shù),在傳遞過程中是加密的,加密規(guī)則如下:每位數(shù)字都加上5,然后用和除以10的余數(shù)代替該數(shù)字,再將第一位和第四位交換,第二位和第三位交換。,J2EE Java 2 Platform Enterprise Edition -Java2平臺企業(yè)版 Java EE Java Enterprise Edition,目錄,1.1 Java EE 產(chǎn)生的背景,問題1:從java語言的發(fā)展來看,1995年 ,Sun公司推出Java技術(shù)。 十多年來,已發(fā)展成為全球第一大軟件開發(fā)平臺,是長時間以來最卓越的程序設(shè)計語言。 特點:跨平臺、面向?qū)ο?、多線程、半編譯半解釋等 1999年,Java從一種語言發(fā)展成為一種開發(fā)平臺 ,出現(xiàn)Sun ONE體系結(jié)構(gòu),以Java語言為核心,包括以下三個版本: J2SE Standard J2ME Micro J2EE Enterprise 2005年8月, Java升級到1.5版,SUN公司將J2EE 1.5改名為java EE 5,以前J2EE版本還是稱為J2EE。,JavaEE 不是編程語言! Java EE是一個標(biāo)準(zhǔn)中間件體系結(jié)構(gòu) Java EE是企業(yè)級分布式應(yīng)用開發(fā)標(biāo)準(zhǔn),問題2:Java EE究竟是什么?,問題3:為什么需要 JavaEE?,1.1.1企業(yè)應(yīng)用程序的特點 1.1.2企業(yè)級應(yīng)用程序體系結(jié)構(gòu) 企業(yè)應(yīng)用的特點(分布式、面向web、開發(fā)的、集成的、可移植、易于擴展和維護,企業(yè)計算具有一致性、事務(wù)性、安全性等)決定了企業(yè)應(yīng)用的體系結(jié)構(gòu) JavaEE集上述特性為一身!,1.1.1企業(yè)應(yīng)用程序的特點,分布式 企業(yè)應(yīng)用日常的運行環(huán)境 局域網(wǎng)組織內(nèi)部 Internet連接分布在世界各地的部門或者用戶面向web 高速反應(yīng)性 社會需求的瞬息萬變企業(yè)不斷變更業(yè)務(wù)規(guī)則以適應(yīng) 企業(yè)程序必須具備能力來及時適應(yīng)需求的改變 安全性 系統(tǒng)安全可靠正常運行 合法用戶經(jīng)過合法途徑使用(是否未經(jīng)登錄?是否直接錄入網(wǎng)址?是否有權(quán)限?誰在運行?) 事務(wù)性 兩個或多個網(wǎng)絡(luò)的計算機資源上訪問并更新數(shù)據(jù)的時候不會錯,一個程序要么進行一系列數(shù)據(jù)庫操作成功完成, 要么一點也不做,避免寫到一半的時候出錯如銀行轉(zhuǎn)賬 可擴展性 潛在用戶數(shù)量的不斷膨脹應(yīng)用性能要擴展 企業(yè)的信息資源不斷增長系統(tǒng)功能的擴展 系統(tǒng)的結(jié)構(gòu)能否很容易在保留原有功能的基礎(chǔ)上很容易擴展?開放性?插件? 集成化 舊系統(tǒng)的集成支持不是白手起家 目前很多企業(yè)的信息存放在老的或者過時的應(yīng)用系統(tǒng)或者其它數(shù)據(jù)庫中(或不一定是java的或數(shù)據(jù)庫的)遺產(chǎn)系統(tǒng) 最大限度的利用以往信息 或者歷史信息仍具有保留價值如電廠運行資料,成績庫 新老系統(tǒng)的集成、運行平臺不同 現(xiàn)有系統(tǒng)之間的集成 可移植性、易維護,安全性小例子:我們是否可以偷窺別人的郵件?,打開郵箱,將該頁網(wǎng)址copy下來 再打開一個IE瀏覽器,貼上該網(wǎng)址,1.1.2企業(yè)級應(yīng)用程序體系結(jié)構(gòu),1)C/S兩層結(jié)構(gòu) 2)B/S三層結(jié)構(gòu) 3)多層結(jié)構(gòu),客戶層 (人機交互/應(yīng)用邏輯/數(shù)據(jù)訪問),1)C/S兩層結(jié)構(gòu),安全性低: 客戶端同DB服務(wù)器直連非法用戶容易通過客戶端入侵, 部署困難胖客戶端 客戶端軟件 不是基于web的,只能適用在LAN 胖客戶端:應(yīng)用邏輯集中在客戶端, 安裝耗時:需要每臺客戶端都安裝客戶端專用的應(yīng)用程序 擴展更新困難:每次業(yè)務(wù)規(guī)則變化,都需要不斷更新或重新安裝客戶端代碼,重新部署客戶端 耗費系統(tǒng)資源 每個客戶端程序都直連到DB服務(wù)器,為每個客戶端建立連接耗費服務(wù)器資源耗費資源 不適合過多的用戶,服務(wù)層 (數(shù)據(jù)服務(wù)),客戶端應(yīng)用程序,數(shù)據(jù)庫服務(wù)器,2)B/S三層結(jié)構(gòu),安全性高: 中間的應(yīng)用層,隔離了客戶端程序?qū)?shù)據(jù)服務(wù)器的直接訪問,保護了數(shù)據(jù)安全 部署容易瘦客戶端 客戶層的功能大大削弱,原來由客戶端實現(xiàn)的應(yīng)用邏輯和數(shù)據(jù)訪問等功能都遷移到服務(wù)器上實現(xiàn)了 瘦客戶應(yīng)用邏輯集中在服務(wù)器端 很多應(yīng)用只需安裝瀏覽器即可,基于web的 快速響應(yīng) 通過中間件服務(wù)器的負(fù)載均衡和緩存數(shù)據(jù)能力,提高對客戶端的響應(yīng)速度 易于擴展 每次業(yè)務(wù)規(guī)則變化,只需在應(yīng)用服務(wù)器重新部署新服務(wù)器端組件,無需更新或重新安裝每個客戶端,客戶層 (表示邏輯),數(shù)據(jù)層 (數(shù)據(jù)服務(wù)),數(shù)據(jù)庫服務(wù)器,瀏覽器,數(shù)據(jù)庫服務(wù)器,3)多層結(jié)構(gòu),中間服務(wù)器又按應(yīng)用邏輯劃分成若干子層,應(yīng)用服務(wù)器,Web 表示層,客戶層,數(shù)據(jù)層 (數(shù)據(jù)服務(wù)),數(shù)據(jù)庫服務(wù)器,瀏覽器,業(yè)務(wù)邏輯層,.,Web 服務(wù)器,1.2.1 JavaEE的多層體系結(jié)構(gòu),客戶,客戶層,業(yè)務(wù)邏輯層,企業(yè)信息系統(tǒng)層 數(shù)據(jù)層,數(shù)據(jù)庫服務(wù)器,郵件服務(wù)器,Web 服務(wù)器,表示層 (web層),客戶端應(yīng)用程序,EJB 容器,JSP,Servlet,會話 Bean,實體 Bean,消息 Bean,應(yīng)用服務(wù)器,數(shù)據(jù)庫服務(wù)器,Servlet,典型的JavaEE包括4層: 客戶層 瀏覽器(html、或者applet) 桌面應(yīng)用程序 表示層(層) Servlet(Server+Applet) JSP(Java Server Page) 業(yè)務(wù)邏輯層 EJB(Enterprise Bean) 企業(yè)信息系統(tǒng)層 Database ERP 大型機事務(wù)處理 其它遺留信息系統(tǒng),Entity Bean,瀏覽器,客戶,服務(wù)器,客戶端/服務(wù)器端表示層,服務(wù)器端 商業(yè)邏輯,企業(yè)信息 系統(tǒng),域,服務(wù),應(yīng)用,表示,持續(xù)化,客戶應(yīng)用容器,Web container,EJB 容器,DB,Simple Bean,Session Bean,Html,Applet,Web 服務(wù)器,JSP,Servlet,服務(wù)器端應(yīng)用,J2EE的N層體系結(jié)構(gòu)(略),案例1:簡單的網(wǎng)上書店的架構(gòu)圖,網(wǎng)上商店實現(xiàn)了商品瀏覽,用戶可以進行訂單查詢,生成訂單以及刪除訂單等操作。,表示層 列出圖書目錄 查詢 增刪所購圖書 訂單錄入頁面,業(yè)務(wù)邏輯層,數(shù)據(jù)層 持久性,對應(yīng)數(shù)據(jù)庫中的表,客戶層,企業(yè)信息層,案例2:用戶登錄系統(tǒng)的架構(gòu)圖P327,1.登錄,1.4.登錄成功,1.5.登錄失敗, 提示注冊或未找到用戶,2提交注冊信息,4.注冊成功,1.登錄,檢查用戶的合法性實現(xiàn)安全登錄 2.新用戶的注冊 3.用戶密碼遺忘后通過注冊郵箱來重新獲取,向注冊郵箱發(fā)郵件調(diào)JavaMail,取客戶的email地址和密碼,Java EE是一個標(biāo)準(zhǔn)中間件體系結(jié)構(gòu) JavaEE 不是編程語言! Java EE是企業(yè)分布式應(yīng)用開發(fā)標(biāo)準(zhǔn) 它規(guī)范了: 分布式組件(JSP、Servlet 、EJB)應(yīng)該實現(xiàn)哪些接口、提供哪些方法? 容器應(yīng)該提供的服務(wù) 容器:分布式組件的運行環(huán)境 如Jsp運行在web容器中 EJB組件運行在EJB容器中 容器實現(xiàn)的服務(wù):JDBC,JNDI,JMS消息服務(wù)等(詳見后),1.2.2 JavaEE是企業(yè)分布式應(yīng)用的的開發(fā)標(biāo)準(zhǔn),1.2.3 支持JavaEE的廠商,JavaEE規(guī)范被眾多中間件廠商所實現(xiàn),不同廠家有不同的實現(xiàn),但都遵循同一JavaEE規(guī)范,可以互相部署開放性。 支持JavaEE的廠商和應(yīng)用服務(wù)器 Sun 公司: Sun One 服務(wù)器 Netbeans自帶的GlassfishV2 服務(wù)器內(nèi)置Applicaition Server BEA的weblogic IBM的WebSpere JBoss 開發(fā)環(huán)境 NetBeans(內(nèi)置應(yīng)用服務(wù)器GlassFishV2)+MySQL Eclipse+MyEclipse+Tomcat+MySQL Web應(yīng)用,不包括j2EE Eclipse+MyEclipse+Jboss+MySQL 支持EJB,1.3 JavaEE的組件和容器,組件:JavaEE基本的軟件單元面包 容器:分布式組件的運行環(huán)境 烤箱 容器為組件提供必需的底層基礎(chǔ)功能服務(wù) javaEE的容器由廠商實現(xiàn),javaEE服務(wù)器中均包含Web容器和EJB容器的實現(xiàn) 如JDNI服務(wù)、JDBC、JMS、持久化、事務(wù)支持、并發(fā)、安全性、資源和生命周期管理 程序員根據(jù)特定應(yīng)用需求編寫組件,專注于業(yè)務(wù)邏輯 而不必困擾在復(fù)雜的企業(yè)應(yīng)用環(huán)境這些由容器實現(xiàn)了 面包師:面包是什么配比,什么餡的,什么形狀的,口味如何,多高溫度,多久 不用管烤箱的安全防護機制、容量,電、溫度的轉(zhuǎn)換、定時器的控制 都是烤箱的事,而烤箱的控制是廠家實現(xiàn)的,組件和容器之間的交互部署描述文件,Web 服務(wù)器,Servlet,部署描述文件 Web.xml,EJB容器,EJB,部署描述文件 ejb-jar.xml,參見P28頁 第一個servet的web.xml我們編寫 First.java 這是一個servlet類,其實就是一個java類(P24) 那么在IE中如何訪問它呢? 就是通過部署在web服務(wù)器上的web.xml來知道的。 輸入:http:/localhost:8080/SimpleServlet/First,Web包容器,是Web應(yīng)用程序的基本運行環(huán)境和框架。 由web服務(wù)器實現(xiàn),Web應(yīng)用程序,對應(yīng)一個目錄(或者網(wǎng)站),包括html、servlet、applet、jsp、圖片等。,例:Web應(yīng)用程序和Web包容器,J2EE核心技術(shù),3大組件+服務(wù) Java Servlet JSP JavaServer Pages EJB Enterprise JavaBeans 服務(wù): JDBC Java DataBase Connectivity JNDI Java Naming and Directory Interface JTA Java Transaction API JAAS J Java Authentication and Authorization Service JCA J2EE Connector Architecture J2EE Connector Architecture Java Persistent Web service XML JMS Java Message Service API RMI Java IDL/CORBA JavaMail/JAF JavaBeans Activation Framework 以前比較流行的說法:說J2EE包含了13種核心技術(shù),如下(上面帶星的),其實javaEE還不止如此,JDBC,JNDI,EJBs,RMI/JavaIDL,JSP,Javaservlets,XML,JMS/JTS,JTA,JavaMail/JAF 還包括 JAAS(java安全技術(shù))、 JCA(java連接框架技術(shù))、 Java Persistent (持久性) web service、JACC()、JSTL(java標(biāo)準(zhǔn)標(biāo)記庫JavaServer Pages Standard Tag Library )、JSF(java Server Face) ,JavaBean,18般武藝無需樣樣精通,刀能殺人,槍也能殺人,掌握最基礎(chǔ)的 “無他,唯手熟爾”賣油翁歐陽修,Struts Spring Hibernate,1.3.1 J2EE核心技術(shù)之組件技術(shù),1)J2EE客戶端組件 2)Web組件 3)業(yè)務(wù)組件,1)J2EE客戶端組件,Web客戶端:Web Browser- DHTML, Applet:Java Plug-in 經(jīng)web從服務(wù)器端下載,無需安裝 java應(yīng)用程序客戶端:Swing, SWT, JFace,JavaBeans 需要安裝(就是java Application),2)Web組件,通過HTTP協(xié)議對web請求進行響應(yīng)動態(tài)生成網(wǎng)頁 不包括HTML, Applet和服務(wù)器端工具類 Servlet (Server端的小程序),服務(wù)器端運行的程序, 實際上就是一個java類 但是它能動態(tài)處理HTTP請求和并能返回響應(yīng)(能生成網(wǎng)頁) JSP: 簡化的,能在第一次運行的時候自動轉(zhuǎn)換為Servlet Html語言(頁面呈現(xiàn))+嵌入java語言或指令(控制邏輯),3)業(yè)務(wù)組件,EJB 實現(xiàn)特定的應(yīng)用邏輯企業(yè)的算法、業(yè)務(wù)規(guī)則 而不是像web組件一樣對客戶端請求生成動態(tài)網(wǎng)頁 Session Bean(會話Bean) Message-Driven Bean(消息驅(qū)動Bean) Entity Bean(實體Bean),1.3.2 容器及類型,容器 容器是Java EE的運行環(huán)境,這種環(huán)境是為應(yīng)用組件服務(wù)的 例如web容器 四類容器 EJB容器 Application Client容器 Web容器 Applet容器,圖:JavaEE容器服務(wù)與接口(詳圖),容器 容器是Java EE的運行環(huán)境,這種環(huán)境是為應(yīng)用組件服務(wù)的。各容器為相應(yīng)類型的應(yīng)用程序組件提供底層服務(wù),如各矩形下半部的格子表示 四類容器 EJB容器 Application Client容器 Web容器 Applet容器,J2EE容器 事務(wù) 狀態(tài)管理 多線程 資源池 復(fù)雜的底層細(xì)節(jié) 容器服務(wù) 安全 事務(wù)管理 JNDI 遠(yuǎn)程連接 可配置的服務(wù):如安全性 不可配置的服務(wù) EJB和Servlet的生命周期、數(shù)據(jù)庫連接池 數(shù)據(jù)持久性、J2EE平臺API,1.3.3 J2EE核心技術(shù)之服務(wù),3大組件+服務(wù) Java Servlet JSP JavaServer Pages EJB Enterprise JavaBeans 服務(wù): JDBC Java DataBase Connectivity JNDI Java Naming and Directory Interface JTA Java Transaction API JAAS J Java Authentication and Authorization Service JCA J2EE Connector Architecture J2EE Connector Architecture Java Persistent Web service XML JMS Java Message Service API RMI Java IDL/CORBA JavaMail/JAF JavaBeans Activation Framework 以前比較流行的說法:說J2EE包含了13種核心技術(shù),如下(上面帶星的),其實javaEE還不止如此,JDBC,JNDI,EJBs,RMI/JavaIDL,JSP,Javaservlets,XML,JMS/JTS,JTA,JavaMail/JAF 還包括JAAS(java安全技術(shù))、 JCA(java連接框架技術(shù))、 Java Persistent (持久性) web service、JACC()、JSTL(java標(biāo)準(zhǔn)標(biāo)記庫JavaServer Pages Standard Tag Library )、JSF(java Server Face) ,JavaBean,18般武藝無需樣樣精通,刀能殺人,槍也能殺人,掌握最基礎(chǔ)的 “無他,唯手熟爾”賣油翁歐陽修,Struts Spring Hibernate,4.JDBC:數(shù)據(jù)庫連接接口,數(shù)據(jù)庫訪問幾乎是所有企業(yè)應(yīng)用都會用到的 JDBC提供了java程序和數(shù)據(jù)庫服務(wù)器之間的連接服務(wù),同時能保證事務(wù)的正常進行, JDBC允許從Java的方法里調(diào)用SQL命令 ,進行數(shù)據(jù)查詢 JDBC API為訪問不同的數(shù)據(jù)庫提供了一種統(tǒng)一的途徑,使應(yīng)用程序開發(fā)人員使用JDBC可以連接任何提供了JDBC驅(qū)動程序的數(shù)據(jù)庫系統(tǒng),這樣就使得程序員無需對特定的數(shù)據(jù)庫系統(tǒng)的特點有過多的了解,大大簡化和加快了開發(fā)過程,Java應(yīng)用程序,數(shù)據(jù)庫,5.JNDI:Java命名和目錄服務(wù)接口 Java Naming and Directory Interface,JNDI是分布式系統(tǒng)的命名和目錄服務(wù)對分布式系統(tǒng)中的資源(文件、分布式對象、服務(wù))進行方便的訪問和管理,允許組件定位其他組件和資源,提供了企業(yè)級應(yīng)用所需要的資源和外部信息的注冊、存儲以及獲取組件等功能 JNDI中,企業(yè)應(yīng)用在命名環(huán)境(相當(dāng)于電話簿)中注冊,使用者通過JNDI來查找它 例:電話購物撥電話無需管誰供貨。廠家、門市、總部?怎么供 例:電話預(yù)約看病撥電話無需管人家的電話預(yù)約系統(tǒng)是如何管理和查詢的 像公共電話簿,記錄每個單位登記的電話號碼。對于單位對象,有地址等屬性可利用 許多J2EE組件的使用需要JNDI 的支持 在JMS、JMail、JDBC、EJB等技術(shù)中,大量應(yīng)用這種技術(shù),屬性名,屬性值,DataSource在哪里?,EJB在哪里?,JNDI概述,訪問對象的基本方式 憑借對象名稱 (name)與對象體(object) 的綁定(binding),使用者通過上下文(context)來存取欲使用的對象 命名服務(wù)系統(tǒng)示例 RMI注冊表 遠(yuǎn)程對象名遠(yuǎn)程對象 DNS 主機名稱IP Address 文件系統(tǒng) 文件名或路徑文件句柄,6. JTA :Java事務(wù)處理,事務(wù)是一組原子(Atomic)操作的工作單元 以數(shù)據(jù)庫存取的實例來說,就是一組SQL指令,這一組SQL指令必須全部執(zhí)行成功,若因為某個原因未全部執(zhí)行成功(例如其中一行SQL有錯誤),則先前所有執(zhí)行過的SQL指令都會被撤消。如轉(zhuǎn)賬 一個客戶從A銀行轉(zhuǎn)賬至B銀行,要作的動作為從A銀行的賬戶扣款、在B銀行的賬戶加上轉(zhuǎn)賬的金額,若已經(jīng)從A轉(zhuǎn)出,未到B,那么這錢究竟在哪里呢?兩個動作必須成功,如果有一個動作失敗,則此次轉(zhuǎn)賬失敗。,銀行B,銀行A,JTA保證數(shù)據(jù)讀寫的時候不會錯,把這些關(guān)鍵的操作當(dāng)成一系列完整的不可分割的操作事務(wù)(不能間斷,成批完成) 當(dāng)程序進行數(shù)據(jù)庫操作時,要么全部成功完成(commit) 若中間中斷,則一點也不完成(rollback) JTA技術(shù)是由容器完成,減輕了開發(fā)者的負(fù)擔(dān),7.JAAS :Java的認(rèn)證和授權(quán)服務(wù)安全,早期的java安全通過驗證代碼的來源和作者,保護用戶免受下載代碼的攻擊 JAAS通過驗證誰在運行代碼及其權(quán)限,來保護系統(tǒng)免受用戶的攻擊 為JavaEE應(yīng)用程序提供一種途徑來認(rèn)證和授權(quán)一個企業(yè)應(yīng)用用戶或用戶組,Java Authentication and Authorization Service,8.JCA:Java連接框架技術(shù),用于連接J2EE平臺到EIS(企業(yè)信息系統(tǒng))的標(biāo)準(zhǔn)API EIS包括 ERP(企業(yè)資源計劃Enterprise Resourse Program) 大型機數(shù)據(jù)庫處理 數(shù)據(jù)庫系統(tǒng) 異構(gòu)的、分布的 舊系統(tǒng),數(shù)據(jù)仍舊需要訪問的遺產(chǎn)系統(tǒng)legacy,不一定是標(biāo)準(zhǔn)的java程序或者數(shù)據(jù)庫 JCA定義了一套安全的擴展的數(shù)據(jù)交互機制,解決現(xiàn)有J2EE系統(tǒng)同其它類型系統(tǒng)的集成,J2EE Connector Architecture J2EE Connector,9.Java Persistence API持久化,持久化:信息永久的存儲到關(guān)系型數(shù)據(jù)庫等永久介質(zhì)中 如賬戶信息,顧客信息,交易記錄等等 持久化技術(shù)的發(fā)展史: 1997年-1998年:TopLink,CocoBase,ODMG 1999年-2001年:Entity Bean,JDO 2002年-2003年:TopLink,Hibernate,iBatis數(shù)據(jù)庫層 2004年:JDO穩(wěn)步發(fā)展;Hibernate飛黃騰達(dá),10.Web Service,Web services是建立可互操作的分布式應(yīng)用程序的新平臺 。 背景: 分布式組件的部署難度DCOM的困難 客戶機和服務(wù)器通信協(xié)議的問題http 與其他程序的互操作性和異構(gòu)型 你可以用任何你喜歡的語言,在任何你喜歡的平臺上寫Web service 好東西大家一起分享 只要我們可以通過Web service標(biāo)準(zhǔn)對這些服務(wù)進行查詢和訪問。 Web服務(wù)基于XML,11.XML,XML是一種可以用來定義其它標(biāo)記語言的語言。 它被用來在不同的商務(wù)過程中共享數(shù)據(jù) 如J2EE中的配置文件均是XML格式的,12.JMS:java 消息服務(wù),Java消息服務(wù)(JavaMessage Service,JMS)是一個消息標(biāo)準(zhǔn),它允許JavaEE應(yīng)用程序組件產(chǎn)生、發(fā)送、接收和讀取消息 Java平臺中關(guān)于面向消息中間件(MOM)的API,用于在兩個應(yīng)用程序之間,或分布式系統(tǒng)中發(fā)送消息,進行異步通信,13.RMI/IIOP,RMI協(xié)議調(diào)用遠(yuǎn)程對象上方法,使用序列化方式在客戶端和服務(wù)器端的對象之間傳遞數(shù)據(jù)。 RMI使原先的程序在同一操作系統(tǒng)上的方法調(diào)用,變成了不同操作系統(tǒng)之間程序的方法調(diào)用。 RMI(Remote Method Invoke)是一種被EJB使用的更底層的協(xié)議 一個EJB可以通過RMI調(diào)用另一臺機器上的EJB遠(yuǎn)程方法,14.Java IDL/CORBA,CORBA(Common Object Request Broker Architecture)是一個分布式對象體系結(jié)構(gòu),它獨立于平臺,也獨立于語言。 在這個體系結(jié)構(gòu)中,一個對象可以被本機上的客戶或遠(yuǎn)程客戶通過方法激活來存取。客戶(一個對象或應(yīng)用)無須知道被調(diào)用對象(稱為服務(wù)對象)的運行環(huán)境,也無須知道實現(xiàn)這個對象的編程語言,客戶只要知道服務(wù)對象的邏輯地址和提供的接口。 這種互操作性的關(guān)鍵是IDL(Interface Definition Language、接口定義語言),IDL說明對象接口中的方法,這些方法可以被其它對象(或應(yīng)用)激活。,RMI和CORBA相比(參考),兩者的關(guān)鍵差別在于語言環(huán)境,Java RMI是一個分布式對象計算的純Java解決方案(如,在Java RMI中,對象的接口用Java定義,而不是用IDL); CORBA沒有定義安全服務(wù),而Java RMI繼承了Java的安全性; CORBA有不同的實現(xiàn),不同的獨立軟件開發(fā)商的不同實現(xiàn)均有獨特性,這使得在不同平臺上的匹配比較困難,而且不是所有CORBA產(chǎn)品開發(fā)商都支持所有平臺,而幾乎所有平臺都支持Java虛擬機,因此Java RMI具有更高的可移植性。如果客戶對象和服務(wù)對象都基于Java虛擬機,那么Java RMI是分布對象計算的最好選擇。 最后,IIOP已經(jīng)提供了Java RMI和CORBA的互操作能力,而且兩者的發(fā)展有互相借鑒的趨勢。,15.JavaMail/JAF,JavaMail是用于存取郵件服務(wù)器的一套API Java應(yīng)用程序開源 通過javaMail來收發(fā)電子郵件 如項目組的向項目成員發(fā)邀請郵件 如用戶登錄忘記密碼,通過郵件想注冊用戶發(fā)送密碼 第9章 JavaMail利用JavaBeans Activation Framework (JAF)來處理MIME-編碼的郵件附件。MIME的字節(jié)流可以被轉(zhuǎn)換成Java對象,或者轉(zhuǎn)換自Java對象。由此大多數(shù)應(yīng)用都可以不需要直接使用 JAF。,1.4 JavaEE應(yīng)用打包與部署,將一個JavaEE應(yīng)用中的各個分離組件打包到一個單元(通常稱為包)中,并將它部署到符合JavaEE規(guī)范的應(yīng)用服務(wù)器上。 包(package)可以是以下三種單獨的模塊之一 .war Web模塊 .jar EJB模塊、應(yīng)用程序模塊 JAR 文件不僅用于壓縮和發(fā)布,而且還用于部署和封裝庫、組件和插件程序, .rar 資源適配器模塊 .ear 完整的JavaEE應(yīng)用 一個打包過的JavaEE模塊主要包括以下兩類程序文件: JavaEE組件(例如企業(yè)beans,JSP頁面,servlet等)程序文件 用于描述這些組件的配置描述文件,四種模塊 web模塊包:.war EJB模塊包: .jar 應(yīng)用程序客戶端模塊包 .jar 資源適配器模塊: .rar 總的應(yīng)用程序包: .ear 部署文件: web.xml-描述應(yīng)用的web端組件 ejb-jar.xml-標(biāo)準(zhǔn)的J2EE部署描述,用來定制EJB組件. application.xml-標(biāo)準(zhǔn)的描述整個應(yīng)用部署的xml文件 sun-j2ee-ri.xml-由EJB容器提供商來填充的部署描述文件,包含具體實現(xiàn)的定制信息,打包應(yīng)用程序,1.5JavaEE 體系結(jié)構(gòu)的優(yōu)點,獨立于硬件配置和操作系統(tǒng) 堅持面向?qū)ο蟮脑O(shè)計原則 靈活性、可移植性和互操作性 輕松的企業(yè)信息系統(tǒng)集成,本章小結(jié),從企業(yè)分布式應(yīng)用的特點上來看,我們需要JavaEE 分布式面向web、多層結(jié)構(gòu)、高速反應(yīng)性、安全性(JAAS)、 事務(wù)性(JTA)、可擴展性、集成化、可移植性、易維護- JavaEE不是一門編程語言,而是一個標(biāo)準(zhǔn)中間件體系結(jié)構(gòu), 基于組件、可重用的組件 多層次 統(tǒng)一的安全模型 靈活的事務(wù)控制 Web服務(wù)支持 典型的分為(表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)層和企業(yè)信息層) JavaEE是企業(yè)分布式應(yīng)用開發(fā)標(biāo)準(zhǔn) ,核心思想是組件容器思想 應(yīng)用程序是由組件組成的,組件運行在容器中。 JavaEE的三大組件技術(shù):Servlet、Jsp、EJB 容器是Java EE的運行環(huán)境 容器有四種( Application Client容器、Applet容器、Web容器、 EJB容器) ,負(fù)責(zé)實現(xiàn)復(fù)雜的安全、事務(wù)等工作, JavaEE的核心技術(shù)包括組件技術(shù)和容器的服務(wù)技術(shù) (Java Servlet、JSP 、EJB 、JDBC、JNDI 、JTA 、JAAS 、JCA 、Web service、 XML、JMS 、RMI Java IDL/CORBA、JavaMail/JAF ) 打包與部署,JAR/WAR/ EAR包,學(xué)習(xí)要點:,1熟悉分布式的多層應(yīng)用開發(fā)模型 2熟悉組件的含義與各種組件類型 3了解容器的含義與各種容器類型 4熟悉各種JavaEE APIs 了解打包與部署 熟悉JAR/WAR/ EAR文件格式及相互 區(qū)別,介紹幾個好的Java方面的編程網(wǎng)站:,CSDN論壇 / 中國最有名的技術(shù)論壇,程序員雜志就是他們出版的,你可以在上面提出問題,馬上就有人回答你,如果你覺得好,你可以給那人加分; 技術(shù)博客:/ Java研究組織 / 上面有很多原創(chuàng)文章,高手還是挺多的; Java開發(fā)者 / 那里Java資料比較全; / 看這域名就知道有多牛,注冊用戶快接近一萬了,同時在線人數(shù)也在一千左右,人氣很旺的; IBM的開發(fā)者網(wǎng)絡(luò) /developerWorks/cn/java/index.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 優(yōu)生優(yōu)育與生殖健康知識普及
- 寶潔健康用品使用指導(dǎo)
- 教育故事的力量與應(yīng)用
- 水閘設(shè)計畢業(yè)答辯
- 中年教師婦產(chǎn)科疾病健康
- 手術(shù)室剖宮產(chǎn)疑難病例處理要點
- 乳房腫物護理查房
- 護理師資教學(xué)能力比賽
- 胸主動脈疾病病人的護理
- 企業(yè)架構(gòu)業(yè)務(wù)流程設(shè)計五步法
- 個人向紀(jì)檢委寫檢討書
- 2024年北京電子科技學(xué)院招考聘用筆試歷年典型考題及考點研判與答案解析
- 江蘇省南京市鼓樓區(qū)鼓樓實驗中學(xué)2022年蘇教版小升初招生分班考試數(shù)學(xué)試卷(原卷版+解析)
- 重癥肌無力的護理課件
- LNG接收站定量風(fēng)險評價的開題報告
- 工程部內(nèi)部培訓(xùn)(一)項目經(jīng)理培訓(xùn)
- 《病歷書寫基本規(guī)范》課件
- 【多旋翼無人機的組裝與調(diào)試分析6000字(論文)】
- 中學(xué)生反詐專題主題班會課件
- 塔式起重機安裝驗收牌
- 幼兒園大班社會《偉大的起點 》 高清有聲課件
評論
0/150
提交評論