第 1 章Java EE 架構(gòu)介紹(2003)_第1頁(yè)
第 1 章Java EE 架構(gòu)介紹(2003)_第2頁(yè)
第 1 章Java EE 架構(gòu)介紹(2003)_第3頁(yè)
第 1 章Java EE 架構(gòu)介紹(2003)_第4頁(yè)
第 1 章Java EE 架構(gòu)介紹(2003)_第5頁(yè)
已閱讀5頁(yè),還剩97頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、信息系統(tǒng)軟件設(shè)計(jì)信息系統(tǒng)軟件設(shè)計(jì)靳靳 鵬鵬合肥工業(yè)大學(xué)管理學(xué)院合肥工業(yè)大學(xué)管理學(xué)院課程內(nèi)容簡(jiǎn)介課程內(nèi)容簡(jiǎn)介第一章 Java EE 架構(gòu)介紹第二章 Jsp 基礎(chǔ)知識(shí)第三章 Struts2.0 表現(xiàn)層技術(shù)第四章 Spring 2.5 業(yè)務(wù)邏輯層技術(shù)第五章 Hibernate 3.2 數(shù)據(jù)持久層技術(shù)第六章 DWR基于Ajax技術(shù)應(yīng)用框架參考書參考書p 建議教材:建議教材:1. Java EE實(shí)用教程基于WebLogic和Eclipse(第2版)李緒成2. 2. Java高級(jí)框架應(yīng)用開發(fā)案例教程 Struts2+Spring+Hibernate ,(高等學(xué)校計(jì)算機(jī)科學(xué)與技術(shù)項(xiàng)目驅(qū)動(dòng)案例實(shí)踐規(guī)劃教材)王

2、永貴、郭偉、馮永安、焦學(xué)理等,清華大學(xué)出版社,2012-3-23;3. Web編程技術(shù)JSP XML JAVAEE(普通高等教育十一五國(guó)家級(jí)規(guī)劃教材),丁躍潮 主編,出 版 社:科學(xué)出版社,2008-3-1;4. JSP實(shí)訓(xùn)教程(21世紀(jì)高等學(xué)校規(guī)劃教材 計(jì)算機(jī)科學(xué)與技術(shù)),宋智軍,邱仲潘編著,出 版 社:電子工業(yè)出版社,出版時(shí)間:2012-7-1主要參考書主要參考書 Struts2權(quán)威指南:基于WebWork核心的MVC開發(fā),李剛,出版社: 電子工業(yè)出版社,2007-9-1;Spring技術(shù)內(nèi)幕:深入解析Spring架構(gòu)與設(shè)計(jì)原理(第2版), 計(jì)文柯 機(jī)械工業(yè)出版社, 2012-03;精通H

3、ibernate:Java對(duì)象持久化技術(shù)詳解, 孫衛(wèi)琴, 電子工業(yè)出版社,2010-02出版;輕量級(jí)Java EE企業(yè)應(yīng)用實(shí)戰(zhàn)(第3版):Struts 2Spring 3Hibernate整合開發(fā), 李剛, 電子工業(yè)出版社, 2012-04;SOA思想、技術(shù)與系統(tǒng)集成應(yīng)用詳解, 梁愛虎, 北京:電子工業(yè)出版社, 2007.12。XML Web Services高級(jí)編程范例, 胡海璐等編著, 北京:電子工業(yè)出版社,2003.2. 第第1 1章章 Java EEJava EE架構(gòu)介紹架構(gòu)介紹1.1 Java EE 概述概述p Java 發(fā)展過程發(fā)展過程 90年,年,Sun公司公司James Gos

4、ling領(lǐng)導(dǎo)的小組設(shè)計(jì)了一種平領(lǐng)導(dǎo)的小組設(shè)計(jì)了一種平臺(tái)無關(guān)的語言臺(tái)無關(guān)的語言O(shè)ak,用于為各種家用電器編程。,用于為各種家用電器編程。 95.1,Oak改名為改名為Java,5.23 Sun正式發(fā)布正式發(fā)布Java。 96.2,Java beta版結(jié)束,版結(jié)束,Java 1.0誕生。誕生。 97.2,Java發(fā)展到發(fā)展到1.1版。版。1.1 Java EE 1.1 Java EE 概述概述 99.7,重新組織,重新組織Java平臺(tái)的集成方法,平臺(tái)的集成方法, 升級(jí)到升級(jí)到1.2版;版;Java從一種從一種語言語言發(fā)展成為一種發(fā)展成為一種開發(fā)平臺(tái)開發(fā)平臺(tái),并將,并將Java企業(yè)企業(yè)級(jí)應(yīng)用級(jí)應(yīng)用開

5、發(fā)平臺(tái)作為發(fā)展方向,出現(xiàn)了開發(fā)平臺(tái)作為發(fā)展方向,出現(xiàn)了Sun ONE和和Java平臺(tái)的三個(gè)版本平臺(tái)的三個(gè)版本J2SE、J2ME和和J2EE。1.1 Java EE 1.1 Java EE 概述概述pJ2EE 1.2 平臺(tái)平臺(tái)1.1 Java EE 1.1 Java EE 概述概述pJ2EE 1.2 關(guān)鍵思想關(guān)鍵思想 應(yīng)用的邏輯分層,客戶端層、Web層 、EJB層和數(shù)據(jù)層 組件概念,將應(yīng)用中的不同程序分成不同的組件,包括Applet、Application、JSP、Servlet和EJB等組件; 服務(wù)的標(biāo)準(zhǔn)化,對(duì)常見的服務(wù)進(jìn)行標(biāo)準(zhǔn)化,制定標(biāo)準(zhǔn)規(guī)范,例如JMS、JNDI、JTA等; 容器的概念,容

6、器為組件提供運(yùn)行環(huán)境,并為組件提供必要的服務(wù)。1.1 Java EE 1.1 Java EE 概述概述pJ2EE 1.31.1 Java EE 1.1 Java EE 概述概述pJ2EE 1.3 比較大的變動(dòng):比較大的變動(dòng): Connection API 支持與外部企業(yè)信息系統(tǒng)的集成; 需要一個(gè)JMS提供者 JAXP API 支持對(duì)XML的處理 JAAS API 對(duì)Connection API 的安全支持 EJB規(guī)范支持使用IIOP協(xié)議的互操作 EJB規(guī)范增加一種新的容器管理持久性模型,支持消息驅(qū)動(dòng)Bean,支持本地EJB1.1 Java EE 1.1 Java EE 概述概述pJ2EE 1.

