JavaEE編程技術(shù)_第1頁(yè)
JavaEE編程技術(shù)_第2頁(yè)
JavaEE編程技術(shù)_第3頁(yè)
JavaEE編程技術(shù)_第4頁(yè)
JavaEE編程技術(shù)_第5頁(yè)
已閱讀5頁(yè),還剩78頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、紆2EE應(yīng)用主講教師:Tel: 85603029教1#203E-mail: dongyangyi2005教材:JavaEE編程技術(shù)第二版郝玉龍等清華大學(xué)出版社2006年學(xué)時(shí)及進(jìn)度安排理論:4-18周(32學(xué)時(shí))上機(jī):518周(16學(xué)時(shí))考試:筆試+上機(jī)(平時(shí))7:3第一章J2EE概述內(nèi)容一、J2EE的由來(lái)J二、J2EE概念三、J2EE編程思想四、J2EE技術(shù)框架五、優(yōu)勢(shì)* 般知識(shí)*、計(jì)算機(jī)應(yīng)用程序的一般特點(diǎn):大多數(shù)應(yīng)用,從PC機(jī)上的簡(jiǎn)單報(bào)表程序到大型機(jī) 上的復(fù)雜計(jì)算,都由三部分組成:用戶(hù)界面部分:表示層應(yīng)用邏輯部分:業(yè)務(wù)邏輯層數(shù)據(jù)訪(fǎng)問(wèn)部分:數(shù)據(jù)訪(fǎng)問(wèn)層:、應(yīng)用程序開(kāi)發(fā)模型的變遷過(guò)程:?jiǎn)螌?、兩層?/p>

2、層層I1LLI1231 d 312 3 4一、J2EE的由來(lái)1、傳統(tǒng)應(yīng)用程序模型V2、Web應(yīng)用程序模型3、為什么需要J2EE1、傳統(tǒng)應(yīng)用程序模型(一)A主機(jī)系統(tǒng)或單層結(jié)構(gòu):主機(jī)/終端模式數(shù)據(jù)訪(fǎng)問(wèn)、表示和業(yè)務(wù)邏輯在一個(gè)應(yīng)用中 代碼復(fù)用、代碼可維護(hù)性、代碼的修改十分困難 應(yīng)用不是分布式的,不具有可伸縮性1、傳統(tǒng)應(yīng)用程序模型(二)A客戶(hù)/服務(wù)器結(jié)構(gòu):“胖”客戶(hù)端數(shù)據(jù)庫(kù)用戶(hù)界面和程序邏輯綁在一起,代碼難以重用kJ服務(wù)器的數(shù)據(jù)庫(kù)必須同每一個(gè)活動(dòng)的客戶(hù)保持連接,消耗大量 的運(yùn)算資源,隨著客戶(hù)數(shù)目的增加性能不斷下降,且存在死鎖 及崩潰的可能數(shù)據(jù)模型“緊耦合”在每一客戶(hù)端,數(shù)據(jù)庫(kù)結(jié)構(gòu)改變將導(dǎo)致全 體客戶(hù)端改

3、變,不利于更新和維護(hù)原始數(shù)據(jù)通過(guò)網(wǎng)絡(luò)傳遞:加重網(wǎng)絡(luò)負(fù)擔(dān)客戶(hù)端應(yīng)用程序越來(lái)越大,對(duì)使用者的要求也越來(lái)越高一、J2EE的由來(lái)1、傳統(tǒng)應(yīng)用程序模型2、Web應(yīng)用程序模型V3、為什么需要J2EEruns any server営idm scripts, and sends requests fordata to the database server through O匚J日G.2、Web應(yīng)用程序模型(一)A傳統(tǒng)的Web應(yīng)用程序模型:三層分布式架構(gòu)LAN Connection HTTP Connection -2、Web應(yīng)用程序模型(一)A傳統(tǒng)的Web應(yīng)用程序模型:三層分布式架構(gòu) WWW瀏覽方式帶來(lái)的變

