票務(wù)系統(tǒng)架構(gòu)設(shè)計(jì)案例分析教學(xué)資料_第1頁(yè)
票務(wù)系統(tǒng)架構(gòu)設(shè)計(jì)案例分析教學(xué)資料_第2頁(yè)
票務(wù)系統(tǒng)架構(gòu)設(shè)計(jì)案例分析教學(xué)資料_第3頁(yè)
票務(wù)系統(tǒng)架構(gòu)設(shè)計(jì)案例分析教學(xué)資料_第4頁(yè)
票務(wù)系統(tǒng)架構(gòu)設(shè)計(jì)案例分析教學(xué)資料_第5頁(yè)
已閱讀5頁(yè),還剩41頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、功能需求功能說(shuō)明客戶信息管理用戶的創(chuàng)建、登錄、刪除和維護(hù)票務(wù)信息管理票務(wù)的添加、刪除和維護(hù)票務(wù)查詢查看相應(yīng)的票務(wù)信息預(yù)定購(gòu)票票務(wù)的預(yù)定、購(gòu)買和取消 非功能需求質(zhì)量屬性說(shuō)明性能用戶訪問(wèn)的系統(tǒng)應(yīng)該能在規(guī)定的時(shí)間內(nèi)做出響應(yīng),如果系統(tǒng)由于網(wǎng)絡(luò)或者數(shù)據(jù)庫(kù)原因不能在規(guī)定時(shí)間內(nèi)做出反應(yīng),那么系統(tǒng)應(yīng)該提出警告,不能出現(xiàn)用戶無(wú)故長(zhǎng)時(shí)間等待的情況。 安全性在web數(shù)據(jù)庫(kù)客戶端,web服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器之間,都應(yīng)該有防火墻保護(hù),防止網(wǎng)絡(luò)上的非法數(shù)據(jù)請(qǐng)求。 易用性不同的用戶應(yīng)該能夠以不同形式訪問(wèn)不同的內(nèi)容 可用性系統(tǒng)提供7X24小時(shí)的服務(wù),且很少停機(jī) 可測(cè)試性系統(tǒng)是的各部分易于單獨(dú)測(cè)試,并能方便地進(jìn)行整體測(cè)試 6.

2、2.1 定義系統(tǒng) 根據(jù)業(yè)務(wù)的功能需求,該系統(tǒng)主要的涉眾有系統(tǒng)管理人員和客戶,系統(tǒng)管理人員又分為票務(wù)管理人員和用戶管理人員。票務(wù)管理人員會(huì)對(duì)票務(wù)信息進(jìn)行相關(guān)維護(hù),用戶管理人員對(duì)客戶信息進(jìn)行相關(guān)的維護(hù)。由此得出系統(tǒng)角色,分析其對(duì)系統(tǒng)的具體要求,并找出系統(tǒng)的各個(gè)用例。用例說(shuō)明票務(wù)信息查詢用戶輸入相關(guān)查詢條件信息,查看到相關(guān)票務(wù)的具體信息,當(dāng)查詢條件不符合規(guī)定時(shí),系統(tǒng)給出相應(yīng)提示。票務(wù)操作用戶根據(jù)查詢出來(lái)的票務(wù)信息對(duì)票務(wù)信息進(jìn)行預(yù)訂,購(gòu)買,取消等操作票務(wù)信息維護(hù)票務(wù)管理員對(duì)票務(wù)信息進(jìn)行維護(hù),如添加,刪除等用戶信息維護(hù)用戶管理員根據(jù)用戶資料,維護(hù)系統(tǒng)中記錄的用戶相關(guān)信息。 根據(jù)上述分析,可以得到系統(tǒng)用例