7、4 1.1 Java EE 1.1 Java EE 概述概述pJ2EE 1.4 主要目標(biāo)是支持web service 增加幾個(gè)API 增強(qiáng)許多現(xiàn)有的J2EE API1.1 Java EE 1.1 Java EE 概述概述pJava EE 51.1 Java EE 1.1 Java EE 概述概述pJava EE 5 主要的變動(dòng)是: J2EE 變成了 Java EE 5 用Java 語言元注釋(Annotation)u 減少Java EE 部署描述符的使用u 注釋主要作用是將資源和其它的依賴注入到Java EE組件中,是對(duì)已有的JNDI查找能力的一種補(bǔ)充 增加JSTL和JSF技術(shù) 增加Java

8、持久性API,簡(jiǎn)化Java對(duì)象到數(shù)據(jù)庫(kù)的映射。1.1 Java EE 1.1 Java EE 概述概述pJava EE 特點(diǎn):特點(diǎn): 標(biāo)準(zhǔn):支持許多標(biāo)準(zhǔn)的服務(wù)、組件、客戶端、工具,可以跨平臺(tái) 分布式 通用服務(wù),可以由平臺(tái)提供通用的服務(wù),例如事物、安全、持久性 組件模型,開發(fā)可以分模塊進(jìn)行,不同應(yīng)用可以共享代碼、業(yè)務(wù) 互操作,可以通過標(biāo)準(zhǔn)的協(xié)議與其它系統(tǒng)進(jìn)行交互1.1 Java EE 1.1 Java EE 概述概述pJava 技術(shù)系列的技術(shù)系列的 3 個(gè)版本個(gè)版本 JavaSE:Java Standard Edition,Java 技術(shù)標(biāo)準(zhǔn)版,以界面程序、Java小程序和其它一些典型的應(yīng)用為目

9、標(biāo)JavaEE:Java Enterprise Edition,Java技術(shù)企業(yè)版,以服務(wù)器端程序和企業(yè)軟件的開發(fā)為目標(biāo)JavaME:Jave Micro Edition,Java技術(shù)微型版,為小型設(shè)備、獨(dú)立設(shè)備、互聯(lián)移動(dòng)設(shè)備、嵌入式設(shè)備程序開發(fā)而設(shè)計(jì)1.1 Java EE 1.1 Java EE 概述概述JavaSE、JavaEE、JavaME 之間的關(guān)系圖Java Platform Standard Edition Java Platform Standard Edition Java SE APIJava SE API.Net FrameWork.Net FrameWork.Net Fr

10、ameWork.Net FrameWorkJDKJDKpJDK 是整個(gè)Java的核心,包括了Java運(yùn)行環(huán)境(Java Runtime Enviornment),一堆Java工具和Java基礎(chǔ)的類庫(kù)(rt.jar)。不論什么Java應(yīng)用服務(wù)器實(shí)質(zhì)都是內(nèi)置了某個(gè)版本的JDK。軟件開發(fā)層次結(jié)構(gòu)軟件開發(fā)層次結(jié)構(gòu)單機(jī)單機(jī)最簡(jiǎn)單的開發(fā)模式圖示單機(jī)應(yīng)用程序數(shù)據(jù)存儲(chǔ)p最簡(jiǎn)單的軟件開發(fā)模式,是單機(jī)形式軟件開發(fā)層次結(jié)構(gòu)軟件開發(fā)層次結(jié)構(gòu)C/SC/Sp胖客戶端開發(fā)模式:可以在各個(gè)客戶端上面運(yùn)行應(yīng)用程序,各個(gè)客戶端都訪問服務(wù)器端的數(shù)據(jù)庫(kù)胖客戶端開發(fā)模式圖示軟件開發(fā)層次結(jié)構(gòu)軟件開發(fā)層次結(jié)構(gòu)B/SB/Sp客戶機(jī)使用的是瀏

11、覽器,那么連表示邏輯都可以存放在服務(wù)器端,稱為瘦客戶端基于 Web 的瘦客戶端開發(fā)模式1.2 Java EE 1.2 Java EE 核心技術(shù)簡(jiǎn)介核心技術(shù)簡(jiǎn)介p J2EE核心是一組技術(shù)規(guī)范與指南,其中所包含的各類組件、服務(wù)架構(gòu)及技術(shù)層次組件、服務(wù)架構(gòu)及技術(shù)層次,均有共通的標(biāo)標(biāo)準(zhǔn)及規(guī)格準(zhǔn)及規(guī)格,讓各種依循J2EE架構(gòu)的不同平臺(tái)之間,存在良好的兼容性,解決過去企業(yè)后端使用的信息產(chǎn)品彼此之間無法兼容,導(dǎo)致企業(yè)內(nèi)部或外部難以互通的窘境1.2 Java EE 1.2 Java EE 核心技術(shù)簡(jiǎn)介核心技術(shù)簡(jiǎn)介p組件技術(shù)組件技術(shù) 由開發(fā)人員用來創(chuàng)建企業(yè)應(yīng)用程序的主要部分,即用戶界面和業(yè)務(wù)邏輯。p服務(wù)技術(shù)服務(wù)

12、技術(shù) 數(shù)據(jù)庫(kù)訪問(JDBC) Java命名與目錄接口 (JNDI) 事務(wù)服務(wù) JTA (Java事務(wù)API) JTS (Java事務(wù)服務(wù))1.2 Java EE 1.2 Java EE 核心技術(shù)簡(jiǎn)介核心技術(shù)簡(jiǎn)介p通信技術(shù)通信技術(shù)提供在客戶端與服務(wù)器之間以及不同服務(wù)器托管的協(xié)作對(duì)象之間進(jìn)行通信的機(jī)制。HTTP(S)RMI (遠(yuǎn)程方法調(diào)用)OMG (對(duì)象管理組協(xié)議)JMS(Java消息服務(wù))JavaMail (Java電子郵件)連接器架構(gòu)1.2 Java EE 1.2 Java EE 核心技術(shù)簡(jiǎn)介核心技術(shù)簡(jiǎn)介pJavaEE 中的重要技術(shù)規(guī)范例舉中的重要技術(shù)規(guī)范例舉JDBC(Java Databas

13、e Connectivity):JDBC API 為訪問不同的數(shù)據(jù)庫(kù)提供了一種統(tǒng)一的途徑 JNDI(Java Name and Directory Interface):JNDI API 被用于執(zhí)行名稱和目錄服務(wù),它提供了一致的模型來存取和操作企業(yè)級(jí)的資源或應(yīng)用服務(wù)器中的對(duì)象1.2 Java EE 1.2 Java EE 核心技術(shù)簡(jiǎn)介核心技術(shù)簡(jiǎn)介pJava EE的體系結(jié)構(gòu)的體系結(jié)構(gòu) 運(yùn)行在客戶端機(jī)器上的客戶層組件。如應(yīng)用客戶端程序和 Applets,是客戶層組件,它們可以直接訪問數(shù)據(jù)庫(kù) 運(yùn)行在 JavaEE 服務(wù)器上的 Web 層組件。Java Servlet 和 JavaServer Pag

