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

正文內(nèi)容

憑證管理及報(bào)表分析系統(tǒng)概述-文庫吧

2025-07-14 17:58 本頁面


【正文】 改進(jìn),可伸展性也不理想,而且經(jīng)?;谀撤N專有的協(xié)議――通常是某種數(shù)據(jù)庫協(xié)議。它使得重用業(yè)務(wù)邏輯和界面邏輯非常困難?,F(xiàn)在J2EE 的多層企業(yè)級應(yīng)用模型將兩層化模型中的不同層面切分成許多層。一個(gè)多層化應(yīng)用能夠?yàn)椴煌拿糠N服務(wù)提供一個(gè)獨(dú)立的層,以下是 J2EE 典型的多層結(jié)構(gòu)[1]:(1) Client tier客戶層一般為瀏覽器或其他應(yīng)用。客戶層普遍地支持HTTP協(xié)議,也稱客戶代理。 (2)WEB tier WEB應(yīng)用層 在J2EE中,這一層由WEB 容器運(yùn)行,它包括JSP, SERVLET等WEB部件。 (3) EJB tier 企業(yè)組件層 企業(yè)組件層由EJB容器運(yùn)行,支持EJB, JMS, JTA 等服務(wù)和技術(shù)。(4) EIS tier 企業(yè)信息系統(tǒng)層企業(yè)信息系統(tǒng)包含企業(yè)內(nèi)傳統(tǒng)信息系統(tǒng)如財(cái)務(wù),CRM等,特點(diǎn)是有數(shù)據(jù)庫系統(tǒng)的支持。 圖21 J2EE 體系架構(gòu) MVC 模式MVC (ModelViewController)模式是交互式應(yīng)用程序廣泛使用的一種體系結(jié)構(gòu)。它有效地在存儲(chǔ)和展示數(shù)據(jù)的對象中區(qū)分功能模塊以降低它們之間的連接度,這種體系結(jié)構(gòu)將傳統(tǒng)的輸入、處理和輸入模型轉(zhuǎn)化為圖形顯示的用戶交互模型,或者換一種說法,是多層次的Web商業(yè)應(yīng)用;MVC體系結(jié)構(gòu)具有三個(gè)層面:模型(Model)、視圖(View)和控制(Controller),每個(gè)層面有其各自的功能作用,MVC體系結(jié)構(gòu)如下:圖22 MVC模型(B/S模式)[2]模型層負(fù)責(zé)表達(dá)和訪問商業(yè)數(shù)據(jù),執(zhí)行商業(yè)邏輯和操作。也就是說,這一層就是現(xiàn)實(shí)生活中功能的軟件模擬;在模型層變化的時(shí)候,它將通知視圖層并提供后者訪問自身狀態(tài)的能力,同時(shí)控制層也可以訪問其功能函數(shù)以完成相關(guān)的任務(wù)。視圖層負(fù)責(zé)顯示模型層的內(nèi)容。它從模型層取得數(shù)據(jù)并指定這些數(shù)據(jù)如何被顯示出來。在模型層變化的時(shí)候,它將自動(dòng)更新。另外視圖層也會(huì)將用戶的輸入傳送給控制器。控制層負(fù)責(zé)定義應(yīng)用程序的行為。它可以分派用戶的請求并選擇恰當(dāng)?shù)囊晥D以用于顯示,同時(shí)它也可以解釋用戶的輸入并將它們映射為模型層可執(zhí)行的操作;在一個(gè)圖形界面中,常見的用戶輸入包括點(diǎn)擊按鈕和菜單選擇。在Web應(yīng)用中,它包括對Web層的HTTP GET和POST的請求;控制層可以基于用戶的交互和模型層的操作結(jié)果來選擇下一個(gè)可以顯示的視圖,一個(gè)應(yīng)用程序通常會(huì)基于一組相關(guān)功能設(shè)定一個(gè)控制層的模塊,甚至一些應(yīng)用程序會(huì)根據(jù)不同的用戶類型具有不同的控制層設(shè)定,這主要是由于不同用戶的視圖交互和選擇也是不同的[3]。在模型層、視圖層和控制層之間劃分責(zé)任可以減少代碼的重復(fù)度,并使應(yīng)用程序維護(hù)起來更簡單。同時(shí)由于數(shù)據(jù)和商務(wù)邏輯的分開,在新的數(shù)據(jù)源加入和數(shù)據(jù)顯示變化的時(shí)候,數(shù)據(jù)處理也會(huì)變得更簡單。 Struts框架Struts是 Apache 軟件基金會(huì)資助的一個(gè)開放源代碼框架,是一個(gè)免費(fèi)的開源的WEB層的應(yīng)用框架。Struts有一組相互協(xié)作的類(組件)、Serlvet以及jsp tag lib組成?;趕truts構(gòu)架的web應(yīng)用程序基本上符合Model2的設(shè)計(jì)標(biāo)準(zhǔn),可以說是MVC設(shè)計(jì)模式的一種變化類型。Struts是一個(gè)web framwork,而不僅僅是一些標(biāo)記庫的組合。但 Struts 也包含了豐富的標(biāo)記庫和獨(dú)立于該框架工作的實(shí)用程序類。Struts有其自己的控制器(Controller),同時(shí)整合了其他的一些技術(shù)去實(shí)現(xiàn)模型層(Model)和視圖層(View)。在模型層,Struts可以很容易的與數(shù)據(jù)訪問技術(shù)相結(jié)合,包括EJB,JDBC和Object Relation Bridge。在視圖層,Struts能夠與JSP, Velocity Templates,XSL等等這些表示層組件想結(jié)合。圖23 Struts架構(gòu) 本章小結(jié)本章主要介紹了J2EE的基本概念,其常見模式MVC (ModelViewController)的體系結(jié)構(gòu),以及目前較為流行的基于J2EE的應(yīng)用程序開發(fā)框架Struts的基本組成。下一章將提出憑證管理及報(bào)表分析系統(tǒng)的總體設(shè)計(jì)方案。第3章 系統(tǒng)總體架構(gòu)設(shè)計(jì)系統(tǒng)總體設(shè)計(jì)是指根據(jù)項(xiàng)目的需求,結(jié)合項(xiàng)目背景,提出系統(tǒng)的開發(fā)方案,并做出系統(tǒng)的總體開發(fā)結(jié)構(gòu)的設(shè)計(jì)。3. 1總體功能框架如下圖所示:系統(tǒng)設(shè)置用戶管理報(bào)表定制柱狀圖報(bào)表餅狀圖報(bào)表報(bào)表打印憑證管理及報(bào)表分析系統(tǒng)憑證管理系統(tǒng)管理報(bào)表分析記錄查詢記錄修改憑證打印憑證預(yù)覽 圖31 功能模塊圖 應(yīng)用系統(tǒng)的數(shù)據(jù)流向數(shù)據(jù)的流向圖如下:WebBrowserStrutsActionFormRequestEventActionDispatcherBusinessLogicDAODatabasestartResponseEvent 圖32 數(shù)據(jù)流向圖(1)瀏覽器的請求通過HTTP協(xié)議進(jìn)入Struts的Web層架構(gòu),由ActionServlet來處理客戶端的HTTP請求。當(dāng)ActionServlet接收到客戶請求后,會(huì)根據(jù)配置文件中的映射關(guān)系,將客戶請求轉(zhuǎn)交給合適的處理器進(jìn)行處理。(2)處理器直接調(diào)用不同的業(yè)務(wù)邏輯處理這些請求;或分發(fā)這些請求到其他的處理器進(jìn)行二次處理甚至三次處理,形成處理鏈。(3)業(yè)務(wù)邏輯處理層根據(jù)不同的請求參數(shù)對象和數(shù)據(jù)做相應(yīng)的處理,然后通過DAO(Data Access Object)返回?cái)?shù)據(jù)對象(VO)給業(yè)務(wù)層。(4)數(shù)據(jù)對象通過ResponseEvent,傳回給客戶端。 部分組件的的設(shè)計(jì)(Event)數(shù)據(jù)事件對象又包括請求事件對象(RequestEvent),返回事件對象(ResponseEvent)。通過事件來實(shí)現(xiàn)服務(wù)器與客戶端之間數(shù)據(jù)的傳送。實(shí)現(xiàn)方式:(1),用來封裝向EJB核心層傳遞的消息。RequestEvent是一個(gè)抽象類,在使用的時(shí)候必須要實(shí)現(xiàn)此抽象類。他的實(shí)現(xiàn)類將一系列將要傳送給EJB核心層的屬性封裝,并為這些屬性設(shè)置getter和setter方法。這些屬性封裝的是Value Object對象類型。比如說,對于web客戶端,我們將把在JSP頁面生成的ActionForm(javabean)對象作為RequestEvent對象的一個(gè)屬性,并為它生成getter和setter方法。RequestEvent對象會(huì)在客戶端被生成,并作為參數(shù)傳遞給處理器,最終被對應(yīng)的業(yè)務(wù)邏輯處理,并在處理之后被清除。(2),用來封裝從EJB核心層傳遞到各種不同的客戶端的數(shù)據(jù)。類似于RequestEvent,ResponseEvent中要封裝一些Value Object(javabean),這些Value Object是根據(jù)不同的業(yè)務(wù)流程所產(chǎn)生的。Value Object的封裝形式要根據(jù)不同的業(yè)務(wù)流程去具體判斷,這里不做詳細(xì)的描述。此外,如果在ResponseEvent對象中要封裝相同的Value Object類的多個(gè)對象時(shí),要使用ArrayList對象來把這多個(gè)Value Object對象封裝起來。ResponseEvent的生存周期與RequestEvent正好相反,也就是說,哪里生成的RequestEvent,那里就清除相應(yīng)的ResponseEvent;哪里清除RequestEvent,那么就對應(yīng)的生成ResponseEvent。(Data Access Object)數(shù)據(jù)訪問對象(DAO) 封裝了對數(shù)據(jù)源的訪問和操作,以保證業(yè)務(wù)邏輯對數(shù)據(jù)源的透明訪問。業(yè)務(wù)邏輯都通過DAO來實(shí)現(xiàn)對數(shù)據(jù)庫的訪問所以業(yè)務(wù)邏輯只看到業(yè)務(wù)邏輯的操作方法,看不到后臺(tái)的數(shù)據(jù)庫的具體實(shí)現(xiàn),這就實(shí)現(xiàn)了業(yè)務(wù)邏輯與數(shù)據(jù)邏輯的分離。實(shí)現(xiàn)方式:每個(gè)Busine
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1