4、化: a Browser-based,?的客戶(hù)端與Internetworking計(jì)算方式向服務(wù)器端的集中轉(zhuǎn)化客戶(hù)端:業(yè)務(wù)數(shù)據(jù)模型與UI分開(kāi),更“瘦”業(yè)務(wù)邏輯在中間層,通過(guò):連接池,多線(xiàn)程可以處理多客戶(hù)端早期應(yīng)用編程困難且性能比較差:CGI(C/C+, VB, Perl等等), ISAPI , NSAPI2、Web應(yīng)用程序模型(二)AN層計(jì)算模式的引入采用N層計(jì)算結(jié)構(gòu),從邏輯角度看,系統(tǒng)分成客 戶(hù)端、Web服務(wù)器、應(yīng)用服務(wù)器、數(shù)據(jù)庫(kù)服務(wù)器四層; 從物理角度看,應(yīng)用服務(wù)器可以視用戶(hù)并發(fā)數(shù)從1到N 臺(tái)進(jìn)行擴(kuò)充,以保證客戶(hù)端用戶(hù)的響應(yīng)要求。I E 4N KSJh2、Web應(yīng)用程序模型(二)AN層計(jì)算模

5、式的引入從1層到N層,得到的改進(jìn):每一層可以被單獨(dú)改變,而無(wú)需其它層的改變降低了部署與維護(hù)的開(kāi)銷(xiāo),提高了靈活性、可伸縮性為可能引入瘦客戶(hù)端,計(jì)算被集中至服務(wù)器端,使性能提高成仍然存在的問(wèn)題:對(duì)企業(yè)級(jí)應(yīng)用開(kāi)發(fā)人員的要求太高: 需要熟悉分布式協(xié)議(IIOP、IIOPS、HTTP、HTTPS、CGI、ISAPI、NS API),連行一致性事務(wù)處理,負(fù)載平衡, 考慮安全性2、Web應(yīng)用程序模型(三)A多層應(yīng)用程序的真正優(yōu)點(diǎn):應(yīng)用程序各部分之間松耦合,從而應(yīng)用程序各部 分的更新相互獨(dú)立.業(yè)務(wù)邏輯集中放在服務(wù)器上由所有用戶(hù)共享,使得系統(tǒng)的維護(hù)和更新變得簡(jiǎn)單,也更安全。數(shù)據(jù)庫(kù)不再和每一個(gè)活動(dòng)的用戶(hù)保持一個(gè)連

6、接, 而是由應(yīng)用程序組件負(fù)責(zé)與數(shù)據(jù)庫(kù)打交道,降低 數(shù)據(jù)庫(kù)服務(wù)器的負(fù)擔(dān),提高了性能。一、J2EE的由來(lái)1、傳統(tǒng)應(yīng)用程序模型2、Web應(yīng)用程序模型3、為什么需要J2EE V3、為什么需要J2EE在企業(yè)級(jí)應(yīng)用開(kāi)發(fā)中所面臨的而且必須解 決的問(wèn)題:分布式、可移植、舊系統(tǒng)集成支持、面向Web、可裝配滿(mǎn)足企業(yè)計(jì)算要求: 一致性、事務(wù)性、安全性要有好的特性:可伸縮、可擴(kuò)展、易維護(hù)3、為什么需要J2EEJ2EE提供了 一套完整的解決所有這些問(wèn)題的框架方案: 提供了分布式、可移植構(gòu)件的框架;;為構(gòu)件與應(yīng)用服務(wù)器提供標(biāo)準(zhǔn)API; 簡(jiǎn)化了服務(wù)器端中間層構(gòu)件的設(shè)計(jì);J2EE對(duì)開(kāi)發(fā)者和用戶(hù)來(lái)說(shuō)意味著:更短的開(kāi)發(fā)時(shí)間可重用

7、扌J JSP jEJB更簡(jiǎn)化的連接jXML, JDBG RMMIOP一、J2EE的由來(lái)1、傳統(tǒng)應(yīng)用程序模型2、Web應(yīng)用程序模型3、為什么需要J2EE一、J2EE的由來(lái)二、J2EE概念三、J2EE編程思想 J2EE是一個(gè)標(biāo)準(zhǔn)中間件體系結(jié)構(gòu)J2EE不是編程語(yǔ)言! ! J2EE是企業(yè)分布式應(yīng)用開(kāi)發(fā)標(biāo)準(zhǔn)一、J2EE的由來(lái)二、J2EE概念三、J2EE編程思想組件一容器容器 J2EE容器和組件:呼一一一一容器處理組件處理分布性可伸縮性 訶用性事務(wù)性安全性生命周期管理JSP,Servlet,Applet業(yè)務(wù)邏輯EJB數(shù)據(jù)訪(fǎng)問(wèn)邏輯EJB內(nèi)容一、J2EE的由來(lái)二、J2EE概念三、J2EE編程思想四、J2EE技