14、es(JSP)是 Web層組件,它們也可以訪問數(shù)據(jù)庫(kù),運(yùn)行在服務(wù)器中的 Web 容器中 運(yùn)行在 JavaEE 服務(wù)器上的業(yè)務(wù)邏輯層組件。Enterprise JavaBeans(EJB)是業(yè)務(wù)層組件,也可以訪問數(shù)據(jù)庫(kù),運(yùn)行在服務(wù)器中的 EJB 容器中1.2 Java EE 1.2 Java EE 核心技術(shù)簡(jiǎn)介核心技術(shù)簡(jiǎn)介pJava EE的體系結(jié)構(gòu)的體系結(jié)構(gòu)應(yīng)用程序應(yīng)用程序客戶端客戶端動(dòng)態(tài)動(dòng)態(tài)HTML頁(yè)面頁(yè)面JAVA EE應(yīng)用程序應(yīng)用程序 1JAVA EE應(yīng)用程序應(yīng)用程序 2JSP頁(yè)面頁(yè)面企業(yè)企業(yè)Bean企業(yè)企業(yè)Bean數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)客戶層客戶層Web層層業(yè)務(wù)層業(yè)務(wù)層EIS 層層JAV

15、A EE 服務(wù)器機(jī)服務(wù)器機(jī)客戶機(jī)客戶機(jī)數(shù)據(jù)庫(kù)服務(wù)器機(jī)數(shù)據(jù)庫(kù)服務(wù)器機(jī)客戶層客戶層客戶層的組件在客戶機(jī)上運(yùn)行,客戶機(jī)客戶層的組件在客戶機(jī)上運(yùn)行,客戶機(jī)可以是筆記本電腦、臺(tái)式電腦、可以是筆記本電腦、臺(tái)式電腦、掌上電腦和移動(dòng)電話等掌上電腦和移動(dòng)電話等Web層層Web層組件在層組件在JAVA EE 服務(wù)器上運(yùn)行。服務(wù)器上運(yùn)行。Web 層對(duì)客戶層的請(qǐng)求做出處理及響應(yīng)層對(duì)客戶層的請(qǐng)求做出處理及響應(yīng)業(yè)務(wù)層在業(yè)務(wù)層在JAVA EE 服務(wù)器上運(yùn)行。服務(wù)器上運(yùn)行。 業(yè)務(wù)層實(shí)業(yè)務(wù)層實(shí)現(xiàn)了應(yīng)用程序的業(yè)務(wù)邏輯現(xiàn)了應(yīng)用程序的業(yè)務(wù)邏輯.服務(wù)器提供系統(tǒng)級(jí)服務(wù)器提供系統(tǒng)級(jí)服務(wù)服務(wù),如事務(wù)管理、安全性和并發(fā)控制如事務(wù)管理、安全性和

16、并發(fā)控制EIS 層組件在層組件在 EIS 服務(wù)器上運(yùn)行,服務(wù)器上運(yùn)行,表示企業(yè)數(shù)據(jù)信息表示企業(yè)數(shù)據(jù)信息EIS層層1.2 Java EE 1.2 Java EE 核心技術(shù)簡(jiǎn)介核心技術(shù)簡(jiǎn)介1.2 Java EE 1.2 Java EE 核心技術(shù)簡(jiǎn)介核心技術(shù)簡(jiǎn)介pJava EE 容器和組件容器和組件Java容器容器 分布性分布性 可伸縮性可伸縮性 可用性可用性 事務(wù)性事務(wù)性 安全性安全性 生命周期管理生命周期管理Java組件組件 表示表示JSP、Servlet 、Applet 業(yè)務(wù)邏輯業(yè)務(wù)邏輯EJB 數(shù)據(jù)訪問數(shù)據(jù)訪問EJB1.2 Java EE 1.2 Java EE 核心技術(shù)簡(jiǎn)介核心技術(shù)簡(jiǎn)介pJa

17、va EE平臺(tái)基于“容器”(container)的結(jié)構(gòu)提供必要的系統(tǒng)服務(wù)。p容器向使用Java編寫的面向?qū)ο髴?yīng)用程序組件提供運(yùn)行環(huán)境,并提供一系列的底層服務(wù),例如:安全、事務(wù)、生命周期管理、對(duì)象查找與緩存、持久化以及網(wǎng)絡(luò)通訊等等。p容器用來管理組件行為的一個(gè)集合工具,組件的行為包括與外部環(huán)境的交互、組件的生命周期、組件之間的合作依賴關(guān)系等等。1.2 Java EE 1.2 Java EE 核心技術(shù)簡(jiǎn)介核心技術(shù)簡(jiǎn)介pJava Java 容器作用容器作用 容器是一種運(yùn)行在服務(wù)器上的軟件實(shí)體容器是一種運(yùn)行在服務(wù)器上的軟件實(shí)體,用于管理特定類型的用于管理特定類型的組件組件,為開發(fā)的J2EE組件提供執(zhí)行

18、環(huán)境。 在一個(gè)組件被執(zhí)行前,必須被裝配到一個(gè)J2EE應(yīng)用程序中,并且部署到它們的容器部署到它們的容器。裝配的過程包括為J2EE應(yīng)用程序中的每一個(gè)組件以及J2EE應(yīng)用程序本身指定容器的設(shè)置指定容器的設(shè)置。 容器設(shè)置定制了由容器設(shè)置定制了由J2EEJ2EE服務(wù)器提供的底層支持服務(wù)器提供的底層支持,這將包括諸如安全性、事務(wù)管理、Java命名目錄接口(JNDI)搜尋以及遠(yuǎn)程序連接。 通過容器, J2EE體系結(jié)構(gòu)就能在開發(fā)和部署時(shí),在不同類型的中間層服務(wù)器間實(shí)現(xiàn)可移植性。 容器還負(fù)責(zé)管理部署在其中的組件的生命周期容器還負(fù)責(zé)管理部署在其中的組件的生命周期,及諸如資源匯集和強(qiáng)制執(zhí)行安全之類的工作。 依賴于容

