亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于J2EE和MVC模式的Web應(yīng)用開發(fā)方法研究

        2011-05-28 12:46:34汪丹平
        關(guān)鍵詞:事務(wù)視圖瀏覽器

        唐 勇 汪丹平

        (安徽理工大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院,安徽 淮南 232001)

        一、MVC模式

        MVC是一種目前廣泛流行的軟件設(shè)計(jì)模式,隨著 J2EE(Java2 Enterprise Edition)的成熟,它正在成為在J2EE平臺(tái)上推薦的一種設(shè)計(jì)模型,其目的就是實(shí)現(xiàn)Web系統(tǒng)的職能分工.MVC是把一個(gè)應(yīng)用的輸入、處理、輸出流程按照 Model、View、Controller的方式進(jìn)行分離,其優(yōu)勢(shì)在于層與層之間各司其職,互不干涉。模型、視圖、控制器三者之間的關(guān)系和各自的主要功能,如圖1所示:

        圖1 MVC組件類型的關(guān)系和功能

        在該模型中,應(yīng)用程序分為三個(gè)組成部分:

        (1)View:用戶視圖模塊,這是用戶界面部分。主管應(yīng)用程序與人之間的接口,一方面,它為用戶提供了輸入手段,并觸發(fā)應(yīng)用邏輯運(yùn)行,另一方面,它又將邏輯運(yùn)行的結(jié)果以某種形式顯示給用戶。

        (2)Contr0ller:流程控制模塊,該部分是用戶界面與Model的接口。一方面它解釋來自于view的輸入,將其解釋成系統(tǒng)能夠理解的對(duì)象,同時(shí)它也識(shí)別用戶動(dòng)作,并將其解釋為對(duì)Model特定方法的調(diào)用;另一方面,它也處理來自于Model的事件和Model邏輯執(zhí)行的結(jié)果,調(diào)用適當(dāng)?shù)腣iew為用戶提供反饋。

        (3)Model:事務(wù)邏輯模塊,是整個(gè)模型的核心。它表示解決方案真正的邏輯。它采用面向?qū)ο蟮姆椒?,將問題領(lǐng)域中的對(duì)象抽象為應(yīng)用程序?qū)ο?。在這些抽象的對(duì)象中封裝了對(duì)象的屬性和這些對(duì)象所隱含的邏輯。

        二、J2EE

        J2EE是一整套技術(shù)的總稱,包括建立企業(yè)應(yīng)用系統(tǒng)的各個(gè)方面,使用J2EE技術(shù)能使我們快速建立企業(yè)應(yīng)用系統(tǒng)。J2EE的目標(biāo)是提供一個(gè)基于Java語言的服務(wù)器端應(yīng)用結(jié)構(gòu),支持平臺(tái)獨(dú)立、可移植、多用戶、安全和標(biāo)準(zhǔn)的企業(yè)級(jí)應(yīng)用。使用J2EE來開發(fā)n層的應(yīng)用,要將原來的2層體系細(xì)分為多個(gè)不同的層。一個(gè)n層的應(yīng)用能夠?yàn)橐韵碌拿總€(gè)服務(wù)提供獨(dú)立的層:

        (1)表現(xiàn):在一個(gè)典型的Web應(yīng)用中,運(yùn)行在客戶機(jī)器上的瀏覽器負(fù)責(zé)處理表現(xiàn)。

        (2)動(dòng)態(tài)產(chǎn)生表現(xiàn):雖然瀏覽器可以處理一些動(dòng)態(tài)產(chǎn)生的表現(xiàn),不過為了支持多種不同的瀏覽器,大部分的動(dòng)態(tài)產(chǎn)生都應(yīng)該在Web服務(wù)器進(jìn)行,通過使用JSP,servlet或者XML(Extensible Markup Language,擴(kuò)展標(biāo)記語言)和XSL(Extensible Stylesheet Language,擴(kuò)展樣式表語言)。

        (3)商業(yè)邏輯:實(shí)現(xiàn)商業(yè)邏輯的最佳方法是通過Session EJB。

        (4)數(shù)據(jù)訪問:實(shí)現(xiàn)數(shù)據(jù)訪問的最佳方法是在Entity EJB,以及使用JDBC。

        (5)Backend系統(tǒng)集成:可使用各種不同的技術(shù)來與backend系統(tǒng)集成。最佳的選擇在于backend系統(tǒng)的確切種類。

        J2EE是一個(gè)標(biāo)準(zhǔn)的體系結(jié)構(gòu),它特別面向使用Java程序設(shè)計(jì)語言進(jìn)行基于Web的企業(yè)應(yīng)用的開發(fā)與部署,圖2展示了基于Web應(yīng)用的J2EE應(yīng)用編程模型。

        圖2 基于Web應(yīng)用的J2EE應(yīng)用編程模型

        三、基于JZEE和MVC模式的解決方案

        將MVC模式應(yīng)用于web應(yīng)用程序中時(shí),控制模塊(Controller)主要提供以下功能:首先接收用戶端發(fā)送的與網(wǎng)絡(luò)協(xié)議相關(guān)的請(qǐng)求,然后解析請(qǐng)求并轉(zhuǎn)換為事務(wù)邏輯模塊(Model)的輸入?yún)?shù),調(diào)用相應(yīng)的事務(wù)邏輯模塊(Model)進(jìn)行處理,最后根據(jù)事務(wù)邏輯模塊的處理結(jié)果調(diào)用相應(yīng)的用戶視圖模塊(View)生成結(jié)果頁(yè)面,返回至瀏覽器。

        JSP和Servlet都具備實(shí)現(xiàn)控制模塊的條件,但通常情況下,我們選用Servlet。因?yàn)榭刂颇K主要的功能是接收輸入?yún)?shù),控制程序流程,程序代碼一般是連貫的Java代碼,并且無需向客戶端輸出信息,而JSP更適合在編寫動(dòng)態(tài)頁(yè)面時(shí)使用,同時(shí)JSP的解釋執(zhí)行過程比Servlet更為復(fù)雜。

        用戶視圖模塊的主要功能是根據(jù)事務(wù)邏輯模塊處理的結(jié)果生成返回至客戶端的頁(yè)面。與控制模塊相反的是,由于用戶視圖模塊的重心在于頁(yè)面設(shè)計(jì),因此,JSP是開發(fā)頁(yè)面模塊的最好選擇。目前已有很多可視化的網(wǎng)頁(yè)設(shè)計(jì)軟件能夠識(shí)別JSP標(biāo)記,方便了網(wǎng)頁(yè)設(shè)計(jì)人員的開發(fā)過程。

        事務(wù)邏輯模塊(Model)是Web應(yīng)用程序中最終負(fù)責(zé)處理客戶請(qǐng)求的模塊。因此,事務(wù)邏輯模塊必須能夠滿足大多數(shù)客戶的需求,包括保證應(yīng)用程序各組件的事務(wù)整合,維護(hù)并快速的獲取應(yīng)用數(shù)據(jù),支持事務(wù)工作流的協(xié)調(diào)以及在已有應(yīng)用程序中集成新的應(yīng)用組件等。為了滿足這些需求,編寫事務(wù)邏輯模塊需要使用到以下 技 術(shù) :Servlet、JavaBean、EJB、JDBC、CORBA、LDAP以及其它企業(yè)級(jí)的應(yīng)用服務(wù)。

        由于己經(jīng)把事務(wù)邏輯模塊與控制模塊進(jìn)行了分離,這樣該模塊的開發(fā)就無需特殊的網(wǎng)絡(luò)編程能力,程序的開發(fā)主要就集幣在事務(wù)處理、邏輯判斷等方面了,因此在中小型網(wǎng)站的應(yīng)用中通常把事務(wù)邏輯模塊封裝為JavaBean,提高了事務(wù)邏輯模塊在網(wǎng)絡(luò)應(yīng)用和非網(wǎng)絡(luò)應(yīng)用中的可重用性,并為將來向分布式網(wǎng)絡(luò)計(jì)算過渡打好基礎(chǔ)。

        圖3 MVC在Web應(yīng)用中的體系結(jié)構(gòu)

        在MVC模型中,后端系統(tǒng)是我們的Model,用來創(chuàng)建用戶響應(yīng)界面的模板是view,而把這兩者聯(lián)系起來的紐帶是Controller。JSP完美的對(duì)應(yīng)于MVC模式中的View,Servlet包含了管理如何處理請(qǐng)求的邏輯,實(shí)際上就成為了Controller,而系統(tǒng)已有的業(yè)務(wù)規(guī)則就是Model,并用JavaBean進(jìn)行封裝。MVC在Web應(yīng)用中的體系結(jié)構(gòu),如圖3所示,其中,Servlet充當(dāng)控制者的角色,負(fù)責(zé)管理對(duì)請(qǐng)求的處理,創(chuàng)建JSP頁(yè)需要使用的bean和對(duì)象,同時(shí)根據(jù)用戶的動(dòng)作決定把那個(gè)JSP頁(yè)傳給請(qǐng)求者。特別要注意,在JSP頁(yè)內(nèi)沒有處理邏輯,它僅負(fù)責(zé)檢索原先由Servlet創(chuàng)建的對(duì)象或bean,從Servlet中提取動(dòng)態(tài)內(nèi)容插入靜態(tài)模板。這是一種有代表性的方法,它清晰地分離了表達(dá)和內(nèi)容,明確了角色的定義以及開發(fā)者與網(wǎng)頁(yè)設(shè)計(jì)者的分工。事實(shí)上,項(xiàng)目越復(fù)雜,使用MVC體系結(jié)構(gòu)的好處就越大。

        模塊間數(shù)據(jù)交換是通過把事務(wù)邏輯模塊的處理結(jié)果存儲(chǔ)在一個(gè)JavaBean中,并將該JavaBean存放在session中。當(dāng)控制模塊需要獲取事務(wù)邏輯模塊的處理結(jié)果時(shí),只要從當(dāng)前會(huì)話中取出JavaBean,即可得到所需數(shù)據(jù)。Data Beans有效地解決了控制模塊與事務(wù)邏輯模塊之間的數(shù)據(jù)傳遞問題,并且借助于會(huì)話管理使得不同用戶的數(shù)據(jù)得以區(qū)分。

        該系統(tǒng)屬于瀏覽器/服務(wù)器模型(Browser/Server)。一般的,客戶通過瀏覽器發(fā)送HTTP請(qǐng)求給服務(wù)器端Web服務(wù)器,Web服務(wù)器接收該請(qǐng)求并且進(jìn)行相應(yīng)處理,然后將處理后的結(jié)果返回到客戶的瀏覽器中。在客戶端,瀏覽器中呈現(xiàn)的正是該系統(tǒng)的視圖部分,視圖的作用就是提供給客戶一個(gè)可視化的界面,并且允許客戶輸入一些數(shù)據(jù)來與服務(wù)器端程序交互。對(duì)客戶來說,他只能看到視圖,而模型和控制器對(duì)他則是透明的。在這里Web服務(wù)器僅起到提供HTTP服務(wù)的作用。Web服務(wù)器將客戶提交的HTTP請(qǐng)求交給后方的JSP、Servlet引擎,并且進(jìn)一步交給其中的控制器來處理??刂破靼凑諒恼?qǐng)求映射表將該請(qǐng)求映射到相應(yīng)的對(duì)象或bean;處理器對(duì)模型進(jìn)行更新、修改等操作,處理完后返回結(jié)果給控制器;控制器根據(jù)結(jié)果通知視圖做相應(yīng)變化,并且選擇相應(yīng)視圖返回給客戶。

        總結(jié)

        J2EE技術(shù)和MVC設(shè)計(jì)模式的結(jié)合,大大降低了Web應(yīng)用系統(tǒng)結(jié)構(gòu)的復(fù)雜程度、代碼之間的禍合度,增加了代碼的易維護(hù)性、應(yīng)用框架的可重用性、組件的可重用性、易測(cè)性和不同技能的開發(fā)員的分工。

        [1]許幼鳴,徐錦,文耘.基于設(shè)計(jì)模式的軟件重用.1999,3:13~14,計(jì)算機(jī)工程.

        [2]Vlada Matena,Beth Stearus.J2EE 平臺(tái)上的EJB組件開發(fā).翟裕中,北京:機(jī)械工業(yè)出版社,2001.

        [3]裴龍,何大可.JavaZSwing組件設(shè)計(jì)模式分析.2001,8:274~276,計(jì)算機(jī)應(yīng)用.

        [4]Martin Flower.Analysis Patterns:Reusable object Models.Addison Wesley,1997.

        [5]GAMMA E,HELM R.設(shè)計(jì)模式[M].北京:機(jī)械工業(yè)出版社,2000.

        [6]Subrahmanyam Allamaraju.J2EE服務(wù)器端高級(jí)編程.北京:機(jī)械工業(yè)出版社,2001.

        猜你喜歡
        事務(wù)視圖瀏覽器
        “事物”與“事務(wù)”
        基于分布式事務(wù)的門架數(shù)據(jù)處理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
        河湖事務(wù)
        反瀏覽器指紋追蹤
        電子制作(2019年10期)2019-06-17 11:45:14
        5.3 視圖與投影
        視圖
        Y—20重型運(yùn)輸機(jī)多視圖
        SA2型76毫米車載高炮多視圖
        環(huán)球?yàn)g覽器
        再見,那些年我們嘲笑過的IE瀏覽器
        国产日韩精品一区二区在线观看播放 | 白白色发布免费手机在线视频观看| 欧美老熟妇乱子| 欧美巨大巨粗黑人性aaaaaa| 国产麻豆一精品一AV一免费软件| 国产激情一区二区三区成人免费| 国产亚洲精品综合在线网站| 亚洲国产精品无码一线岛国| 亚洲成av人片在线观看ww| 国产爆乳乱码女大生Av| 亚洲区一区二区三区四| 久久精品国产91精品亚洲| 热99re久久精品这里都是精品免费 | 丁香五月缴情在线| 国精品无码一区二区三区在线| 人妻av一区二区三区精品| 午夜tv视频免费国产区4| 国产av一区二区三区在线| 中文字幕一区二区中出后入| 国内露脸少妇精品视频| 无遮挡边吃摸边吃奶边做| 伊人狠狠色j香婷婷综合| 经典黄色一区二区三区| 精品国产乱码久久久久久郑州公司 | 在线视频一区二区国产| 亚洲av久播在线一区二区| 男男啪啪激烈高潮cc漫画免费| 在线观看视频亚洲| 国产精品国产自线拍免费| 亚洲国产国语对白在线观看| 国产精品久久久久免费观看| 污污污污污污污网站污| 久久久精品人妻一区二| 丝袜美腿av在线观看| 熟女熟妇伦av网站| 国产精品久久久久久久专区| 精品麻豆一区二区三区乱码| 国产做国产爱免费视频| 国产精在线| 国产一区二区av在线观看| 一边摸一边抽搐一进一出口述|