3、視圖: 6.2.2 細(xì)化定義 (1) 細(xì)化用例 細(xì)化業(yè)務(wù)用例模型,是為了更加詳細(xì)地分析和描述用例。同時(shí),將業(yè)務(wù)用例模型轉(zhuǎn)換成系統(tǒng)的用例模型。下面,以“角色”用戶進(jìn)行票務(wù)購(gòu)買為例。要素說(shuō)明用例名稱用戶購(gòu)買票務(wù)簡(jiǎn)要描述用戶根據(jù)當(dāng)前票務(wù)信息購(gòu)買相應(yīng)票務(wù)事件流基本事件流 (1)用戶在購(gòu)票的名稱欄中輸入要購(gòu)買的票務(wù)的起始地與目的地(2)系統(tǒng)根據(jù)客戶輸入,列出相應(yīng)的票務(wù)信息 細(xì)化用例后,還需對(duì)用例進(jìn)行詳細(xì)描述,直到所有涉眾都認(rèn)可描述的內(nèi)容已經(jīng)能夠正確表達(dá)出他們的需求為止。在RUP方法論中指明通過(guò)闡述一個(gè)用例的名稱、簡(jiǎn)要描述、事件流、特殊需求、前置條件和后置條件等六個(gè)方面可以對(duì)用例進(jìn)行描述。下面以用例“用戶

4、購(gòu)買票務(wù)”為例細(xì)化描述。要素說(shuō)明事件流(3)用戶根據(jù)自己的實(shí)際情況選擇符合自己相應(yīng)條 件的票務(wù),如票價(jià)、時(shí)間等。(4)系統(tǒng)顯示購(gòu)買成功,或者顯示交易失敗。(5)該“用戶購(gòu)買票務(wù)”用例結(jié)束?!坝脩糍?gòu)買票務(wù)”用例細(xì)化描述(續(xù))要素說(shuō)明備選事件流系統(tǒng)查詢不到票務(wù)相關(guān)信息,則按下一步步驟進(jìn)行:(1)提示用戶票務(wù)交易無(wú)法進(jìn)行,并給出交易失敗原因(2)其次,撤銷此次交易的記錄。特殊需求系統(tǒng)不可偽造數(shù)據(jù),交易失敗原因要合理并且詳盡“用戶購(gòu)買票務(wù)”用例細(xì)化描述(續(xù))要素說(shuō)明前置條件用戶必須先登陸后置條件交易成功后數(shù)據(jù)庫(kù)及時(shí)更新票務(wù)信息“用戶購(gòu)買票務(wù)”用例細(xì)化描述(續(xù)) 上面對(duì)用例的描述僅限于文字描述,還不夠形

5、象。再以活動(dòng)圖的形式進(jìn)行建模描述如下: (2) 結(jié)構(gòu)化用例 結(jié)構(gòu)化用例的目的是通過(guò)觀察這些已經(jīng)細(xì)化的用例,看能不能抽取出共有的、可選的行為,把這些共同的內(nèi)容建立為新的用例。這樣的好處是,可以消除冗余的需要以及改善系統(tǒng)整體需求內(nèi)容的可維護(hù)性。像“用戶信息維護(hù)”用例中,“查詢用戶信息”應(yīng)作為一個(gè)新的用例提取出來(lái),以提高上面所說(shuō)的需求內(nèi)容的可維護(hù)性。6.3 系統(tǒng)架構(gòu)設(shè)計(jì) 將需求內(nèi)容轉(zhuǎn)換成設(shè)計(jì)模型的雛形以及用戶體驗(yàn)?zāi)P?,其目的是建立整個(gè)系統(tǒng)初步的解決方案,為詳細(xì)設(shè)計(jì)活動(dòng)打下基礎(chǔ),這一階段的具體活動(dòng)如下:6.3.1 體系結(jié)構(gòu)的選擇 早期的票務(wù)系統(tǒng)僅僅針對(duì)售票單位,只是簡(jiǎn)單的數(shù)量控制,票務(wù)記錄。而新的票務(wù)

6、系統(tǒng)不僅僅具有以前的所有功能,還利用網(wǎng)絡(luò)將客戶包括近來(lái)。方便客戶進(jìn)行操作,利用網(wǎng)絡(luò)可以讓客戶在任何有網(wǎng)絡(luò)的地方就可以直接連入系統(tǒng)。又由于計(jì)算機(jī)的支持,數(shù)據(jù)庫(kù)中有所有客戶的信息,可以方便售票方對(duì)客戶進(jìn)行管理,提供更好的服務(wù)。 本系統(tǒng)采用基于B/S的分層結(jié)構(gòu)。這種結(jié)構(gòu)有如下特點(diǎn):節(jié)省投資、跨地域廣;維護(hù)和升級(jí)方式簡(jiǎn)單,如果想對(duì)功能修改,可以方便的進(jìn)行更改,大大減少維護(hù)成本。 系統(tǒng)的結(jié)構(gòu)視圖如下: 在J2EE開(kāi)發(fā)中,搭配良好的框架可以降低開(kāi)發(fā)人員解決復(fù)雜問(wèn)題的難度,而如何將框架整合起來(lái),以使每一層都向另外的層次以松散的方式來(lái)提供接口,同時(shí)讓組合的三個(gè)框架在每一層都以一種松耦合的方式彼此溝通,從而與低