19、器的類型,還可以訪問一些或全部J2EE API。1.2 Java EE 1.2 Java EE 核心技術(shù)簡(jiǎn)介核心技術(shù)簡(jiǎn)介pJava EEJava EE容器組成容器組成 Web容器:包括Jsp與Servlet組件,可使用EJB中的組件完成復(fù)雜的商務(wù)邏輯; EJB容器:包含組件EJB, EJB規(guī)范定義了一個(gè)開發(fā)和部署分布式商業(yè)邏輯的框架; Applet容器包含組件Applet,即可使用J2SE開發(fā)Applet; Application Client容器:包含組件Application Client。1.2 Java EE 1.2 Java EE 核心技術(shù)簡(jiǎn)介核心技術(shù)簡(jiǎn)介pJava EE 容器說明容

20、器說明nApplet 容器是運(yùn)行在客戶端機(jī)器上的web瀏覽器和Java 插件的結(jié)合。n應(yīng)用程序客戶端容器管理所有J2EE應(yīng)用程序中應(yīng)用程序客戶端組件的執(zhí)行。應(yīng)用程序客戶端和它們的容器運(yùn)行在客戶端機(jī)器上。nWeb容器管理所有J2EE 應(yīng)用程序中JSP頁(yè)面和Servlet組件的執(zhí)行。Web組件和它們的容器運(yùn)行在J2EE服務(wù)器上。nEJB 容器管理所有J2EE 應(yīng)用程序中企業(yè)級(jí)bean 的執(zhí)行。enterprise bean 和它們的容器運(yùn)行在J2EE服務(wù)器上。1.2 Java EE 1.2 Java EE 核心技術(shù)簡(jiǎn)介核心技術(shù)簡(jiǎn)介遠(yuǎn)程調(diào)用遠(yuǎn)程調(diào)用線程調(diào)度線程調(diào)度授權(quán)與驗(yàn)授權(quán)與驗(yàn)證證分布式管分布式管

21、理理Bean管理管理持久化管持久化管理理任務(wù)調(diào)度任務(wù)調(diào)度郵件服務(wù)郵件服務(wù)數(shù)據(jù)連接數(shù)據(jù)連接管理管理WS服務(wù)服務(wù)依賴注入依賴注入異步消息異步消息APOEJB容器容器EJBEJB規(guī)范規(guī)范servicesDAOSAOPOejb-jar.xml業(yè)務(wù)層業(yè)務(wù)層容器功容器功能總結(jié)能總結(jié)1.2 Java EE 1.2 Java EE 核心技術(shù)簡(jiǎn)介核心技術(shù)簡(jiǎn)介小孩的積木小孩的積木 積木塊積木塊組裝組裝成品成品JavaEE組件組件組件間協(xié)作組件間協(xié)作應(yīng)用程序應(yīng)用程序組件開發(fā)組件開發(fā)組件組件開發(fā)開發(fā)1.2 Java EE 1.2 Java EE 核心技術(shù)簡(jiǎn)介核心技術(shù)簡(jiǎn)介JavaEEJavaEE是基于組件開發(fā)是基于組件

22、開發(fā) 請(qǐng)求請(qǐng)求ServletJavaBeanJSP頁(yè)面頁(yè)面執(zhí)行執(zhí)行調(diào)用調(diào)用轉(zhuǎn)向轉(zhuǎn)向響應(yīng)響應(yīng)JSTL使用使用訪問訪問返回?cái)?shù)據(jù)返回?cái)?shù)據(jù)客戶端客戶端1.2 Java EE 1.2 Java EE 核心技術(shù)簡(jiǎn)介核心技術(shù)簡(jiǎn)介pJava EE 組件技術(shù)組件技術(shù) J2EEJ2EE應(yīng)用程序是由組件構(gòu)成的應(yīng)用程序是由組件構(gòu)成的。J2EEJ2EE組件是具有獨(dú)立功能的軟件單元,它們通過相關(guān)的類和文件組裝成J2EEJ2EE應(yīng)用程序,并與其他組件交互。pJavaEE的運(yùn)行環(huán)境定義了的運(yùn)行環(huán)境定義了4種類型的應(yīng)用組件:種類型的應(yīng)用組件:Applet客戶端Application客戶端Web組件EJB組件1.2 Java E

23、E 1.2 Java EE 核心技術(shù)簡(jiǎn)介核心技術(shù)簡(jiǎn)介pWeb 組件組件 Web 組件提供了對(duì)組件提供了對(duì)請(qǐng)求的響應(yīng)請(qǐng)求的響應(yīng) 它它包含包含Servlet 和和 JSP 兩個(gè)兩個(gè) Web 組件組件,它們?cè)冢鼈冊(cè)?Web 服務(wù)服務(wù)器上運(yùn)行器上運(yùn)行l(wèi) JavaEE其它核心技術(shù)其它核心技術(shù): EJB、 CORBA、 RMI、JSP、 Java Servlet、JavaBean、 JDBC、XML、 JNDI(Java Naming and Directory Interface)、 JMAPI(Java Management API)、 JTS/JTA(Java Transaction Servic

24、e/API)、 JMS( Java Messaging Service)、 Java Security API。1.2 Java EE 1.2 Java EE 核心技術(shù)簡(jiǎn)介核心技術(shù)簡(jiǎn)介1.2 Java EE 1.2 Java EE 核心技術(shù)簡(jiǎn)介核心技術(shù)簡(jiǎn)介1.2 Java EE 1.2 Java EE 核心技術(shù)簡(jiǎn)介核心技術(shù)簡(jiǎn)介p JavaEE核心核心技術(shù):技術(shù):EJB JavaEE的的基石基石EJB組件 EJB分為三種:會(huì)話EJB、實(shí)體EJB和消息驅(qū)動(dòng)EJBEJB容器 是EJB組件的運(yùn)行環(huán)境,為部署的EJB組件提供各種服務(wù)(事務(wù)、安全、遠(yuǎn)程客戶端的網(wǎng)絡(luò)發(fā)布、資源管理等)。容器廠商也可以在容器或

