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

        ?

        基于MVC模式的Java Web開(kāi)發(fā)與應(yīng)用

        2007-12-31 00:00:00劉學(xué)超
        商場(chǎng)現(xiàn)代化 2007年15期

        [摘要] 隨著開(kāi)源軟件的興起,各種框架也紛紛出現(xiàn),在實(shí)際軟件開(kāi)發(fā)中運(yùn)用這些框架,大大降低了J2EE開(kāi)發(fā)的復(fù)雜度和難度,降低了開(kāi)發(fā)成本,本文闡述了基于MVC模型的JAVAWeb應(yīng)用軟件開(kāi)發(fā)模式,并結(jié)合一個(gè)實(shí)例討論如何設(shè)計(jì)基于MVC框架的應(yīng)用,同時(shí)也分析了使用框架開(kāi)發(fā)web應(yīng)用的優(yōu)勢(shì)。

        [關(guān)鍵詞] Model(模型)View(視圖)Controller(控制器)MVC

        一、MVC模式

        將JSP頁(yè)面中嵌入的流程控制代碼和部分的邏輯處理代碼提取出來(lái),放到一個(gè)單獨(dú)的角色中,這個(gè)角色就是控制器角色了。這樣的架構(gòu)就符合MVC架構(gòu)模式,MVC即模型——視圖——控制器(Model-View-Control)。

        MVC架構(gòu)有助于將應(yīng)用程序分割成若干邏輯部件,使程序設(shè)計(jì)變得更加容易。MVC架構(gòu)提供了一種按功能參各種對(duì)象進(jìn)行分割的方法,其目的是為了將各對(duì)象間的耦合程序降至最低。MVC框架原本是為了將傳統(tǒng)的輸入(input)、處理(processing)和輸出(output)任務(wù)運(yùn)用到圖形化用戶交互模型中而設(shè)計(jì)的,但是,將這些概念運(yùn)用到基于Web的企業(yè)級(jí)多層應(yīng)用領(lǐng)域也是很適合的。

        圖1MVC模型、視圖、控制器的關(guān)系圖

        在一個(gè)MVC架構(gòu)中,一個(gè)應(yīng)用被分成三個(gè)部分,模型(Model)、視圖(View)和控制器(Control)。

        模型代表應(yīng)用程序的數(shù)據(jù)以用于訪問(wèn)控制和修改這些數(shù)據(jù)的業(yè)務(wù)規(guī)則。當(dāng)模型發(fā)生變化時(shí),它會(huì)通知視圖,并為視圖提供查詢模型相關(guān)狀態(tài)的能力。同時(shí),它也為控制器提供訪問(wèn)封閉在模型內(nèi)部的應(yīng)用程序功能的能力。

        視圖用開(kāi)組織模型的內(nèi)容。它從模型那里獲得數(shù)據(jù)并指定這些數(shù)據(jù)如何表現(xiàn)。當(dāng)模型變化時(shí),視圖負(fù)責(zé)維護(hù)數(shù)據(jù)表現(xiàn)的一致性。視圖同時(shí)將用戶的請(qǐng)求通知控制器。

        控制器定義了應(yīng)用程序的行為。它負(fù)責(zé)對(duì)來(lái)自視圖的用戶請(qǐng)求進(jìn)行解釋,并把這些請(qǐng)求映射成相應(yīng)的行為,這些行為由模型負(fù)責(zé)實(shí)現(xiàn)。在獨(dú)立運(yùn)行的GUI客戶端,用戶的請(qǐng)求可能是一些鼠標(biāo)單擊或是菜單選擇操作。在一個(gè)WEB應(yīng)用程序中,它們的表現(xiàn)形式可能是一些來(lái)自客戶端GET或POST的HTTP請(qǐng)求。圖1描述了在MVC應(yīng)用程序中模型、視圖、控制器三部分的關(guān)系。

        在這種開(kāi)發(fā)模式下,控制器的角色由Servlet實(shí)現(xiàn),視圖的角色由Jsp頁(yè)面實(shí)現(xiàn),模型的角色由JavaBean來(lái)實(shí)現(xiàn),該模型的架構(gòu)圖如圖2所示。

        圖2JSP開(kāi)發(fā)模型

        Servlet充當(dāng)控制的角色,它接受請(qǐng)求,并且根據(jù)請(qǐng)求信息將它們分發(fā)給適當(dāng)?shù)腏SP頁(yè)面來(lái)產(chǎn)生響應(yīng)。Servlet控制器還根據(jù)JSP視圖的需求生成JavaBean的實(shí)例并輸出給JSP環(huán)境。JSP視圖可以通過(guò)直接調(diào)用JavaBean實(shí)例的方法或使用動(dòng)作元素來(lái)得到JavaBean中的數(shù)據(jù)。

        二、基于MVC框架的論壇功能的實(shí)現(xiàn)

        論壇是電子商務(wù)網(wǎng)站中一種常見(jiàn)的功能,它為上網(wǎng)用戶提供了一個(gè)自由的討論區(qū)。用戶可以根據(jù)需要在論壇上發(fā)表文章,提出問(wèn)題并表達(dá)自己的觀點(diǎn),俗稱發(fā)帖子或灌水。與此同時(shí),上網(wǎng)用戶也可以在論壇中瀏覽其他人發(fā)表文章,并能對(duì)該文章進(jìn)行回復(fù)。一個(gè)典型的論壇系統(tǒng)一般應(yīng)提供如下功能:會(huì)員管理、討論區(qū)文章查閱、發(fā)表新文章、后臺(tái)管理。

        運(yùn)用MVC框架實(shí)現(xiàn)論壇,首先把應(yīng)用分解為模型、視圖和控制器來(lái)實(shí)現(xiàn),這樣就將業(yè)務(wù)邏輯和表現(xiàn)層分開(kāi),提高軟件可擴(kuò)展性和良好的邏輯性,改變了傳統(tǒng)Web開(kāi)發(fā)設(shè)計(jì)模式。下面將以論壇中用戶登陸為例按照MVC架構(gòu)來(lái)詳述實(shí)現(xiàn)過(guò)程。

        1.創(chuàng)建視圖組件

        在視圖中主要包括兩個(gè)組件:用戶登錄頁(yè)面Login.jsp,登錄失敗頁(yè)面error.jsp;是用戶登錄失敗后顯示的頁(yè)面。它們都保存在Web應(yīng)用目錄xxx下。

        2.創(chuàng)建模型組件

        模型組件文件UserInfo.java 是處理業(yè)務(wù)邏輯的JavaBean, 封裝了與論壇用戶相關(guān)的所有信息,同時(shí)也定義了所有與論壇用戶信息處理相關(guān)的方法。例如檢查用戶身份的方法以及查找、刪除、編輯、存儲(chǔ)用戶信息等。通過(guò)Action類派生的子類LoginAction訪問(wèn)UserInfo.java實(shí)現(xiàn)對(duì)業(yè)務(wù)邏輯的處理。注意業(yè)務(wù)邏輯層對(duì)應(yīng)的類所在的包應(yīng)該部署在xxx/WEB-INF/classes下。

        3.創(chuàng)建控制器組件

        控制器組件作為整個(gè)MVC架構(gòu)的控制中心,包括了ActionServlet、Action Bean、ActionForm Bean、以及相關(guān)配置文件web.xml及資源包。

        (1)聲明及定義LoginActionForm.java

        該Javabean用于獲取用戶登錄頁(yè)面提交的表單數(shù)據(jù)。注意ActionFormBean中屬性名稱一定要對(duì)應(yīng)用戶表示層JSP頁(yè)面中的表單元素名稱及超鏈接參數(shù)名。

        (2)聲明及定義LoginAction.java

        LoginAction負(fù)責(zé)處理客戶端提交請(qǐng)求,其主要功能是依據(jù)接收到的不同請(qǐng)求,通過(guò)LoginActionForm中得到對(duì)應(yīng)的提交表單數(shù)據(jù),調(diào)用業(yè)務(wù)邏輯層中對(duì)應(yīng)的UserInfo.java進(jìn)行處理。最終將結(jié)果傳給用戶表示層JSP頁(yè)面,顯示在用戶面前。

        (3)配置文件定義

        web.xml主要實(shí)現(xiàn)了對(duì)ActionServlet進(jìn)行配置如下。

        ActionServlet

        < servlet-class>ActionServlet

        ActionServlet

        /servlet/ActionServlet

        三、結(jié)束語(yǔ)

        從某種意思上講,MVC實(shí)現(xiàn)了Web層的應(yīng)用框架,是一個(gè)具有良好擴(kuò)展性和不斷完善的框架,利用這種應(yīng)用框架不但能縮短開(kāi)發(fā)時(shí)間,還能夠?qū)崿F(xiàn)框架和代碼的重用,特別是當(dāng)應(yīng)用有著較復(fù)雜的邏輯,并且返回的視圖也不同時(shí),該種方式是首先。

        本文中所涉及到的圖表、注解、公式等內(nèi)容請(qǐng)以PDF格式閱讀原文。

        久久精品国产乱子伦多人| 白丝兔女郎m开腿sm调教室| 久久水蜜桃亚洲av无码精品麻豆| 精品国产sm最大网站| 午夜无码一区二区三区在线观看| 欧美性受xxxx白人性爽| 9999精品视频| 色婷婷综合一区二区精品久久| 青青草成人免费在线视频| 日韩精品一区二区在线天天狠天| 久久国产亚洲高清观看| 国产精品久久久久影院嫩草| 伊人久久亚洲综合影院首页| 天堂av一区二区在线| 日韩精品在线免费视频| 成人毛片一区二区| 亚洲欧洲日产国码无码AV一 | 久久精品网站免费观看| 一二三区无线乱码中文在线| 久久久久亚洲av片无码下载蜜桃 | 日本午夜艺术一区二区| 中文字幕一精品亚洲无线一区| 无码专区久久综合久中文字幕| 国产美女被遭强高潮露开双腿| 亚洲av激情一区二区| 中文无码一区二区三区在线观看| 国产激情视频白浆免费| 蜜桃伦理一区二区三区| 男女动态视频99精品| 插插射啊爱视频日a级| 艳妇臀荡乳欲伦交换在线播放| 久久免费精品国产72精品剧情| 日本国产一区在线观看| 又粗又大又硬毛片免费看| 污污污污污污WWW网站免费| 国产av普通话对白国语| 蜜桃av噜噜一区二区三区策驰 | 99久热re在线精品99 6热视频| 日产精品一区二区免费| 久久精品国产色蜜蜜麻豆国语版 | 最近高清中文在线字幕观看|