7、層的技術(shù)透明無(wú)關(guān),這就是框架分析的目的和要求。 所以我們把Structs、Hibernate和Spring組合起來(lái)的目標(biāo)就是希望能實(shí)現(xiàn)系統(tǒng)的“低耦合、高內(nèi)聚”。也就是要求系統(tǒng)易于維護(hù)、易于適應(yīng)變更、可重用性的特點(diǎn)。 根據(jù)前期對(duì)需求的分析,決定采用基于SSH框架來(lái)構(gòu)建此分布式的信息管理系統(tǒng)。SSH多層的構(gòu)架模式,從上到下依次為視圖層、控制器層、模型層、持久化層和數(shù)據(jù)庫(kù)層,如下圖所示:框架講解: 視圖層:職責(zé)是提供控制器,將頁(yè)面的請(qǐng)求委派給其他層進(jìn)行處理,為顯示提供業(yè)務(wù)數(shù)據(jù)模型。 控制層:職責(zé)是按預(yù)定的業(yè)務(wù)邏輯處理視圖層提交的請(qǐng)求。 (1) 處理業(yè)務(wù)邏輯和業(yè)務(wù)校驗(yàn) (2) 事務(wù)管理 (3) 管理業(yè)

8、務(wù)層對(duì)象間的依賴關(guān)系 (4) 向表示層提供具體業(yè)務(wù)服務(wù)的實(shí)現(xiàn)類 模型層:職責(zé)是將模型的狀態(tài)轉(zhuǎn)交視圖層,以提供頁(yè)面給瀏覽器。 數(shù)據(jù)持久層:職責(zé)是建立持久化類及其屬性與數(shù)據(jù)庫(kù)中表及其字段的對(duì)應(yīng)關(guān)系。提供簡(jiǎn)化SQL語(yǔ)句的機(jī)制。實(shí)現(xiàn)基本的數(shù)據(jù)操作(增、刪、讀、改) 數(shù)據(jù)庫(kù)層:數(shù)據(jù)庫(kù)的建立與管理。 規(guī)則(約束): (1)系統(tǒng)各層次及層內(nèi)部子層次之間都不得跨層調(diào)用。 (2) 由bean傳遞模型狀態(tài)。 (3)需要在表示層綁定到列表的數(shù)據(jù)采用基于關(guān)系的數(shù)據(jù)集傳遞。 (4)對(duì)于每一個(gè)數(shù)據(jù)庫(kù)表(Table)都有一個(gè)DB Entity class與之對(duì)應(yīng),由Hibernate完成映射。 (5)有些跨數(shù)據(jù)庫(kù)或跨表的操

9、作(如復(fù)雜的聯(lián)合查詢)也需要由Hibernate來(lái)提供支持。 (6) 表示層和控制層禁止出現(xiàn)任何SQL語(yǔ)句。SSH框架介紹: 視圖層、控制器層用Structs框架來(lái)實(shí)現(xiàn),模型層的功能Spring來(lái)完成。持久化層時(shí)使用Hibernate實(shí)現(xiàn),在這層使用了DAO模式。 Structs應(yīng)用MVC模型使頁(yè)面展現(xiàn)與業(yè)務(wù)邏輯分離,做到了頁(yè)面展現(xiàn)與業(yè)務(wù)邏輯的低耦合。當(dāng)充當(dāng)表示層的頁(yè)面需要變更時(shí),只需要修改該具體的頁(yè)面,不影響業(yè)務(wù)邏輯Bean等;同樣,業(yè)務(wù)邏輯需要變更的時(shí)候,只需要修改相應(yīng)的Java程序。 使用Spring能運(yùn)用IoC技術(shù)來(lái)降低了業(yè)務(wù)邏輯中各個(gè)類的相互依賴:假如,類A因?yàn)樾枰δ蹻而調(diào)用類B,