25、服務(wù)器中提供額外服務(wù)的接口。EJB服務(wù)器 管理EJB容器的高端進(jìn)程或應(yīng)用程序,并提供對(duì)系統(tǒng)服務(wù)的訪問。1.2 Java EE 1.2 Java EE 核心技術(shù)簡(jiǎn)介核心技術(shù)簡(jiǎn)介-EJB-EJBp EJB:企業(yè)級(jí)JavaBean(Enterprise JavaBean)是一個(gè)用來構(gòu)筑企業(yè)級(jí)應(yīng)用的服務(wù)器端可被管理組件組件。p Java EE API提供了對(duì)EJB的規(guī)范規(guī)范。EJB是一個(gè)封裝有某個(gè)應(yīng)用程序的業(yè)務(wù)邏輯服務(wù)器業(yè)務(wù)邏輯服務(wù)器端組件。p EJB最早于1997年由IBM提出,旋即被太陽微系統(tǒng)采用并形成標(biāo)準(zhǔn)(EJB 1.0 和EJB 1.1)。其后在JCPJCP(Java Community Pr

26、ocess)一系列JSRJSR(Java請(qǐng)求規(guī)范,Java Specification Request)被制訂來定義新的EJB標(biāo)準(zhǔn),分別是JSR 19 (EJB 2.0), JSR 153 (EJB 2.1) 以及最新的JSR 220 (EJB 3.0)。1.2 Java EE 1.2 Java EE 核心技術(shù)簡(jiǎn)介核心技術(shù)簡(jiǎn)介-EJB-EJBp EJB規(guī)范明確了一個(gè)應(yīng)用服務(wù)器應(yīng)當(dāng)支持的服務(wù),包括:數(shù)據(jù)持久化事務(wù)處理并發(fā)控制基于JMS的事件驅(qū)動(dòng)基于JNDI的名字和空間管理基于JCE和JAAS的安全管理應(yīng)用服務(wù)器端的軟件組件部署使用RMI-IIOP協(xié)議的遠(yuǎn)程過程調(diào)用將業(yè)務(wù)方法暴露為Web服務(wù)1.2

27、 Java EE 1.2 Java EE 核心技術(shù)簡(jiǎn)介核心技術(shù)簡(jiǎn)介-EJB-EJBp EJB容器可以接受三類EJB會(huì)話Bean(Session Beans)無狀態(tài)會(huì)話Bean(Stateless Session Beans)有狀態(tài)會(huì)話Bean(Stateful Session Beans)實(shí)體Bean(Entity Beans)消息驅(qū)動(dòng)Bean(Message Driven Beans ,MDBs)p EJB規(guī)范還定義了一個(gè)跨平臺(tái)的統(tǒng)一部署機(jī)制。部署描述符是一個(gè)XML文檔,文件名通常為ejb-jar.xml。負(fù)責(zé)為每一個(gè)EJB定義入口。部署描述符的主要內(nèi)容包括: Home接口名 Bean的Ja

28、va類名 Home接口的Java接口名 組件接口的Java接口名 持久化存儲(chǔ)(針對(duì)實(shí)體Bean) 安全策略和角色分配p EJB3.0起開始廣泛使用Java注釋替代傳統(tǒng)的部署描述符ejb-jar.xml。但后者仍然有效。1.2 Java EE 1.2 Java EE 核心技術(shù)簡(jiǎn)介核心技術(shù)簡(jiǎn)介-EJB-EJB1.2 Java EE 1.2 Java EE 核心技術(shù)簡(jiǎn)介核心技術(shù)簡(jiǎn)介p Java EE 其它核心技術(shù)其它核心技術(shù)RMI(Remote Method Invoke):RMI 協(xié)議調(diào)用遠(yuǎn)程對(duì)象上的方法,是被 EJB 使用的更底層的協(xié)議;XML(Extensible Markup Languag

29、e):XML 是一種標(biāo)記語言,它被用來在不同的商務(wù)過程中共享數(shù)據(jù),或者對(duì)系統(tǒng)功能進(jìn)行配置;JMS(Java Message Service):JMS 是用于和面向消息的中間件相互通信的應(yīng)用程序接口1.2 Java EE 1.2 Java EE 核心技術(shù)簡(jiǎn)介核心技術(shù)簡(jiǎn)介JTA(Java Transaction Architecture):JTA 定義了一種標(biāo)準(zhǔn)的 API,應(yīng)用系統(tǒng)由此可以訪問各種事務(wù) JavaMail 和 JAF(JavaBeans Activation Framework):JavaMail 是用于存取郵件服務(wù)器的 API,JavaMail 利用 JAF 來處理 MIME 編碼

30、的郵件附件1.2 Java EE 1.2 Java EE 核心技術(shù)簡(jiǎn)介核心技術(shù)簡(jiǎn)介JSP(Java Server Pages):JSP 頁(yè)面由 HTML 代碼和嵌入其中的 Java 代碼所組成。服務(wù)器在頁(yè)面被客戶端所請(qǐng)求以后,對(duì)這些 Java 代碼進(jìn)行處理,然后將生成的 HTML 頁(yè)面返回給客戶端的瀏覽器 Java Servlet: Servlet 是一種小型的 Java 程序,是比 JSP 更加底層的組件,完成的功能和 JSP 類似1.3 Servlet1.3 Servlet基本知識(shí)基本知識(shí)p 理解HTTP Servlet 基礎(chǔ)知識(shí)p 使用 Servlet APIp 理解Servlet 的生

31、命周期1.3 Servlet1.3 Servlet基本知識(shí)基本知識(shí)p CGI 的工作過程的工作過程瀏瀏覽覽器器Http Require setstatic htmlCGI 進(jìn)程進(jìn)程1CGI 進(jìn)程進(jìn)程2 1.3 Servlet1.3 Servlet基本知識(shí)基本知識(shí)p Servlet 的工作過程瀏瀏覽覽器器Http Require setstatic htmlServlet 實(shí)例實(shí)例線程線程1線程線程21.3 Servlet1.3 Servlet基本知識(shí)基本知識(shí)1“程序”代表一個(gè)靜態(tài)的對(duì)象,是內(nèi)含指令和數(shù)據(jù)的文件,存儲(chǔ)在磁盤或其他存儲(chǔ)設(shè)備中 2“進(jìn)程”代表一個(gè)動(dòng)態(tài)的對(duì)象,是程序的一個(gè)執(zhí)行過程,存在