8、術(shù)框架V五、優(yōu)勢(shì) J2EE架構(gòu):J2EE技術(shù)架構(gòu)pplet ContaineWeb ContainerEJB ContainerAppletServletatabasApp ClientContainer AppClientHTTP/ HT)0Q3、J2EE架構(gòu)及核心技術(shù)簡(jiǎn)介 J2EE核心技術(shù):種JSP、Java Servlet JavaBean JDBC EJB CORBA、RMI、XML、JMSJSP技術(shù):JSP是服務(wù)器端的腳本語(yǔ)言,是以J噸和Sento為基 礎(chǔ)開(kāi)發(fā)而成的動(dòng)態(tài)網(wǎng)頁(yè)生成技術(shù),它的底層實(shí)現(xiàn)是Java Servlet oJSPQava Server Pages)頁(yè)面由HTML代碼

9、和嵌入其中 的扭v次代碼所組成。服務(wù)器在頁(yè)面被客戶(hù)端所請(qǐng)求以 后對(duì)這些Java代碼進(jìn)行處理,然后將生成的HTML 頁(yè)面返回給客戶(hù)端的瀏覽器。J2EE核心技術(shù)特點(diǎn):面向?qū)ο螅缙脚_(tái),和Servlet樣穩(wěn)定, 可以使用Servlet提供的API,克服了Servlet的缺 點(diǎn)。應(yīng)用:一般SlJavaBeans結(jié)合使用,從而將界面 表現(xiàn)和業(yè)務(wù)邏輯分離。數(shù)據(jù)庫(kù)Bean LJSP 文件J2EE核心技術(shù)JSP和ASP的比較(一):相似:都是運(yùn)行于服務(wù)器端的腳本語(yǔ)言,兩者都是動(dòng)態(tài)網(wǎng) 頁(yè)生成技術(shù)。這兩項(xiàng)技術(shù)都使用HTML來(lái)決定網(wǎng)頁(yè)的版面,都是 在HTML代碼中混合某種程序代碼,由語(yǔ)言引擎解 釋執(zhí)行程序代碼。HT

10、ML代碼主要負(fù)責(zé)描述信息的 顯示樣式,而程序代碼則用來(lái)描述處理邏輯。J2EE核心技術(shù)JSP和ASP的比較(二):不同: JSP是由Sun推出的一項(xiàng)技術(shù),可以建立先進(jìn)、安全 和跨平臺(tái)的動(dòng)態(tài)網(wǎng)站。ASP是MS公司推出的技術(shù), 只能在MS的平臺(tái)上運(yùn)行,無(wú)法實(shí)現(xiàn)跨平臺(tái),也無(wú)安 全性保障。 ASP下的纏程語(yǔ)言是VBScript之類(lèi)的腳本語(yǔ)言,而 JSP使用的是Java。 ASP與JSP還有一個(gè)更為本質(zhì)的區(qū)別:兩種語(yǔ)言引 奎用完舍不同的方式處齬茴中。 衽ASP下,VBScript碼夜ASP引 W#執(zhí)行; 在JSP下,代碼被編譯成Servlet并Tava虛擬機(jī)執(zhí) 行,這種編譯操作僅在對(duì)JSP頁(yè)面的鏡一次請(qǐng)求

11、時(shí) 發(fā)生。3、J2EE架構(gòu)及核心技術(shù)簡(jiǎn)介 J2EE核心技術(shù):種JSP、Java Servlet JavaBean JDBCEJB、CORBA RMI、XML、JMSJ2EE核心技術(shù)Java Sender技術(shù):Servlet是一種擴(kuò)展Web服務(wù)器功能的技術(shù),而 且由于它是用Java編寫(xiě)的,所以能夠訪(fǎng)問(wèn)整個(gè) Java AM庫(kù),包括用于訪(fǎng)問(wèn)企業(yè)數(shù)據(jù)庫(kù)的JDBC APIo-j Servlet(=Server + Applet):是一些運(yùn)行于 服務(wù)器端的Jaw小程序,用來(lái)擴(kuò)展Web服務(wù)器 的功能。-i Servlet繼承了Java的所有特性(跨平臺(tái)、多線(xiàn) 程、OO)oScvlw也同樣使用HTTP協(xié)議與客