10、在通常的情況下類A需要引用類B,因而類A就依賴于類B了,也就是說(shuō)當(dāng)類B不存在的時(shí)候類A就無(wú)法使用了。使用了IoC,類A調(diào)用的僅僅是實(shí)現(xiàn)了功能F的接口的某個(gè)類,這個(gè)類可能是類B,也可能是類C,由Spring的XML配置文件來(lái)決定。這樣,類A就不再依賴與類B,耦合度降低,重用性得以提高。 使用Hibernate能讓業(yè)務(wù)邏輯與數(shù)據(jù)持久化分離,就是將數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù)的操作分離。在業(yè)務(wù)邏輯中只需要將數(shù)據(jù)放到值對(duì)象中,然后交給Hibernate,或者從Hibernate那里得到值對(duì)象。至于用DB2、 Oracle、MySQL還是SQL Server,如何執(zhí)行的操作,與具體的系統(tǒng)無(wú)關(guān),只需在Hibernat

11、e的相關(guān)的XML文件里根據(jù)具體系統(tǒng)配置好。 現(xiàn)在我們通過(guò)下表來(lái)看看構(gòu)架是如何來(lái)滿足系統(tǒng)的關(guān)鍵質(zhì)量屬性需求。6.3.2 系統(tǒng)架構(gòu)的分析與設(shè)計(jì)1 質(zhì)量場(chǎng)景 1)性能場(chǎng)景:在系統(tǒng)處于高峰時(shí)期,保證登陸的每個(gè)顧客所作的選擇和查詢的響應(yīng)時(shí)間能在5s以內(nèi),如果需要等待則給出有友好的提示。系統(tǒng)可以保證以最快速度同時(shí)響應(yīng)500個(gè)用戶的操作。 制品:制品:系統(tǒng)刺激:刺激:提交請(qǐng)求響應(yīng):響應(yīng):請(qǐng)求被正確處理環(huán)境:環(huán)境:在正常操作下1 2 3響應(yīng)度量:響應(yīng)度量:平均等待時(shí)間在5秒內(nèi)源:用戶 2)安全性場(chǎng)景:杜絕非法用戶試圖繞過(guò)應(yīng)用服務(wù)器直接連接到數(shù)據(jù)庫(kù)服務(wù)器的端口上,防止非法竊取注冊(cè)用戶個(gè)人息;屏蔽某IP短時(shí)間內(nèi)的

12、大量無(wú)意義的訪問(wèn),以防被擠爆,使正常用戶無(wú)法使用。保證系統(tǒng)數(shù)據(jù)的機(jī)密性和完整性。 制品:制品:系統(tǒng)刺激:刺激:試圖非法操作信息響應(yīng):響應(yīng):系統(tǒng)維持審核蹤跡環(huán)境:環(huán)境:在正常操作下1 2 3響應(yīng)度量:響應(yīng)度量:半天內(nèi)恢復(fù)校正數(shù)據(jù)源:系統(tǒng)外部 3)易用性場(chǎng)景:在該系統(tǒng)中,用戶希望在運(yùn)行時(shí)能盡快取消某操作使錯(cuò)誤的影響降到最低,取消在1秒內(nèi)發(fā)生;要求具有基本電腦操作常識(shí)的人,可以根據(jù)良好的界面設(shè)計(jì)迅速學(xué)會(huì)使用方法,讓熟手用戶使用快捷鍵。 制品:制品:系統(tǒng)刺激:刺激:使錯(cuò)誤的影響最低響應(yīng):響應(yīng):提示操作希望取消環(huán)境:環(huán)境:運(yùn)行時(shí)1 2 3響應(yīng)度量:響應(yīng)度量:在2秒內(nèi)源:用戶 4) 可用性場(chǎng)景:在正常的工