32、于系統(tǒng)的內(nèi)存中。一個(gè)進(jìn)程對(duì)應(yīng)于一個(gè)程序3“線程”是運(yùn)行于某個(gè)進(jìn)程中,用于完成某個(gè)具體任務(wù)的順序控制流程,有時(shí)被稱為輕型進(jìn)程。1.3 Servlet1.3 Servlet基本知識(shí)基本知識(shí)p Servlet與CGI的對(duì)比:CGI采用多進(jìn)程的方式為并發(fā)客戶請(qǐng)求服務(wù)Servlet采用多線程的方式為并發(fā)客戶請(qǐng)求服務(wù)進(jìn)程占有獨(dú)立的資源,運(yùn)行快,但啟動(dòng)慢線程共享進(jìn)程的資源,啟動(dòng)快,資源沖突時(shí)速度慢并發(fā)客戶端量大時(shí),多線程因共享資源而占有很大優(yōu)勢(shì)1.3 Servlet1.3 Servlet基本知識(shí)基本知識(shí)p Servlet定義定義 是一個(gè) Java程序,是在服務(wù)器上運(yùn)行以處理客戶端請(qǐng)求并做出響應(yīng)的程序,是按照

33、Servlet規(guī)范編寫的java類。IE瀏覽器瀏覽器Servlet引擎引擎Servlet模塊模塊請(qǐng)請(qǐng)求求響響應(yīng)應(yīng)HTTP請(qǐng)求請(qǐng)求HTTP響應(yīng)響應(yīng)客戶端客戶端WEB服務(wù)器服務(wù)器1.3 Servlet1.3 Servlet基本知識(shí)基本知識(shí)p 整個(gè)處理流程如下整個(gè)處理流程如下: HTTP請(qǐng)求:客戶將客戶請(qǐng)求發(fā)送給Servlet引擎; 請(qǐng)求:Servlet引擎將請(qǐng)求轉(zhuǎn)發(fā)送給處理請(qǐng)求的Servlet模塊; 響應(yīng):Servlet模塊接受請(qǐng)求后,調(diào)用相應(yīng)的服務(wù)(service()對(duì)請(qǐng)求進(jìn)行處理,然后將處理結(jié)果返回給Servlet引擎。 HTTP響應(yīng):Servlet引擎將結(jié)果發(fā)送給客戶端。1.3 Servle

34、t1.3 Servlet基本知識(shí)基本知識(shí)p ServletAPI Servlet的框架是由兩個(gè)java包組成: javax.servlet和javax.servlet.http javax.servlet包中定義了所有的servlet類都必須實(shí)現(xiàn)的接口和類。 javax.servlet.http包中定義了采用HTTP協(xié)議通信的HttpServlet類pServlet的框架的核心核心是:javax.servlet.Servlet接口,所有的Servlet都必須實(shí)現(xiàn)這一接口.1.3 Servlet1.3 Servlet基本知識(shí)基本知識(shí)p HttpServlet 類提供一個(gè)抽象類以創(chuàng)建 HTTP S

35、ervletpublic void doGet(HttpServletRequest req, HttpServletResponse res)doGet() 方法處理客戶端作出的 GET 請(qǐng)求。public void doPost(HttpServletRequest req, HttpServletResponse res)doPost() 方法處理客戶端作出的 POST 請(qǐng)求。Form表單處理表單處理1.3 Servlet1.3 Servlet基本知識(shí)基本知識(shí)p ServletRequest接口中封裝了客戶請(qǐng)求信息.如客戶請(qǐng)求方式,參數(shù)名,參數(shù)值,客戶端正在使用的協(xié)議,以及發(fā)出客戶請(qǐng)求的

36、遠(yuǎn)程主機(jī)信息等p ServletResponse接口為Servlet提供了返回相應(yīng)結(jié)果的方法1.3 Servlet1.3 Servlet基本知識(shí)基本知識(shí)p javax.servlet 包的接口為:ServletConfig 接口在初始化的過程中由 Servlet 容器使用ServletContext 接口定義 Servlet 用于獲取來自其容器的信息的方法 ServletRequest 接口 向服務(wù)器請(qǐng)求信息 ServletResponse 接口 響應(yīng)客戶端請(qǐng)求1.3 Servlet1.3 Servlet基本知識(shí)基本知識(shí)ServletInputStream 類用于從客戶端讀取二進(jìn)制數(shù)據(jù)Serv

37、letOutputStream 類用于將二進(jìn)制數(shù)據(jù)發(fā)送到客戶端1.3 Servlet1.3 Servlet基本知識(shí)基本知識(shí)p javax.servlet.http 包的接口為:HttpServletRequest 接口 提供 HTTP 請(qǐng)求信息HttpServletResponse 接口 提供 HTTP 響應(yīng)1.3 Servlet1.3 Servlet基本知識(shí)基本知識(shí)pServlet 部署在容器里,生命周期由容器管理pServlet 的生命周期就是指創(chuàng)建 Servlet 實(shí)例之后其存在的時(shí)間以及何時(shí)消失pServlet的生命周期概括為以下幾個(gè)階段:裝載Servlet:這項(xiàng)操作一般是動(dòng)態(tài)執(zhí)行的;

38、創(chuàng)建一個(gè)Servlet實(shí)例;調(diào)用Servlet的init()方法;服務(wù):如果容器接收到對(duì)此Servlet的請(qǐng)求,那么它調(diào)用Servlet的service()方法;銷毀:實(shí)例被銷毀,通過調(diào)用Servlet的destory()方法來銷毀servlet。1.3 Servlet1.3 Servlet基本知識(shí)基本知識(shí)Servlet 引擎引擎Servlet 實(shí)例實(shí)例第一次請(qǐng)求時(shí)創(chuàng)建實(shí)例第一次請(qǐng)求時(shí)調(diào)用init()方法調(diào)用service()方法銷毀實(shí)例時(shí)調(diào)用destroy()方法Servlet 的生命周期的生命周期1.3 Servlet1.3 Servlet基本知識(shí)基本知識(shí)p 生命周期的各個(gè)階段為:1.3

39、Servlet1.3 Servlet基本知識(shí)基本知識(shí)p 生命周期的 3個(gè)方法為: init()service()destroy()1.3 Servlet1.3 Servlet基本知識(shí)基本知識(shí)p init()在Servlet的生命周期中,僅執(zhí)行一次init方法,是在服務(wù)器裝入Servlet時(shí)執(zhí)行的缺省的init()方法設(shè)置了Servlet的初始化參數(shù),并用它的ServletConfig對(duì)象參數(shù)來啟動(dòng)配置Public void init(ServletConfig config) throws ServletException1.3 Servlet1.3 Servlet基本知識(shí)基本知識(shí)p serv

40、ice()1. 在調(diào)用service()方法之前,應(yīng)確保已完成init()方法2. service()方法是Servlet的核心。 每當(dāng)一個(gè)客戶請(qǐng)求一個(gè)HttpServlet對(duì)象,該對(duì)象的service()方法就被調(diào)用;3. 當(dāng)一個(gè)客戶通過HTML表單發(fā)出一個(gè)HTTP POST請(qǐng)求時(shí),doPost()方法被調(diào)用4. 當(dāng)一個(gè)客戶通過HTML表單發(fā)出一個(gè)HTTP GET請(qǐng)求或者直接請(qǐng)求一個(gè)URL時(shí),doGet()方法被調(diào)用1.3 Servlet1.3 Servlet基本知識(shí)基本知識(shí)1.3 Servlet1.3 Servlet基本知識(shí)基本知識(shí)p destroy()在服務(wù)器停止且卸裝Servlet時(shí)執(zhí)

41、行該方法當(dāng)服務(wù)器卸裝Servlet時(shí),將在所有service()方法調(diào)用完成后,或在指定的時(shí)間間隔過后調(diào)用destroy()方法Public void destroy()1.4 1.4 框架模式框架模式使用使用MVCMVC框架的原因框架的原因p 在早期使用JSP技術(shù)開發(fā)WEB項(xiàng)目時(shí),程序員通過在HTML中嵌入Java代碼和一些標(biāo)簽,來實(shí)現(xiàn)動(dòng)態(tài)網(wǎng)頁(yè)。顯然這種開發(fā)的表現(xiàn)層和業(yè)務(wù)處理層是混雜在一起的,其優(yōu)點(diǎn)是簡(jiǎn)單直觀,易于搭建原型,但比較適宜開發(fā)只有幾個(gè)頁(yè)面的小型項(xiàng)目。p 在大型WEB項(xiàng)目的開發(fā)中,將程序代碼分割成帶有清晰功能的組件是一種更好的方式。MVC框架將網(wǎng)頁(yè)內(nèi)容的產(chǎn)生,網(wǎng)頁(yè)內(nèi)容的顯示,業(yè)務(wù)對(duì)

42、象的處理劃分為3個(gè)相對(duì)獨(dú)立的層,因而可以很方便地實(shí)現(xiàn)表現(xiàn)層和業(yè)務(wù)處理層的分離。同時(shí)這也使得網(wǎng)頁(yè)制作人員和軟件開發(fā)人員之間可以有明確的分工。p 單獨(dú)使用JSP或JSP+JavaBean稱為Model1。p Model1中JSP頁(yè)面響應(yīng)請(qǐng)求并返回結(jié)果,同時(shí)充當(dāng)視圖和控制器,未能實(shí)現(xiàn)視圖和業(yè)務(wù)邏輯完全分離,盡管十分簡(jiǎn)單但不適合大型應(yīng)用開發(fā),給網(wǎng)頁(yè)設(shè)計(jì)和維護(hù)帶來很多麻煩。1. 客戶端請(qǐng)求由JSP頁(yè)面接受。2. JavaBean處理業(yè)務(wù)邏輯,由JSP決定與不同JavaBean交互。3. JavaBean與數(shù)據(jù)持久層交互,由業(yè)務(wù)邏輯操作并改變其狀態(tài)。4. 由JSP將改變的結(jié)果響應(yīng)到客戶端。1.4 1.4

43、框架模式框架模式Model 1 Model 1 客戶端客戶端JSPJavaBean數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)1234JSP和Servlet可以一起使用來部署Web 應(yīng)用。Servlet負(fù)責(zé)控制流管理,而 JSP 則專注于顯示邏輯(編寫HTML)。結(jié)合使用JSP和Servlet的開發(fā)模式被稱為Model2,該模式又叫做MVC模式。1. Servlet接受客戶端請(qǐng)求。2. Servlet處理請(qǐng)求并調(diào)用不同的JavaBean。3. JavaBean與數(shù)據(jù)持久層交互,由業(yè)務(wù)邏輯操作并改變其狀態(tài)。4. 由Servlet將處理后的JavaBean模型傳遞給JSP頁(yè)面。5. 由JSP將后端處理結(jié)果展示到客戶端。1.4 1