12、戶(hù)端進(jìn)行 通訊,所以有時(shí)也稱(chēng)Sevlet為“HTTP Servlet11 J2EE核心技術(shù)Java Servlet和JSP 的比較:相似:兩者都是基于Java的技術(shù),所以都繼承了險(xiǎn)va的所有 特性(跨平臺(tái)、多線(xiàn)程、OO ),都可以使用va強(qiáng) 大的API。兩者工作方式相似:JSP代碼先被JSP容器轉(zhuǎn)換為 Servlet代碼再編譯為類(lèi)。兩者在J2EE體系結(jié)構(gòu)中的工作層次相同,都負(fù)責(zé)與 客戶(hù)端的連接。不同:編程方式不同。Servlets是一些運(yùn)行于Web 服務(wù)器端的Java小程序;而JSP是腳本,編 寫(xiě)起來(lái)更簡(jiǎn)單容易。應(yīng)用目的不同。Servlet主要用于從客戶(hù)端接 收請(qǐng)求信息,而JSP主要負(fù)責(zé)將服務(wù)

13、器端信 息傳送到客戶(hù)端。使用JSP的真正意義在于:可以將界面設(shè)計(jì) 和業(yè)務(wù)邏輯設(shè)計(jì)分離。3、J2EE架構(gòu)及核心技術(shù)簡(jiǎn)介 J2EE核心技術(shù):種JSP、Java Servlet JavaBean JDBC EJB CORBA、RMI、XML、JMS3、J2EE架構(gòu)及核心技術(shù)簡(jiǎn)介 J2EE核心技術(shù):種JSP、Java Servlet JavaBean JDBCEJB、CORBA RMI、XML、JMSJ2EE核心技術(shù)JDBC技術(shù): JDBC是一組API,定義了用來(lái)訪(fǎng)問(wèn)數(shù)據(jù)源的標(biāo)準(zhǔn) JDBC對(duì)數(shù)據(jù)庫(kù)的訪(fǎng)問(wèn)具有平臺(tái)無(wú)關(guān)性。 JDBC API為訪(fǎng)問(wèn)不同的數(shù)據(jù)庫(kù)提供了一種統(tǒng)一的途 徑,象ODBC樣,JDBC對(duì)

14、開(kāi)發(fā)者屏蔽了一些細(xì)節(jié) 問(wèn)題。JDBC的目標(biāo)是使應(yīng)用程序開(kāi)發(fā)人員使用JDBC可以連接任何提供了 JDBC驅(qū)動(dòng)程序的數(shù)據(jù)庫(kù)系統(tǒng)oJ2EE核心技術(shù)可B (Enterprise JavaBeans) J2EE 的基石: EJB不是一個(gè)具體的產(chǎn)品,而是一個(gè)Java服務(wù)器端組件開(kāi)發(fā)的 規(guī)范,軟件廠商根據(jù)它來(lái)實(shí)現(xiàn)EJB服務(wù)器。使用EJB, Java程序員可以將一些定義明確的程序塊組合到一 起,從而方便、快捷地建構(gòu)分布式應(yīng)用程序。使用EJB可以使整個(gè)程序分塊明確,并且EJB可以使用其它 EJB或JDBC等服務(wù),從而增強(qiáng)了分布式應(yīng)用程序的可擴(kuò)展性 和性能;EJB規(guī)范在簡(jiǎn)化分布式應(yīng)用程序開(kāi)發(fā)復(fù)雜性 EJB的使用增

