freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于j2ee架構(gòu)的電子政務(wù)網(wǎng)上申報(bào)審批系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)-資料下載頁(yè)

2025-06-24 15:43本頁(yè)面
  

【正文】 理。只需要極少的幾行代碼,遠(yuǎn)程不同類型的客戶端就可以很容易的訪問(wèn)到企業(yè)Bean. 一個(gè)EJB組件由一個(gè)Bean類,兩個(gè)接口組成。Bean類包含了企業(yè)應(yīng)用事務(wù)邏輯實(shí)現(xiàn)細(xì)節(jié)的一個(gè)類。遠(yuǎn)程接口定義了相應(yīng)Bean類公開(kāi)的所有事務(wù)方法。這些事務(wù)方法僅僅對(duì)客戶應(yīng)用程序是可見(jiàn)的。引導(dǎo)接口定義了Bean生命周期的方法,這些方法用來(lái)創(chuàng)建新的Bean。圖22顯示了EJB運(yùn)行時(shí)候的環(huán)境。┌─────────────────────────────┐│咚公白 ┌──────────────────┐ ││┌───┐│毛少 │ │││客戶端││ 應(yīng)用服務(wù)器│┌──┐│││程序 ││ ││數(shù)據(jù)│││└───┘│ ││庫(kù) │││ │ │└──┘││ └──────────────────┘ │└─────────────────────────────┘圖22 EJB運(yùn)行時(shí)環(huán)境基于J2EE架構(gòu)的電子政務(wù)網(wǎng)上申報(bào)審批系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 會(huì)話Bean(Session Bean)表現(xiàn)連接到J2EE服務(wù)器的一個(gè)單獨(dú)的客戶端。會(huì)話Bean被用來(lái)實(shí)現(xiàn)一個(gè)具有特定客戶事務(wù)邏輯的事務(wù)對(duì)象??蛻舳送ㄟ^(guò)調(diào)用會(huì)話Bean的方法來(lái)訪問(wèn)部署在服務(wù)器上的應(yīng)用程序。會(huì)話Bean完成客戶端的請(qǐng)求,從而對(duì)客戶端隱藏了服務(wù)器內(nèi)復(fù)雜商務(wù)邏輯的執(zhí)行過(guò)程。 正如會(huì)話Bean的名稱所表示的,它代表一次會(huì)話。單獨(dú)的會(huì)話Bean對(duì)象是不可以共享的,它只能有一個(gè)客戶端訪問(wèn),同樣一次會(huì)話也只能有一個(gè)用戶。和一次會(huì)話一樣,會(huì)話Bean對(duì)象不是持久性對(duì)象。(就是說(shuō)它的數(shù)據(jù)并不保存到數(shù)據(jù)庫(kù)。)當(dāng)客戶端結(jié)束運(yùn)行,對(duì)應(yīng)的會(huì)話Bean也跟著結(jié)束并斷開(kāi)與客戶端的聯(lián)系(不保留特定客戶端的任何信息)。 會(huì)話Bean在客戶程序和Bean之間保持會(huì)話。不同形式的會(huì)話可以模型化兩種類型的會(huì)話Bean,分別是有狀態(tài)((stateful)會(huì)話Bean和無(wú)狀態(tài)((stateless)會(huì)話Bean. 1)有狀態(tài)會(huì)話Bean是客戶應(yīng)用程序的擴(kuò)展。它代表客戶程序執(zhí)行任務(wù)并維護(hù)客戶程序相關(guān)的狀態(tài)。該狀態(tài)稱為會(huì)話狀態(tài),因?yàn)樗硪粋€(gè)有狀態(tài)會(huì)話Bean與客戶程序之間的持續(xù)會(huì)話。在有狀態(tài)會(huì)話Bean中調(diào)用的方法即可以從該會(huì)話狀態(tài)中讀取數(shù)據(jù),也可將數(shù)據(jù)寫入該狀態(tài)中如圖23所示。該狀態(tài)可以被該會(huì)話Bean所調(diào)用的所有方法共享。如果客戶程序終止,則會(huì)話就終止,狀態(tài)就消失了。有狀態(tài)會(huì)話Bean 圖23有狀態(tài)會(huì)話Bean 2)無(wú)狀態(tài)會(huì)話Bean不為特定的客戶程序保持會(huì)話狀態(tài)。僅僅是一組類似于批處理的相關(guān)服務(wù),每一服務(wù)由一個(gè)方法來(lái)表示如圖24所示。其狀態(tài)也僅僅在基于J2EE架構(gòu)的電子政務(wù)網(wǎng)上申報(bào)審批系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)方法調(diào)用期間持續(xù),當(dāng)方法完成后,狀態(tài)也就不再保持了。與有狀態(tài)會(huì)話Bean的只服務(wù)于一個(gè)特定客戶程序相比,無(wú)狀態(tài)會(huì)話Bean對(duì)于需要大量客戶程序應(yīng)用可以提供更好的可伸縮性[[6]0無(wú)狀態(tài)會(huì)話Bean 圖2一無(wú)狀態(tài)會(huì)話Bean 一個(gè)實(shí)體Bean(EntityBean)描述一個(gè)持久存儲(chǔ)備的商業(yè)對(duì)象。實(shí)體Bean常用來(lái)表示永久性數(shù)據(jù)并提供相關(guān)的操作這些數(shù)據(jù)的方法。一個(gè)實(shí)體Bean類的實(shí)例是唯一的,它們可以被多個(gè)用戶訪問(wèn)。一個(gè)典型的例子是:每個(gè)實(shí)體Bean在關(guān)系數(shù)據(jù)庫(kù)中都有一個(gè)基本表,每個(gè)Bean類的實(shí)例相當(dāng)于該表的一行。 實(shí)體Bean和會(huì)話Bean最大的區(qū)別在于實(shí)體Bean具有持久性、允許共享訪問(wèn)和主鍵的特性。實(shí)體Bean的狀態(tài)保存在持久存儲(chǔ)介質(zhì)中,該狀態(tài)的存在超越了應(yīng)用程序的生命周期。 根據(jù)管理持久性的方式劃分,有兩種實(shí)體Bean,分別是容器管理持久((CMP)的實(shí)體Bean和Bean管理持久((BMP)的實(shí)體Bean. 1) Bean管理持久:管理自身持久性的實(shí)體Bean稱為Bean管理持久實(shí)體Bean。對(duì)于這種實(shí)體Bean, EJB開(kāi)發(fā)者需要通過(guò)編寫數(shù)據(jù)庫(kù)調(diào)用或其他方式對(duì)持久存儲(chǔ)的訪問(wèn),來(lái)明確的編寫B(tài)ean的持久性邏輯。在大多數(shù)情況下,開(kāi)發(fā)者使用JDBC來(lái)編寫持久性邏輯。 2)容器管理持久:由容器來(lái)處理實(shí)體Bean要求的所有數(shù)據(jù)訪問(wèn)和持久性工作。在開(kāi)發(fā)CMP實(shí)體Bean的時(shí)候,開(kāi)發(fā)人員不需要知道用何種數(shù)據(jù)源來(lái)提供Bean的持久狀態(tài),他們只需要制定那個(gè)域是持久的即可。所有訪問(wèn)數(shù)據(jù)庫(kù)所需的JDBC代碼都是自動(dòng)產(chǎn)生的,沒(méi)有任何SQL嵌入到Bean代碼中,Bean也沒(méi)基于J2EE架構(gòu)的電子政務(wù)網(wǎng)上申報(bào)審批系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)有綁定到特定的數(shù)據(jù)庫(kù),是完全可以移植的。 J2EE中的事務(wù)管理 事務(wù)是健壯的服務(wù)器端開(kāi)發(fā)所必須的一種關(guān)鍵性的服務(wù)。事務(wù)一般被定義為一個(gè)不可分割的工作單元。 JDBC事務(wù) JDBC事務(wù)通過(guò)DBMS事務(wù)管理器來(lái)控制。可能會(huì)為了使用會(huì)話Bean中的原有代碼而采用JDBC事務(wù)將這些代碼封裝到一個(gè)事務(wù)中。使用JDBC事務(wù),要。事務(wù)啟動(dòng)是隱式的。一個(gè)事務(wù)得從最近的提交、回滾或連接操作后的第一個(gè)SQL的語(yǔ)句開(kāi)始[[7]e JTA事務(wù) JTA是Java Transaction API的縮寫。這些API允許用獨(dú)立于具體的事務(wù)管理器實(shí)現(xiàn)的方法確定事務(wù)界限。J2EE SDK事務(wù)管理器通過(guò)Java事務(wù)服務(wù)(JavaTransaction Service, JTS)實(shí)現(xiàn)。但是代碼并不直接調(diào)用JTS中的方法,而是調(diào)用JTA方法來(lái)替代,JTA方法會(huì)調(diào)用底層的JTS實(shí)現(xiàn)。 JTA事務(wù)被J2EE事務(wù)管理器管理??赡苄枰褂靡粋€(gè)JTA事務(wù),因?yàn)樗軌蚪y(tǒng)一操作不同廠商的數(shù)據(jù)庫(kù)。一個(gè)特定DBMS的事務(wù)管理器不能工作在不同種類的數(shù)據(jù)庫(kù)上。然而J2EE事務(wù)管理器仍然有一個(gè)限制—它不支持嵌套事務(wù)。就是說(shuō),它不能在前一個(gè)事務(wù)結(jié)束前啟動(dòng)另一個(gè)事務(wù)[f810 J2EE中的資源連接 JNDI是Java命名和目錄接口的首字母縮寫。J2EE平臺(tái)通過(guò)用M名來(lái)定位提供服務(wù)(資源訪問(wèn))的對(duì)象。JNDI名是由J2EE服務(wù)器提供的命名和目錄服務(wù)綁定到特定對(duì)象的用戶友好的訪問(wèn)名稱,因?yàn)镴2EE組件通過(guò)」NDI API來(lái)訪問(wèn)這些服務(wù),所以通常稱這些對(duì)象訪問(wèn)名為JNDI名。例如」dbc/Cloudscape是Cloudscape數(shù)據(jù)庫(kù)的JNDI名,設(shè)置好后,J2EE服務(wù)器在啟動(dòng)的時(shí)候從配置文件里讀取該信息,并自動(dòng)將該」NDI名添加到名字空間。 并不是直接通過(guò)JNDI查找到資源訪問(wèn)對(duì)象的。查找得到的是連接工廠。連接工廠“生產(chǎn)”出資源訪問(wèn)對(duì)象。數(shù)據(jù)庫(kù)資源的連接工廠是」對(duì)象。在代碼中,并不是接通過(guò)JNDI名來(lái)查找資源,而是資源引用。具體地說(shuō)就是通過(guò)資源引用來(lái)查找資源基于J2EE架構(gòu)的電子政務(wù)網(wǎng)上申報(bào)審批系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)工廠。資源引用是資源查找中l(wèi)ookup方法的實(shí)際參數(shù)(當(dāng)然JNDI名也可以),它在部署描述符中指定。 JNDI名和資源引用名是不相同的,所以需要建立兩者之間的映射關(guān)系。但是它可以降低組件和資源之間的禍合,這樣當(dāng)組件需要訪問(wèn)不同的資源時(shí),可以不用改變資源引用名。這種靈活性使得更容易在已有組件的基礎(chǔ)上裝配應(yīng)用程序。 設(shè)計(jì)模式是用來(lái)描述所交流的問(wèn)題及其解決方案。設(shè)計(jì)模式可以幫助我們?cè)谝粋€(gè)特定的環(huán)境里整理并記錄己知的可重現(xiàn)的問(wèn)題及其解決方案,并且通過(guò)模式來(lái)與他人交流這些知識(shí)。設(shè)計(jì)模式的思想認(rèn)為在系統(tǒng)設(shè)計(jì)這一層次上,軟件開(kāi)發(fā)可以抽象成一種模式,模式描述了系統(tǒng)面臨的問(wèn)題及其解決方案,并且可以重用。每一個(gè)模式描述了一個(gè)在我們周圍不斷重復(fù)發(fā)生的問(wèn)題,以及該問(wèn)題的解決方案的核心。這樣,就能一次又一次的使用該解決方案而不必做重復(fù)勞動(dòng)。每個(gè)模式是由三部分組成的一個(gè)規(guī)則,這個(gè)規(guī)則描述特定環(huán)境、問(wèn)題和解決方案之間的關(guān)系。簡(jiǎn)單的說(shuō),沒(méi)有一個(gè)模式是獨(dú)立的實(shí)體,每個(gè)模式都存在著相互支持,但支持的程度不同:大的模式可以內(nèi)嵌小的模式,同等層次的模式并列存在,而小的模式被嵌入到大的模式之中。 設(shè)計(jì)模式的基本思想是,公共的“習(xí)‘質(zhì)用法”(Idioms)在軟件設(shè)計(jì)中被不斷重復(fù)發(fā)現(xiàn),因此這些模式應(yīng)該被有意識(shí)地歸納整理,并用于類似問(wèn)題的解決上[[9]0(pattern name) 一個(gè)助記名,它用一兩個(gè)詞來(lái)描述模式的問(wèn)題、解決方案和效果。命名一個(gè)新的模式增加了我們的設(shè)計(jì)詞匯。設(shè)計(jì)模式允許我們?cè)谳^高的抽象層次上進(jìn)行設(shè)計(jì)?;谝粋€(gè)模式詞匯表,我們自己以及同事之間就可以討論模式并在編寫文檔時(shí)使用它們。模式名可以幫助我們思考,便于我們與其他人交流設(shè)計(jì)思想及設(shè)計(jì)結(jié)果。找到恰當(dāng)?shù)哪J矫彩俏覀冊(cè)O(shè)計(jì)模式編目工作的難點(diǎn)之一。2. IA題((problem) 描述了應(yīng)該在何時(shí)使用模式。它解釋了設(shè)計(jì)問(wèn)題和問(wèn)題存在的前因后果,它基于J2EE架構(gòu)的電子政務(wù)網(wǎng)上申報(bào)審批系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)可能描述了特定的設(shè)計(jì)問(wèn)題,如怎樣用對(duì)象表示算法等。也可能描述了導(dǎo)致不靈活設(shè)計(jì)的類或?qū)ο蠼Y(jié)構(gòu)。有時(shí)候,問(wèn)題部分會(huì)包括使用模式必須滿足的一系列先決條件。(solution) 顧名思義,解決方案描述了設(shè)計(jì)的組成成分及成分間的關(guān)系及各自的職責(zé),以及成分之間如何進(jìn)行協(xié)作。由于模式是對(duì)一類問(wèn)題的抽象,所以不描述具體問(wèn)題的設(shè)計(jì)或?qū)崿F(xiàn),而是提供設(shè)計(jì)問(wèn)題的抽象描述和怎樣用一個(gè)具有一般意義的元素組合(類或?qū)ο蠼M合)來(lái)解決這個(gè)問(wèn)題。(consequences) 描述了模式應(yīng)用的效果及使用模式應(yīng)權(quán)衡的問(wèn)題。盡管我們描述設(shè)計(jì)決策時(shí),并不總提到模式效果,但它們對(duì)于評(píng)價(jià)設(shè)計(jì)選擇和理解使用模式的代價(jià)及好處具有重要意義。軟件效果大多關(guān)注對(duì)時(shí)間和空間的衡量,它們也表述了語(yǔ)言和實(shí)現(xiàn)問(wèn)題。因?yàn)閺?fù)用是面向?qū)ο笤O(shè)計(jì)的要素之一,所以模式效果包括它對(duì)系統(tǒng)的靈活性、擴(kuò)充性或可移植性的影響,列出這些效果對(duì)理解和評(píng)價(jià)這些模式很有幫助。 設(shè)計(jì)模式為開(kāi)發(fā)者提供了好的設(shè)計(jì)經(jīng)驗(yàn),為項(xiàng)目之間、程序員之間重用面向?qū)ο蟠a提供一種方便的途徑,使得重用成功設(shè)計(jì)和結(jié)構(gòu)更加容易110]0 MVC設(shè)計(jì)模式 MVC英文即ModelViewController,即模型一視圖一控制器模式,是設(shè)計(jì)模式中很重要的一種。它包括三種對(duì)象:模型((model)、視圖(view)和控制器(Controller)。模型提供了業(yè)務(wù)邏輯,視圖則是模型在屏幕上的顯示,控制器是用于管理用戶和視圖發(fā)生的交互。圖25揭示了三者之間的關(guān)系。 視圖((View):代表用戶交互界面。主管應(yīng)用程序和人之間的接口,一方面它為用戶提供了輸入手段,并觸發(fā)應(yīng)用邏輯運(yùn)行。另一方面,它又將邏輯運(yùn)行結(jié)果以某種形式顯示給用戶。對(duì)于Web應(yīng)用來(lái)說(shuō),可以概括為HTML界面,但有可能為XHTML,XML和Applet o 模型(Model):就是業(yè)務(wù)流程/狀態(tài)的處理以及業(yè)務(wù)規(guī)則的制定。業(yè)務(wù)流程的處理過(guò)程對(duì)其它層來(lái)說(shuō)是黑箱操作,模型接受視圖請(qǐng)求的數(shù)據(jù),并返回最終的處理結(jié)果。業(yè)務(wù)模型的設(shè)計(jì)可以說(shuō)是MVC最主要的核心。基于J2EE架構(gòu)的電子政務(wù)網(wǎng)上申報(bào)審批系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 控制((Controller):可以理解為從用戶接收請(qǐng)求,將模型與視圖匹配在一起,共同完成用戶的請(qǐng)求。劃分控制層的作用也很明顯,它就是一個(gè)分發(fā)器,選擇什么樣的模型,選擇什么樣的視圖,可以完成什么樣的用戶請(qǐng)求。控制層并不做任何的數(shù)據(jù)處理。 圖25 MVC結(jié)構(gòu)圖 J2EE設(shè)計(jì)模式 J2EE設(shè)計(jì)模式有很多。下面主要分析與文中介紹網(wǎng)上申報(bào)審批系統(tǒng)框架設(shè)計(jì)有關(guān)的部分設(shè)計(jì)模式:((FrontController): 系統(tǒng)需要一個(gè)集中的訪問(wèn)點(diǎn)來(lái)處理請(qǐng)求。如果沒(méi)有集中訪問(wèn)點(diǎn),那么多個(gè)請(qǐng)求之間公用控制代碼就會(huì)在許多文件(比如視圖文件)中重復(fù)出現(xiàn)。因此提出前端控制器模式以達(dá)到避免重復(fù)控制邏輯,并對(duì)多個(gè)請(qǐng)求采取共通的處理邏輯的目的。 使用前端控制器作最初的接觸點(diǎn),用來(lái)處理所有相關(guān)請(qǐng)求。前端控制器為處理請(qǐng)求提供了一個(gè)集中的入口點(diǎn),能集中控制邏輯,因此減少了直接置入視圖的代碼量,提高多個(gè)請(qǐng)求之間代碼的重用度,減少代碼重復(fù)。圖26顯示了前端控制器的類圖[fitl0基于J2EE架構(gòu)的電子政務(wù)網(wǎng)上申報(bào)審批系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)ClientFrontControllersends requestsServletFrontJSPFront 圖26前端控制器類圖((ViewHelper) 視圖助手模式就是使用視圖封裝顯示格式的代碼,使用助手封裝視圖處理器。助手通過(guò)POJO(plain old java object普通Java對(duì)象)、定制標(biāo)記或標(biāo)記文件的形式實(shí)現(xiàn)。視圖把處理邏輯交給這些助手完成,助手在視圖和模型之間充當(dāng)了適配器的作用,同時(shí)也會(huì)執(zhí)行一些與格式邏輯相關(guān)的處理。 視圖助手把程序邏輯從視圖中分離開(kāi),這樣就可以更明確軟件開(kāi)發(fā)者和網(wǎng)頁(yè)設(shè)計(jì)者之間的分工。圖27顯示了視圖助手的類圖。HelperCustomTagTa
點(diǎn)擊復(fù)制文檔內(nèi)容
化學(xué)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1