44、.4 框架模式框架模式 Model 2 Model 2客戶端客戶端JSPJavaBean數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)1234Servlet51.4 1.4 框架模式框架模式 Model2 Model2工作機(jī)制工作機(jī)制p 由Servlet通過request.SetAttribute方式與JSP通信,負(fù)責(zé)請(qǐng)求管理以及調(diào)用相關(guān)的業(yè)務(wù)邏輯。p 而JSP則通過request.getAttribute方式獲得所需要的Model信息,并最終顯示在JSP頁(yè)面上。p 這是最基本的MVC Model2,也是一種責(zé)任的劃分,實(shí)現(xiàn)了各組件間的松散耦合,以后的Struts、Spring 的MVC都是基于這樣的理念。1.4 1.4 框架

45、模式框架模式841.4 1.4 框架模式框架模式設(shè)計(jì)模式的定義設(shè)計(jì)模式的定義p 什么是設(shè)計(jì)模式什么是設(shè)計(jì)模式是一套被反復(fù)使用、多數(shù)人知曉的、代碼設(shè)計(jì)經(jīng)驗(yàn)的總結(jié)模式必須是典型問題(不是個(gè)別問題)的解決方案p 設(shè)計(jì)模式的作用設(shè)計(jì)模式的作用解決一類問題的成功經(jīng)驗(yàn)是為了可重用代碼、讓代碼更容易被他人理解、保證代碼可靠性1.4 1.4 框架模式框架模式 MVC MVC框架簡(jiǎn)介框架簡(jiǎn)介p 不同的體系結(jié)構(gòu)的web應(yīng)用程序可能需要不同的開發(fā)模式。MVC是一種軟件設(shè)計(jì)模式,最初是為SMALLTALK-80語言提出的,后來在JSP開發(fā)中漸漸得到廣泛的應(yīng)用,并且成為Sun公司推薦的J2EE平臺(tái)的設(shè)計(jì)模式。Sun公司