15、強(qiáng)了整個(gè)系統(tǒng)程序的可靠性、可管理性和可移植性。J2EE核心技術(shù)EJB J2EE的基石: EJB容器是:Life Cycle容器目勰竈蠶器履璃磐訪(fǎng)豳離翳:StateContainerManagement N(EJ) (EJB) (EJB)Remote Interface3、J2EE架構(gòu)及核心技術(shù)簡(jiǎn)介EJB J2EE的基石: EJB服務(wù)器是:管理EJB容器的高端進(jìn)程或應(yīng)用程序,并提供 對(duì)系統(tǒng)服務(wù)的訪(fǎng)問(wèn)。ETB服務(wù)器也可以提供廠商自 弓膽特性,一 、舞訪(fǎng)畛口,點(diǎn)麹醸(如CORBA 訪(fǎng)問(wèn)。一個(gè)EJB服務(wù)鑒宓魏 供支持對(duì)JNDI的名字服務(wù)和TS事務(wù)服霧的可訪(fǎng)問(wèn)o EJB分為兩種:會(huì)話(huà)EJB和實(shí)體EJB,

16、會(huì)話(huà)EJB向客戶(hù)提供一定 錄集甬一行,一個(gè)實(shí)體EJB可以同時(shí)與多個(gè)客戶(hù)進(jìn) 行交宜。3、J2EE架構(gòu)及核心技術(shù)簡(jiǎn)介 J2EE核心技術(shù):種JSP、Java Servlet JavaBean JDBC EJB CORBA、RMI、XML、JMSJ2EE核心技術(shù)CORBA體系結(jié)構(gòu):核心一ORB1: A request passing fiotn -zlienttcicbjeizt iiiileineiitationJ2EE核心技術(shù)CORBA技術(shù): CORBA (Common Object Request Broker 巒嘔鑫誤布式對(duì)象體系結(jié)構(gòu)它獨(dú)立在這個(gè)體系結(jié)構(gòu)中,一個(gè)對(duì)象可以被奎機(jī)上的客戶(hù) 或遠(yuǎn)程客

17、戶(hù)通過(guò)方法激活來(lái)存取??吞J(一個(gè)對(duì)象 或應(yīng)用)無(wú)須知道被調(diào)用對(duì)象(稱(chēng)為服務(wù)對(duì)象)的這種互操作性的關(guān)鍵是IDL (Interface DefinitionJSP、Java Servlet、JavaBean JDBCEJB、CORBA RMIXML、JMSJ2EE核心技術(shù)RMI技術(shù): RMI(Remote Method Invoke)是一種被EJB使用的哎 底層場(chǎng)協(xié)議,正如其名字所奏示的那樣,RMI協(xié)議 蹲麟融齡列化方式在客戶(hù)端和avaRMI和CORBA相比:兩者的關(guān)鍵差別在于語(yǔ)言環(huán)境,Java RMI是一個(gè)分布式對(duì)象計(jì)算的鄉(xiāng) 解決方案(如,在JavaRMI中,對(duì)象的接口用Java定義,而不是用I

18、DI其次,CORBA沒(méi)有定義安全服務(wù),而Java RMI繼承了Java的安全性;再者,CORBA有不同的實(shí)現(xiàn),不同的獨(dú)立軟件開(kāi)發(fā)商的不同實(shí)現(xiàn)均有獨(dú) 特性,這使得在丕同平臺(tái)上的匹配比較困難,而且不是所有CORBA產(chǎn)品 開(kāi)發(fā)商都支掙所看平臺(tái),而幾乎所有平臺(tái)都支持Java虛擬機(jī),因此理va RMI具有更高的可移糧性。如果窖戶(hù)對(duì)象和服務(wù)對(duì)象都基于Java虛徹機(jī), 那么Java RMI是分布對(duì)象計(jì)算的最好選擇。最后,IIOP已經(jīng)提供了Java RMI和CORBA的互操作能力,而且兩者的發(fā) 展有互相借鑒的趨勢(shì)。3、J2EE架構(gòu)及核心技術(shù)簡(jiǎn)介XML技術(shù):JSP、Java Servlet JavaBean J

19、DBC EJB CORBA、RMI、XML、JMS XML(Extensible Markup Language)是一種可以用來(lái) 定義其它標(biāo)記語(yǔ)言的語(yǔ)言,被用來(lái)在不同的商務(wù)過(guò) 程中共享數(shù)據(jù)。 XML的發(fā)展和Java是相互獨(dú)立的,但是它和Java具有的相同目標(biāo)即平臺(tái)獨(dú)立性。通過(guò)將Java和XML的組合,可以得到一個(gè)完美的具有平臺(tái)獨(dú)立性的解決方案。 J2EE平臺(tái)全面支持和實(shí)施XML,這種強(qiáng)大的組合可使XML具備跨平臺(tái)的兼容性,甚至用于對(duì)XML代碼進(jìn)行語(yǔ)法檢査和調(diào)試的工具也可與平臺(tái)無(wú)關(guān)。JSP、Java Servlet JavaBean JDBC EJB CORBA、RMI、XML、TMSJ2EE核心技術(shù)JMS技術(shù):JMS是一種基于Java的技術(shù),因此是平臺(tái)無(wú)關(guān)的。它為 消息服務(wù)定義了通用Java語(yǔ)言接口,支持最常見(jiàn)的消息傳遞 模型(發(fā)布/訂閱和點(diǎn)到點(diǎn))。通過(guò)對(duì)JMS (Java消息服務(wù)) API的訪(fǎng)問(wèn)可實(shí)現(xiàn)面向消息的通信。JMS通常用來(lái)實(shí)現(xiàn)異構(gòu) 系統(tǒng)之間的松散集成。 ava Ol ie nts*關(guān)于消息技術(shù):消息系統(tǒng)的特點(diǎn):消息是異步的。一允許不同的應(yīng)用程序之間進(jìn)行通訊。一消息應(yīng)用程序之間是對(duì)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論