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

正文內(nèi)容

論基于mvc實(shí)現(xiàn)的電子政務(wù)系統(tǒng)-wenkub.com

2025-06-25 23:04 本頁面
   

【正文】 另外,這個(gè)配置文件中的每個(gè)組件都是Java對象。 Servlet規(guī)范中定義的。如果ActionForward設(shè)為重定向(redirect),請求將被返回給瀏覽器,重新提交一個(gè)新請求到特定地址。 ActionServlct將ActionMapping傳遞給Action類,使Action可訪問用于控制流程的信息. {5) ActionForward Action處理完成后,將返回一個(gè)ActionForward類,決定處理結(jié)果轉(zhuǎn)發(fā)的目標(biāo)組件。輸入事件通常是在HTTP請求表單中發(fā)生的,servlet容器將HTTP請求轉(zhuǎn)換為HttpServletRequest。通過驗(yàn)證,ActionForm將傳遞給Action類。這樣客戶或開發(fā)人員,對數(shù)據(jù)狀態(tài)與對象狀態(tài)能夠更加清晰的理解和使用。ActionForm的主要功(如果在客戶指定的情況下,還包括對數(shù)據(jù)進(jìn)行校驗(yàn))。而且Action類通常還提供了其它的輔助功能,如:認(rèn)證( authorization )、日志( logging)和數(shù)據(jù)驗(yàn)證(validation ).考慮到重用性的原因,在執(zhí)行業(yè)務(wù)邏輯的JavaBean或者EJB中不要引用任何與web相關(guān)的對象,而應(yīng)該轉(zhuǎn)化為普通的Java對象。 A幣加是一個(gè)控制器類,不應(yīng)該進(jìn)行核心業(yè)務(wù)邏輯的處理,這也符合MVC模式分層思想原則。具體Action類的功能一般都在execute方法中完成,其中主要涉及到幾個(gè)方面:輔助ActionForna進(jìn)行表單數(shù)據(jù)的檢查、執(zhí)行必要的業(yè)務(wù)邏輯,比如存取數(shù)據(jù)庫,讀取文件等等、更新服務(wù)器端的bean數(shù)據(jù),并以ActionForward對象的形式返回給ActionServlet。所有的用戶都使用這一個(gè)實(shí)例,一個(gè)多線程的環(huán)境中。 {2) ActionClass Action類所做的工作就是具體的業(yè)務(wù)操作。servlet servletnameaction/servletname servletclass/servletclaas initparam paramnameconfig/paramname param value/WFrBINF//paramvalue /init param loadonstratup0/loadonstartnp/servletservletmapping servletnameactionservletname urlpattem*.do/urlpatterns/serVletmapping. 當(dāng)一個(gè)請求隨著符合Servlet上下文路徑的組件提交時(shí),容器將其轉(zhuǎn)發(fā)給AetionServlet。像所有的servlet一樣,它生存在容器中,比如Tomcat等應(yīng)用服務(wù)器。Lib包只是提供了解決具體細(xì)節(jié)問題的方法和類,并沒有提供控制流程的作用,在Stntts框架中具體實(shí)現(xiàn)流程控制、轉(zhuǎn)向、影射等作用的則是各種組件,不同的組件具有不同的作用,分工明確,而且組件和組件之間接口清晰,藕合度最小化。包括Bean Tags* HTML Tags,Logic Tags, Nested Tags, Template Tags這幾個(gè)用于構(gòu)建用戶界面的標(biāo)簽類。Struts。在此不能一一介紹,只能列舉幾個(gè)主要的簡要的介紹一下。Struts框架的處理流程清楚的體現(xiàn)了MVC系統(tǒng)的特點(diǎn),Struts Controller Action5ervlet處理客戶請求,利用配置的ActionMapping對象把請求映像到Actian處理器對象進(jìn)行處理。對于用戶的輸入,視圖將它們交給控制器處理。此外通過使用標(biāo)簽,Struts還簡潔的解決了國際化用戶界面問題。MVC解決了這一問題,通過把復(fù)雜的處理分離到Model和Controller組件中,從而使JSP本身更小,這顯然大大簡化并加速了開發(fā)、測試及維護(hù)的工作。Struts建議在實(shí)現(xiàn)時(shí)把“做什么”( Action)和“如何做”(業(yè)務(wù)邏輯)分離。struts提供的AMionForm組件對象,可以通過定義屬性描述客戶端表單數(shù)據(jù)。在視圖層,Struts能夠與JSP,包括JSTL與JSF,以及Velocity模板,XSLT與其它表示層技術(shù)【40】Struts針對于MVC各個(gè)部分的實(shí)現(xiàn)細(xì)節(jié)及作用。Struts有一組相互協(xié)作的類(組件)、Serlvet以及jsp tag lib組成。通過這種明確的劃分,MVC設(shè)計(jì)模式為構(gòu)建可重用、易擴(kuò)展的程序代碼打下了一個(gè)堅(jiān)實(shí)的基礎(chǔ)。同時(shí),它繼承了MVC設(shè)計(jì)模式的各種特性,提供了對開發(fā)MVC系統(tǒng)的底層支持,其中對應(yīng)用系統(tǒng)的用戶界面顯示和數(shù)據(jù),的后端業(yè)務(wù)邏輯代碼進(jìn)行了抽象,并且整合了Servlet與JSP在Web應(yīng)用系統(tǒng)開發(fā)上的優(yōu)勢。它通過把一組相互協(xié)作的類Servlet,以及標(biāo)簽庫結(jié)合在一個(gè)統(tǒng)一的框架中,將MVC模式所具有的“分離業(yè)務(wù)邏輯和顯示邏輯”的能力發(fā)揮到了極點(diǎn),完全實(shí)現(xiàn)了Mode12,并很好的幫助】ava開發(fā)人員開發(fā)J2EEWeb層. Struts實(shí)質(zhì)上就是Mode12的基礎(chǔ)上實(shí)現(xiàn)的一個(gè)MVC架構(gòu)。 Struts框架結(jié)構(gòu) 一種好的設(shè)計(jì)思想需要一個(gè)好的實(shí)現(xiàn)框架作為載體來體現(xiàn),struts就是一個(gè)基于MVC模式的Web應(yīng)用程序的框架,現(xiàn)已逐漸成為開發(fā)Web應(yīng)用程序的主流框架(31]o Jakarta是Apa}bc Software的一個(gè)研究開發(fā)Java產(chǎn)品的工程,主要是為Java開發(fā)者提供各種開發(fā)工具以及軟件框架[3q,Struts就是其中的一個(gè)開源項(xiàng)目。這種框架的適應(yīng)范圍大,既提供了底層接口,也有立即可用的組件。 JATO框架實(shí)現(xiàn)了MVC模式三層,定義了正式的視圖和模型實(shí)體之間的關(guān)系。創(chuàng)建JATO的主要目的還是滿足J2EE開發(fā)者快速建立中、大、超大規(guī)模的web應(yīng)用程序的需要。 (3) JATO應(yīng)用程序框架是iPlanet應(yīng)用程序框架的舊名。ISF有良好定義的請求處理生命周期和豐富的組件層次結(jié)構(gòu),旨在推動基于Jav。這也是本文重點(diǎn)介紹和采用Struts框架的重要原因。Struts允許用戶定義自己的業(yè)務(wù)Bean來管理應(yīng)用系統(tǒng)的數(shù)據(jù),而且它本身也提供了一種在View和Model間保持?jǐn)?shù)據(jù)的JavaBean}FormBean}}t o Struts的視圖主要使用JSP建立,由于Struts包含了一組豐富的標(biāo)記庫(Tag Labrary ),大大簡化了頁面的開發(fā)。因此基于MVC模式應(yīng)用框架空前繁榮,出現(xiàn)了各種不同的應(yīng)用框架。通過MVC模式以及J2EE平臺的組件技術(shù),能夠很好的解決這個(gè)問題,降低開發(fā)及維護(hù)成本。如果要增加新類型的用戶界面,只需要改動相應(yīng)的視圖和控制器即可,而模型則無須發(fā)生改動。電子政務(wù)系統(tǒng)中包括不同的服務(wù)功能,務(wù)系統(tǒng)應(yīng)該為不同的用戶全體提供不同服務(wù)的同時(shí),也應(yīng)該提供不同的用戶使用界面,此外J2EE平臺所提供的JSP控件技術(shù),也為開發(fā)友好用戶界面提供強(qiáng)大的支持。變化傳播機(jī)制可以確保所有相關(guān)的視圖和其模型達(dá)到同步,當(dāng)然這一切都在于控制器的協(xié)調(diào)。 (’)可以提供強(qiáng)大的用戶界面。在MVC設(shè)計(jì)模式中,模型、試圖、控制器任何組件甚至整個(gè)模塊都可以換進(jìn)換出,任何一者的改變都不會影響到其他方面,不同的組件開發(fā)能夠同時(shí)進(jìn)行。 (2)模塊相互獨(dú)立,藕合度低,增加模塊有效性。用模型中的方法來操作他的數(shù)據(jù)和狀態(tài),很容易理解如何來控制模型的行為。它的核心思想就是對容器(組合的對象)和內(nèi)容一視同仁。 組合模式(Composite)將對象組合成樹形結(jié)構(gòu)以表示“部分更換不同的〔39。在這樣的場合,使用Observer模式可以降低系統(tǒng)信息和顯示頁面之間的禍合度,把界面表示和數(shù)據(jù)分離,這樣的優(yōu)點(diǎn)就是,增加一個(gè)新的查看頁面時(shí),無需修改原系統(tǒng)。 MVC的Model和View之間的關(guān)系就如同目標(biāo)和觀察者之間的關(guān)系。 觀察者模式(Observer)定義了對象間一種一對多的依賴關(guān)系,當(dāng)一個(gè)對象的狀態(tài)發(fā)生改變時(shí),所有依賴于它的對象都得到通知并被自動更新。 在Web系統(tǒng)開發(fā)中,例如電子政務(wù)系統(tǒng)開發(fā),采用MVC模式,能夠?qū)?yīng)用邏輯、處理過程和顯示邏輯分成不同的組件來實(shí)現(xiàn)。視圖和模型之間有如下關(guān)系:當(dāng)模型中的數(shù)據(jù)狀態(tài)發(fā)生了變化,模型會通知視圖數(shù)據(jù)有更新,視圖則重新請求數(shù)據(jù),正確顯示模型數(shù)據(jù)。另一方面,控制器會將Mode!層的邏輯處理結(jié)果,調(diào)用適當(dāng)?shù)腣iew層組件向用戶顯示反饋信息。當(dāng)模型發(fā)生變化時(shí)模型就會通過控制器通報(bào)視圖。模型接受視圖的請求數(shù)據(jù),然后將處理的結(jié)果返回給視圖,是用來實(shí)現(xiàn)具體功能的模塊,是應(yīng)用程序的主體部分。最后控制器調(diào)用相應(yīng)的視圖來格式化模型返回的數(shù)據(jù),并通過視圖呈現(xiàn)給用戶【17】 視圖(View):表示模型的狀態(tài),是應(yīng)用系統(tǒng)的外觀。MVC設(shè)計(jì)模式是設(shè)計(jì)弓互式應(yīng)用時(shí)廣泛采用的一種設(shè)計(jì)模式,也是J2EE平臺推薦在開發(fā)Web應(yīng)用時(shí)使的設(shè)計(jì)模式。}r}n基本設(shè)計(jì)模式 MVC (ModelViewController)設(shè)計(jì)模式,即模型一試圖一控制器模式,源在頁面和邏輯中不會出現(xiàn)任何決策,這就提高了一個(gè)應(yīng)用程序的性能和可擴(kuò)展性,因?yàn)檎埱罂梢员粚?dǎo)向架構(gòu)的不同的組件,甚至是不同的服務(wù)器。圖32 Model 2結(jié)構(gòu)圖 由結(jié)構(gòu)圖可以看出,該設(shè)計(jì)模式的優(yōu)勢是很明顯的。Model 2具有組件化的優(yōu)點(diǎn)從而更易于實(shí)現(xiàn)對大規(guī)模系統(tǒng)的開發(fā)和管理,但是開發(fā)這樣的系統(tǒng)要比簡單的JSP開發(fā)復(fù)雜的多,它需要更多的時(shí)間學(xué)習(xí)和掌握。 為了解決Model 1緊禍合、復(fù)用性差和維護(hù)成本高的問題yz},在開發(fā)大型系統(tǒng)中必須采用另外一種設(shè)計(jì)模式,這就是Model Web設(shè)計(jì)模式Model 2 Model 2表示的是基于MVC模式的框架(如圖32所示[13b。大量使用Model 1,常常會導(dǎo)致頁面被嵌入大量的Java代碼。但是從工程化的角度考慮,它也有一些不足之處: (1)應(yīng)用的實(shí)現(xiàn)一般是基于過程的,一組JSP頁面實(shí)現(xiàn)一個(gè)業(yè)務(wù)流程,如果要進(jìn)行改動,必須在多個(gè)地方進(jìn)行修改。最后生成HTTP文檔。在JSP頁面中可以很容易的同時(shí)實(shí)現(xiàn)內(nèi)容的顯示,業(yè)務(wù)邏輯的處理以及流程控制,從而快速的完成應(yīng)用開發(fā)。 J2EE Web設(shè)計(jì)模式 如上所述,J2EE平臺為B/S系統(tǒng)開發(fā)提供了各種成熟的組件及其容器技術(shù),逐漸成為開發(fā)Web應(yīng)用程序的主流。軟件效果大多關(guān)注對時(shí)間和空間的衡量,它們也表達(dá)了語言和實(shí)現(xiàn)問題。 (Solurion ) 描述設(shè)計(jì)的組成成分,它們之間的相互關(guān)系及各自的職責(zé)和協(xié)作方式。模式名稱可以幫助開發(fā)人員思考,便于交流設(shè)計(jì)思想和設(shè)計(jì)結(jié)果,找到恰當(dāng)?shù)脑O(shè)計(jì)模式名稱也是設(shè)計(jì)模式編寫工作的難點(diǎn)之一。每個(gè)模式是由三部分組成的一個(gè)原則,這個(gè)原則描述特定環(huán)境、問題和解決方案之間的關(guān)系[8】 設(shè)計(jì)模式的基本思想就是,公共的“習(xí)慣用法”在軟件設(shè)計(jì)中被不斷重復(fù)發(fā)現(xiàn),因此這些模式應(yīng)該被有意識的歸納整理,并用于類似的問題的解決上,一般而言,設(shè)計(jì)模式具有四個(gè)基本要素【9】. (Pattern Name ) 一個(gè)助記名,用一兩個(gè)詞來描述模式的問題、解決方案和效果。設(shè)計(jì)模式的概念最初來源于城市建筑模式,但也同樣適用于面向?qū)ο蟮能浖_發(fā)中。12EE平臺的迅速發(fā)展,基于J2EE平臺的多層體系結(jié)構(gòu)由于具備成熟的組件及其容器技術(shù),迅速發(fā)展起來,逐漸成為開發(fā)Web應(yīng)用系統(tǒng)的首選體系結(jié)構(gòu)。 鑒于以上優(yōu)勢,基于J2EE的Web多層體系結(jié)構(gòu)已經(jīng)成為進(jìn)行電子商務(wù)、電子政務(wù)等基于wpb開發(fā)的首選方案。此外,多層體系結(jié)構(gòu)將服務(wù)器端工作負(fù)荷和業(yè)務(wù)邏輯分布到不同層次上進(jìn)行,不同層次的模塊單元可以部署在不同機(jī)器上,避免了個(gè)別機(jī)器工作負(fù)荷太重的現(xiàn)象,因此降低了系統(tǒng)出現(xiàn)問題的可能性,提高了系統(tǒng)的穩(wěn)定性?;贘zEE的Web多層體系結(jié)構(gòu)恰好滿足了用戶此種需求。J2EE平臺利用組件技術(shù)和容器技術(shù)提高了系統(tǒng)模塊的重用性,可以方便的整合原有的電子政務(wù)系統(tǒng),避免了不必要的重復(fù)開發(fā)。基于J2EE的w}多層體系結(jié)構(gòu)所具有如下優(yōu)勢,正好滿足了電子政務(wù)系統(tǒng)以上要求: } . J2EE利用Java平臺來簡化企業(yè)解決方案的設(shè)計(jì)、開發(fā)、部署和管理等相關(guān)復(fù)雜問題,也就具備了Java語言“一次編寫,到處運(yùn)行”的先天性優(yōu)勢,12EE平臺本身具有平臺無關(guān)性I【8】。 基于J2EE的Web多層體系結(jié)構(gòu)對原來的服務(wù)器端功能模塊進(jìn)行了合理的細(xì)分,并提供了完善的組件及容器管理機(jī)制,可以有效地控制因重復(fù)開,增強(qiáng)應(yīng)用系統(tǒng)的重用性,充分發(fā)揮了面向?qū)ο箝_發(fā)的優(yōu)勢。但ETB本身也存在內(nèi)部結(jié)構(gòu)復(fù)雜、體積龐大的缺點(diǎn),因此在一般企業(yè)級應(yīng)用系統(tǒng)中不建議使用EJB作為業(yè)務(wù)層的處理組件,而是建議進(jìn)行輕量級開發(fā)。E3B組件可以接收請求數(shù)據(jù),對數(shù)據(jù)進(jìn)行復(fù)雜的邏輯處理,如有需要可以將數(shù)據(jù)發(fā)送到企業(yè)信息系統(tǒng)層進(jìn)行持久化操作,還可以根據(jù)需要檢索數(shù)據(jù),返回處理結(jié)果。JSP和Servlet組件接受用戶請求,并根據(jù)邏輯處理結(jié)果產(chǎn)生動態(tài)的顯示頁面。本文主要研究基于Web應(yīng)用系統(tǒng)的體系結(jié)構(gòu),因此擔(dān)任客戶層角色的應(yīng)該為Web瀏覽器(Web Browser ),瀏覽器并不具備完善的邏輯處理功能,只是負(fù)責(zé)發(fā)送請求以及顯示響應(yīng)結(jié)果,可以下載靜態(tài)的HTML頁面或者由Web層生成的動態(tài)HTML頁面,屬于一種瘦客戶端。其中多層次分布式體系結(jié)構(gòu)是指根據(jù)功能把應(yīng)用邏輯再進(jìn)行細(xì)分,每個(gè)層次支持相應(yīng)的服務(wù)器和組件,組件在分布式服務(wù)器的組件容器中運(yùn)行,容器間通過相關(guān)的協(xié)議進(jìn)行通訊,實(shí)現(xiàn)組件間的相互調(diào)用??蛻魴C(jī)不斷被壓縮,逐漸被瀏覽器所替代,因此也促使在進(jìn)行系統(tǒng)設(shè)計(jì)開發(fā)過程中更加注重服務(wù)器的設(shè)計(jì)與開發(fā),對服務(wù)器進(jìn)行細(xì)分。 隨著越來越多的企業(yè)級分布式的事務(wù)處理要求的提高,三層體系結(jié)構(gòu)中Web服務(wù)器的工作負(fù)荷也不斷加
點(diǎn)擊復(fù)制文檔內(nèi)容
語文相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1