13、作時(shí)間內(nèi),系統(tǒng)必須具有極高的可用性,保證出故障幾率最低。出現(xiàn)故障時(shí)系統(tǒng)有相應(yīng)的處理機(jī)制。 制品:制品:系統(tǒng)刺激:刺激:錯(cuò)誤或異常發(fā)生響應(yīng):響應(yīng):系統(tǒng)給出警告信息環(huán)境:環(huán)境:在正常操作下1 2 3響應(yīng)度量:響應(yīng)度量:系統(tǒng)不停機(jī)源:系統(tǒng)內(nèi)部2 數(shù)據(jù)持久層的架構(gòu)分析 在數(shù)據(jù)持久層,我們使用Hibernate來(lái)進(jìn)行處理,通過(guò)下面我們來(lái)看看如何通過(guò)Hibernate來(lái)滿足系統(tǒng)的質(zhì)量屬性需求。 Hibernate體系結(jié)構(gòu)概要圖 從這個(gè)圖可以看出,Hibernate通過(guò)配置文件和映射文件來(lái)實(shí)現(xiàn)與數(shù)據(jù)庫(kù)的交互及實(shí)現(xiàn)對(duì)象關(guān)系映射(Object Relational Mapping,簡(jiǎn)稱ORM),通過(guò)這種機(jī)制,將

14、java程序中的對(duì)象自動(dòng)持久化到關(guān)系數(shù)據(jù)庫(kù)中,對(duì)持久化對(duì)象的改動(dòng)都會(huì)反映到數(shù)據(jù)庫(kù)中。其中配置文件主要用來(lái)配置好數(shù)據(jù)庫(kù)連接的各種參數(shù)以及定義數(shù)據(jù)映射文件,通常以hibernate.cfg.xml或者perties形式出現(xiàn);XML Mapping配置文件是數(shù)據(jù)庫(kù)中表的數(shù)據(jù)映射文件,通常以*.hbm.xml形式出現(xiàn)。 下面我們來(lái)更詳細(xì)地看一下Hibernate運(yùn)行時(shí)體系結(jié)構(gòu)方案。這種方案將應(yīng)用層從底層的JDBC/JTA API中抽象出來(lái),而讓Hibernate來(lái)處理這些細(xì)節(jié)。Hibernate體系結(jié)構(gòu)方案圖中各個(gè)對(duì)象的定義如下:SessionFactory 針對(duì)單個(gè)數(shù)據(jù)庫(kù)映

15、射關(guān)系經(jīng)過(guò)編譯后的內(nèi)存鏡像,是線程安全的(不可變)。 它是生成Session的工廠,本身要用到ConnectionProvider。 該對(duì)象可以在進(jìn)程或集群的級(jí)別上,為那些事務(wù)之間可以重用的數(shù)據(jù)提供可選的二級(jí)緩存。Session 表示應(yīng)用程序與持久儲(chǔ)存層之間交互操作的一個(gè)單線程對(duì)象,此對(duì)象生存期很短。 其隱藏了JDBC連接,也是Transaction的工廠。 其會(huì)持有一個(gè)針對(duì)持久化對(duì)象的必選(第一級(jí))緩存,在遍歷對(duì)象圖或者根據(jù)持久化標(biāo)識(shí)查找對(duì)象時(shí)會(huì)用到。持久的對(duì)象及其集合持久的對(duì)象及其集合 帶有持久化狀態(tài)的、具有業(yè)務(wù)功能的單線程對(duì)象,此對(duì)象生存期很短。 這些對(duì)象可能是普通的JavaBeans/

16、POJO,唯一特殊的是他們正與(僅僅一個(gè))Session相關(guān)聯(lián)。 一旦這個(gè)Session被關(guān)閉,這些對(duì)象就會(huì)脫離持久化狀態(tài),這樣就可被應(yīng)用程序的任何層自由使用。 (例如,用作跟表示層打交道的數(shù)據(jù)傳輸對(duì)象。)瞬態(tài)瞬態(tài)(transient)和脫管和脫管(detached)的對(duì)象及其集合的對(duì)象及其集合 那些目前沒(méi)有與session關(guān)聯(lián)的持久化類實(shí)例。 他們可能是在被應(yīng)用程序?qū)嵗螅形催M(jìn)行持久化的對(duì)象。 也可能是因?yàn)閷?shí)例化他們的Session已經(jīng)被關(guān)閉而脫離持久化的對(duì)象。事務(wù)事務(wù)Transaction (可選的)應(yīng)用程序用來(lái)指定原子操作單元范圍的對(duì)象,它是單線程的,生命周期很短。 它通過(guò)抽象將應(yīng)用

