999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

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

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

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

一、MVC模式

將JSP頁(yè)面中嵌入的流程控制代碼和部分的邏輯處理代碼提取出來,放到一個(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ù)以用于訪問控制和修改這些數(shù)據(jù)的業(yè)務(wù)規(guī)則。當(dāng)模型發(fā)生變化時(shí),它會(huì)通知視圖,并為視圖提供查詢模型相關(guān)狀態(tài)的能力。同時(shí),它也為控制器提供訪問封閉在模型內(nèi)部的應(yīng)用程序功能的能力。

視圖用開組織模型的內(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ì)來自視圖的用戶請(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)形式可能是一些來自客戶端GET或POST的HTTP請(qǐng)求。圖1描述了在MVC應(yīng)用程序中模型、視圖、控制器三部分的關(guān)系。

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

圖2JSP開發(fā)模型

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

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

論壇是電子商務(wù)網(wǎng)站中一種常見的功能,它為上網(wǎng)用戶提供了一個(gè)自由的討論區(qū)。用戶可以根據(jù)需要在論壇上發(fā)表文章,提出問題并表達(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)用分解為模型、視圖和控制器來實(shí)現(xiàn),這樣就將業(yè)務(wù)邏輯和表現(xiàn)層分開,提高軟件可擴(kuò)展性和良好的邏輯性,改變了傳統(tǒng)Web開發(fā)設(shè)計(jì)模式。下面將以論壇中用戶登陸為例按照MVC架構(gòu)來詳述實(shí)現(xiàn)過程。

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ǔ)用戶信息等。通過Action類派生的子類LoginAction訪問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)求,通過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é)束語

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

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

主站蜘蛛池模板: 亚洲视频免费在线| 一区二区影院| 欧美精品1区| 亚洲成a人片| 欧美中出一区二区| 97久久超碰极品视觉盛宴| 在线观看亚洲人成网站| 亚洲另类色| 高潮爽到爆的喷水女主播视频| 国产超薄肉色丝袜网站| 四虎亚洲国产成人久久精品| 欧美激情第一区| 99久久国产精品无码| 国产一国产一有一级毛片视频| www.狠狠| 久久99热66这里只有精品一| 99久久精品国产麻豆婷婷| 久久综合九色综合97网| 欧美亚洲国产一区| 欧美一级黄片一区2区| 久久精品视频亚洲| 亚洲无线一二三四区男男| 91成人免费观看在线观看| 亚洲第一福利视频导航| 亚洲日产2021三区在线| 综合色88| 欧美69视频在线| 亚洲国产成熟视频在线多多| 天天干天天色综合网| 黄色福利在线| 亚洲成年人网| 欧美一级视频免费| 蜜桃视频一区二区| 亚洲妓女综合网995久久| 99re这里只有国产中文精品国产精品 | 国产女人综合久久精品视| 欧美人在线一区二区三区| 国产日韩久久久久无码精品 | 热这里只有精品国产热门精品| 免费一极毛片| 免费看a级毛片| 区国产精品搜索视频| 午夜电影在线观看国产1区| 日韩福利视频导航| 一本大道东京热无码av| 国产黄色视频综合| 久久香蕉国产线看观看精品蕉| 蜜桃臀无码内射一区二区三区 | 欧美性久久久久| 国产精品网址在线观看你懂的| 国产天天射| 成人日韩视频| 影音先锋丝袜制服| 国产在线一二三区| 色综合激情网| 久久婷婷六月| 成人国产一区二区三区| 国产精品视频第一专区| 亚国产欧美在线人成| 久久不卡国产精品无码| 刘亦菲一区二区在线观看| 亚洲天堂在线免费| 欧美日本不卡| 人妻精品久久无码区| 久久久久久国产精品mv| 在线观看欧美国产| 色网在线视频| 久久国产精品影院| 日韩欧美国产另类| 综合久久五月天| 97超爽成人免费视频在线播放| 热九九精品| 亚洲国产天堂在线观看| 成人精品午夜福利在线播放| 中文字幕在线一区二区在线| 亚洲不卡无码av中文字幕| 天堂久久久久久中文字幕| 成人在线不卡视频| 亚洲中文在线视频| 高潮爽到爆的喷水女主播视频 | 国产精品成人啪精品视频| 第一区免费在线观看|