46、提出的Model2開發(fā)模型就是基于MVC設(shè)計(jì)模式的應(yīng)用。p MVC框架支持大多數(shù)現(xiàn)代圖形用戶界面。在Web應(yīng)用程序開發(fā)中,MVC框架應(yīng)用非常廣泛,特別適合應(yīng)用在大型的、比較復(fù)雜的項(xiàng)目開發(fā)中。p MVC(Model-View-Controller),即模型-視圖-控制器是當(dāng)前最為流行的Web開發(fā)模式,它把應(yīng)用程序分成三個(gè)核心模塊:模型、視圖、控制器,它們各自處理自己的任務(wù)。MVC MVC 設(shè)計(jì)模式框架是什么設(shè)計(jì)模式框架是什么p MVC 設(shè)計(jì)模式、思想、目的設(shè)計(jì)模式、思想、目的MVC設(shè)計(jì)模式即是模型視圖-控制器(Model-View-Controller)設(shè)計(jì)模式。其中M代表Model,V代表Vi

47、ew,C代表Controller。MVC的核心思想是將一個(gè)應(yīng)用程序的數(shù)據(jù)業(yè)務(wù)處理功能(模型層),表示功能(視圖層)和控制功能(控制層)在3個(gè)不同的部分(也叫層)上分別實(shí)現(xiàn)。MVC的目的是增強(qiáng)代碼的復(fù)用性,降低數(shù)據(jù)描述和應(yīng)用操作的可耦合度,并提高代碼的可讀性。同時(shí)也可以使軟件的可維護(hù)性,可修復(fù)性,靈活性和封裝性提高871.4 1.4 框架模式框架模式 MVC MVC設(shè)計(jì)模式設(shè)計(jì)模式MVCMVC設(shè)計(jì)模式設(shè)計(jì)模式模型 - Model視圖 - View控制器 - ControllerMVC 模式模式控制器控制器模型模型視圖視圖JavaBeanJSPServlet1.4 1.4 框架模式框架模式V(視圖

48、)Login.jspsuccess.jspfailure.jspC(控制器)LogServletM(模型)userbean請(qǐng)求成功調(diào)用返回失敗用戶登用戶登錄應(yīng)用錄應(yīng)用p 模型(模型(ModelModel)封裝了內(nèi)核功能和數(shù)據(jù)封裝了內(nèi)核功能和數(shù)據(jù)業(yè)務(wù)邏輯(軟件的核心)業(yè)務(wù)邏輯(軟件的核心)數(shù)據(jù)以及訪問它們的函數(shù)(視圖組件使用)數(shù)據(jù)以及訪問它們的函數(shù)(視圖組件使用)執(zhí)行特定應(yīng)用程序處理的過程(控制器代表用戶調(diào)用)執(zhí)行特定應(yīng)用程序處理的過程(控制器代表用戶調(diào)用)模型對(duì)于用戶來說是不可見的模型對(duì)于用戶來說是不可見的(M(M與與V V獨(dú)立獨(dú)立) )模型獨(dú)立于特定輸出表示或者輸入方式模型獨(dú)立于特定輸出表示

49、或者輸入方式(M(M與與C C獨(dú)立獨(dú)立) )用戶只能通過控制器操作模型用戶只能通過控制器操作模型(C(C是是M M與與V V之間的橋梁之間的橋梁) )1.4 1.4 框架模式框架模式1.4 1.4 框架模式框架模式p 變更變更- -傳播機(jī)制傳播機(jī)制(1)(1)一個(gè)模型可對(duì)應(yīng)多個(gè)視圖一個(gè)模型可對(duì)應(yīng)多個(gè)視圖 如果用戶通過一個(gè)視圖的控制器改變了模型中的數(shù)如果用戶通過一個(gè)視圖的控制器改變了模型中的數(shù)據(jù),那么依賴于該數(shù)據(jù)的其他視圖也應(yīng)該反映出這樣據(jù),那么依賴于該數(shù)據(jù)的其他視圖也應(yīng)該反映出這樣的變化的變化 一旦模型的數(shù)據(jù)發(fā)生了變化,模型需要通知所有相一旦模型的數(shù)據(jù)發(fā)生了變化,模型需要通知所有相關(guān)的視圖做出

50、相應(yīng)的變化關(guān)的視圖做出相應(yīng)的變化維護(hù)數(shù)據(jù)的一致性維護(hù)數(shù)據(jù)的一致性1.4 1.4 框架模式框架模式p 變更變更-傳播機(jī)制傳播機(jī)制(2)p 工作原理:工作原理:模型維護(hù)了一個(gè)表的視圖和控制器都會(huì)收到變更通知模型維護(hù)了一個(gè)表的視圖和控制器都會(huì)收到變更通知所有視圖還有一些控制器在這個(gè)表中登記了對(duì)變更通所有視圖還有一些控制器在這個(gè)表中登記了對(duì)變更通知的需求知的需求模型狀態(tài)的改變將觸發(fā)變更模型狀態(tài)的改變將觸發(fā)變更-傳播機(jī)制,每個(gè)在表中登傳播機(jī)制,每個(gè)在表中登記記1.4 1.4 框架模式框架模式p 視圖(視圖(View)向用戶顯示信息向用戶顯示信息不同的視圖使用不同的方法呈現(xiàn)信息不同的視圖使用不同的方法呈現(xiàn)信息每個(gè)視圖組件都有一個(gè)更新函數(shù),這個(gè)函數(shù)被模型變每個(gè)視圖組件都有一個(gè)更新函數(shù),這個(gè)函數(shù)被模型變更通知激活更通知激活這個(gè)函數(shù)被激活(此時(shí)模型已經(jīng)改變)后,將使得視這個(gè)函數(shù)被激活(此時(shí)模型已經(jīng)改變)后,將使得視圖重新和模型一致圖重新和模型一致在初始化階段,視圖向模型登記請(qǐng)求變更通知(表)在初始化階段,視圖向模型登記請(qǐng)求變更通知(表)p 從模型獲得數(shù)據(jù)從模型獲得數(shù)據(jù)通過狀態(tài)查詢函數(shù)實(shí)現(xiàn)通過狀態(tài)查詢函數(shù)實(shí)現(xiàn)例如:定時(shí)刷新例如:定

溫馨提示

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

評(píng)論

0/150

提交評(píng)論