17、從底層具體的JDBC、JTA以及CORBA事務(wù)隔離開(kāi)。 某些情況下,一個(gè)Session之內(nèi)可能包含多個(gè)Transaction對(duì)象。 盡管是否使用該對(duì)象是可選的,但無(wú)論是使用底層的API還是使用Transaction對(duì)象,事務(wù)邊界的開(kāi)啟與關(guān)閉是必不可少的。ConnectionProvider (可選的)生成JDBC連接的工廠(同時(shí)也起到連接池的作用)。 它通過(guò)抽象將應(yīng)用從底層的Datasource或DriverManager隔離開(kāi)。 僅供開(kāi)發(fā)者擴(kuò)展/實(shí)現(xiàn)用,并不暴露給應(yīng)用程序使用。TransactionFactory (可選的)生成Transaction對(duì)象實(shí)例的工廠。 僅供開(kāi)發(fā)者擴(kuò)展/實(shí)現(xiàn)用,

18、并不暴露給應(yīng)用程序使用。擴(kuò)展接口擴(kuò)展接口 Hibernate提供了很多可選的擴(kuò)展接口,你可以通過(guò)實(shí)現(xiàn)它們來(lái)定制你的持久層的行為。 Hibernate滿足的質(zhì)量屬性需求 (1) 性能 Hibernate本質(zhì)上是包裝了JDBC來(lái)進(jìn)行數(shù)據(jù)操作的,由于Hibernate在調(diào)用JDBC上面是優(yōu)化了JDBC調(diào)用,并且盡可能的使用最優(yōu)化的,最高效的JDBC調(diào)用,所以性能令人滿意,同時(shí)應(yīng)用程序需要在關(guān)聯(lián)關(guān)系間進(jìn)行導(dǎo)航的時(shí)候,由Hibernate獲取關(guān)聯(lián)對(duì)象,Hibernate提供的對(duì)持久化數(shù)據(jù)的緩存機(jī)制也對(duì)系統(tǒng)的性能的提高起了很大的作用。 (2) 安全性 Hibernate提供的悲觀鎖/樂(lè)觀鎖機(jī)制,能夠在多個(gè)

19、用戶進(jìn)行并發(fā)操作時(shí)保持?jǐn)?shù)據(jù)庫(kù)中數(shù)據(jù)的一致性與完整性,避免了對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)的破壞。 (3) 易用性 用戶在對(duì)票務(wù)信息進(jìn)行操作時(shí)都得到Hibernate的支持。3 業(yè)務(wù)邏輯層架構(gòu)設(shè)計(jì) 業(yè)務(wù)邏輯層作為該系統(tǒng)的關(guān)鍵部分,對(duì)系統(tǒng)的靈活性實(shí)現(xiàn)起著決定性的 作用。在本系統(tǒng)的業(yè)務(wù)邏輯層架構(gòu)層中,采取了MVC模式,下面簡(jiǎn)單介紹一 下MVC模式的好處: (1) 實(shí)現(xiàn)了客戶端表示層和業(yè)務(wù)邏輯層的完全分離 (2) 高效可靠的事務(wù)處理 (3) 具有良好的易用性,安全性MVC模式訪問(wèn)流程: MVC模式在本系統(tǒng)中應(yīng)用: 當(dāng)客戶利用網(wǎng)頁(yè)瀏覽器,發(fā)出HTTP請(qǐng)求時(shí),這通常會(huì)牽涉到送出表單數(shù)據(jù),例如用戶名和密碼。Servlet收到這樣的數(shù)據(jù)并解析數(shù)據(jù)。Servlet扮演控制器的角色,處理你的請(qǐng)求,通常會(huì)向模型(一般是數(shù)據(jù)庫(kù))發(fā)出請(qǐng)求。處理結(jié)果往往以JavaBean的形式打包。視圖就是JSP,而JSP唯一的工作就是產(chǎn)生頁(yè)面,表現(xiàn)模型的視圖以及進(jìn)一步動(dòng)作所需要的所有控件。當(dāng)頁(yè)面返回瀏覽器作為視圖顯示出來(lái),用戶提出的進(jìn)一步請(qǐng)求,也會(huì)以同樣的方式處

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論