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

        ?

        基于Spring的MVC框架實(shí)現(xiàn)Web應(yīng)用系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

        2017-04-25 09:41:38卜慶禹遼寧錦州渤海大學(xué)信息科學(xué)與技術(shù)學(xué)院
        數(shù)碼世界 2017年4期
        關(guān)鍵詞:設(shè)計(jì)模式視圖框架

        卜慶禹 遼寧錦州渤海大學(xué)信息科學(xué)與技術(shù)學(xué)院

        基于Spring的MVC框架實(shí)現(xiàn)Web應(yīng)用系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

        卜慶禹 遼寧錦州渤海大學(xué)信息科學(xué)與技術(shù)學(xué)院

        MVC設(shè)計(jì)模式是軟件設(shè)計(jì)中的一種經(jīng)典設(shè)計(jì)模式。本文在分析MVC設(shè)計(jì)模式基本原理以及構(gòu)成的基礎(chǔ)上,關(guān)于基于Spring實(shí)現(xiàn)的MVC設(shè)計(jì)模式的基本原理、參數(shù)配置;本文最后以一個(gè)應(yīng)用實(shí)例,根據(jù)應(yīng)用系統(tǒng)用戶請求在Spring MVC框架存在的管理周期。為了建立可重用、靈活且易于管理的設(shè)計(jì)模式實(shí)現(xiàn)機(jī)制,本文提出一種基于Spring的MVC框架實(shí)現(xiàn)應(yīng)用系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)。Spring MVC框架的視圖層是基于JSP技術(shù)實(shí)現(xiàn)的,系統(tǒng)采用總體控制原則的方法實(shí)現(xiàn)業(yè)務(wù)邏輯控制轉(zhuǎn)發(fā)功能,采用對象映射類完成數(shù)據(jù)持久化操作?;诳刂品崔D(zhuǎn)/面向切面技術(shù)實(shí)現(xiàn)應(yīng)用系統(tǒng)管理,并將Spring MVC框架應(yīng)用網(wǎng)絡(luò)收藏夾的開發(fā)中。

        Spring MVC框架 Web應(yīng)用系統(tǒng) 設(shè)計(jì)模式 控制反轉(zhuǎn) 面向切面

        1 引言

        目前,大多數(shù)的應(yīng)用程序都基于MVC設(shè)計(jì)模式實(shí)現(xiàn)的應(yīng)用系統(tǒng),其中包括Web應(yīng)用程序框架。Spring框架為我們提供了MVC設(shè)計(jì)模式的實(shí)用機(jī)制,Spring框架按照分發(fā)器的模式進(jìn)行設(shè)計(jì),配置的數(shù)據(jù)映射關(guān)系、視圖解析模式、支持本地文件上傳功能等。該設(shè)計(jì)機(jī)制結(jié)構(gòu)清晰、代碼可重用性高、執(zhí)行效率高等優(yōu)點(diǎn),但在時(shí)機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)與開發(fā)過程中,其缺點(diǎn)是實(shí)現(xiàn)難度較大、文件配置比較復(fù)雜,重要的是沒有數(shù)據(jù)持久化方案。

        目前,Spring框架為我們所提供了兩種數(shù)據(jù)持久化機(jī)制,第一種通過ORM對象與表字段之間的關(guān)系映射為工具,第二種則通過對JDBC數(shù)據(jù)庫對象連接類實(shí)現(xiàn)對數(shù)據(jù)封裝和持久化操作。前者能緩解面向?qū)ο髷?shù)據(jù)與關(guān)系數(shù)據(jù)庫存在不關(guān)聯(lián)的現(xiàn)象,但此過程必須依賴對象映射工具。后者設(shè)計(jì)機(jī)制簡單易用而且方便關(guān)聯(lián),但是缺點(diǎn)是未能解決面向?qū)ο髷?shù)據(jù)與關(guān)系數(shù)據(jù)庫之間的存在不關(guān)聯(lián)的現(xiàn)象。

        正因如此,本文研究針對Spring框架中的MVC設(shè)計(jì)模式實(shí)現(xiàn)功能擴(kuò)展實(shí)踐,提出一種由Spring框架改進(jìn)的MVC設(shè)計(jì)模式實(shí)現(xiàn)Web應(yīng)用系統(tǒng),其基本結(jié)構(gòu)和設(shè)計(jì)機(jī)理,并以基于Spring框架改進(jìn)的MVC實(shí)現(xiàn)網(wǎng)絡(luò)收藏夾為真實(shí)案例講述系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)過程。

        2 MVC設(shè)計(jì)模式概述

        2.1 MVC的基本設(shè)計(jì)思想

        Model、View和Controller的簡稱,即是MVC設(shè)計(jì)架構(gòu)。需要實(shí)現(xiàn)業(yè)務(wù)功能的分離,應(yīng)用系統(tǒng)形成以模型、視圖和控制三層的軟件架構(gòu)。

        第一,模型層負(fù)責(zé)處理業(yè)務(wù)以及狀態(tài)的處理過程。業(yè)務(wù)狀態(tài)對于其他層而言看不見的,模型層負(fù)責(zé)數(shù)據(jù)處理,收集數(shù)據(jù)處理結(jié)果。

        第二,視圖層負(fù)責(zé)數(shù)據(jù)交互管理,對于Web應(yīng)用系統(tǒng)視圖層通過HTML技術(shù)實(shí)現(xiàn),但是,各種網(wǎng)頁前端技術(shù)可以應(yīng)用其中,例如JS技術(shù)。通常情況下,視圖的作用負(fù)責(zé)對頁面控件數(shù)據(jù)的采集和系統(tǒng)處理數(shù)據(jù)的顯示,而不負(fù)責(zé)在視圖層的業(yè)務(wù)功能處理過程。

        第三,控制層負(fù)責(zé)從用戶獲取相關(guān)的請求操作,負(fù)責(zé)建立模型與視圖之間聯(lián)系,共同完成用戶請求操作。在MVC設(shè)計(jì)模式中,控制層并不需要做任何的業(yè)務(wù)數(shù)據(jù)處理,它只負(fù)責(zé)找到相匹配的模型的函數(shù),并將參數(shù)傳遞該模型車的函數(shù)。當(dāng)用戶發(fā)出請求時(shí),模型層處理完畢業(yè)務(wù)數(shù)據(jù)控制轉(zhuǎn)發(fā)給相應(yīng)視圖層為用戶顯示。

        第四,業(yè)務(wù)功能模型的設(shè)計(jì)。業(yè)務(wù)模型層設(shè)計(jì)主要實(shí)現(xiàn)對數(shù)據(jù)模型設(shè)計(jì),數(shù)據(jù)模型主要完成數(shù)據(jù)持久化操作,是指實(shí)體對象與表字段一一映射關(guān)系。

        2.2 基于MVC設(shè)計(jì)模式開發(fā)應(yīng)用系統(tǒng)的優(yōu)點(diǎn)

        業(yè)務(wù)數(shù)據(jù)處理與數(shù)據(jù)顯示在同一個(gè)文件的編碼方式,其缺點(diǎn)是使得程序編寫與調(diào)試變得麻煩,而基于MVC設(shè)計(jì)模式實(shí)現(xiàn)的Web應(yīng)用系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)過程,具備如下的優(yōu)點(diǎn):

        ①模型層與視圖層存在一對多的關(guān)系。全部視圖及時(shí)獲得來自于模型層數(shù)據(jù)的動態(tài)變化,使得視圖層與控制層數(shù)據(jù)同步。

        ②允許修改視圖層與控制層之間的對應(yīng)關(guān)系,可以實(shí)現(xiàn)需求動態(tài)變更。

        ③代碼可移植性與可重用性較好。由于模型層是獨(dú)立于其他層的,因此模型層可以實(shí)現(xiàn)不同平臺工作的移植。需要其他的平臺對視圖層與控制層實(shí)現(xiàn)動態(tài)的修改。

        3 Spring MVC框架的基本原理與配置

        根據(jù)MVC設(shè)計(jì)架構(gòu)的基本原理實(shí)現(xiàn)應(yīng)用系統(tǒng)需要獲取系統(tǒng)應(yīng)用的需求,設(shè)計(jì)應(yīng)用系統(tǒng)的MVC結(jié)構(gòu)前提需要充分了解系統(tǒng)的全部需求。

        3.1 Spring MVC框架的基本組件和處理流程

        Spring框架MVC設(shè)計(jì)結(jié)構(gòu)實(shí)現(xiàn)了MVC的核心組件,它作為控制器和處理邏輯為用戶提供了高級設(shè)計(jì)模式的功能。重要的是向MVC設(shè)計(jì)結(jié)構(gòu)添加控制反轉(zhuǎn)功能,這使得程序代碼具備高度耦合,提供了某種配置可實(shí)現(xiàn)動態(tài)變更組件可行性。Spring框架MVC設(shè)計(jì)結(jié)構(gòu)實(shí)現(xiàn)接受來自于用戶請求過程。

        ①前端控制器,它負(fù)責(zé)為處理程序控制轉(zhuǎn)發(fā)用戶請求和處理結(jié)果,并快速執(zhí)行視圖解析。它根據(jù)轉(zhuǎn)發(fā)地址給特定的控制器,負(fù)責(zé)處理具體也去請求對象,控制轉(zhuǎn)發(fā)器實(shí)現(xiàn)對模型層和視圖層代碼解析。

        ②控制器,控制器負(fù)責(zé)對Web業(yè)務(wù)層處理數(shù)據(jù)邏輯的組件,再根據(jù)實(shí)際調(diào)用需求業(yè)務(wù)Service完成數(shù)據(jù)業(yè)務(wù)邏輯處理請求。系統(tǒng)中存在一個(gè)缺省的處理器,它只是簡單的控制轉(zhuǎn)發(fā)接口。

        ③模型層和視圖層,控制器并傳遞給前端控制器某些參數(shù)和相關(guān)函數(shù),控制轉(zhuǎn)發(fā)器接收到來自于模型層和視圖層,將解析相關(guān)代碼,并將模型加載到相應(yīng)視圖上傳給用戶界面。

        ④視圖解析器,Spring框架提供了視圖解析的功能,大多數(shù)情形,模型層和視圖層的數(shù)據(jù)封裝,就需要通過視圖解析器解析相應(yīng)的數(shù)據(jù)顯示資源。Spring框架中內(nèi)置了很多種技術(shù),其中包括:JSP技術(shù)、模型模版和視圖顯示的支持。

        3.2 Spring MVC框架的應(yīng)用配置

        Spring框架MVC的設(shè)計(jì)架構(gòu)應(yīng)用配置主要包括:業(yè)務(wù)邏輯控制器、視圖解析器以及用戶請求。

        第一,配置控制轉(zhuǎn)發(fā)器DispatcherServlet類,其配置格式:

        第二,使用Controller定義控制轉(zhuǎn)發(fā)類,Spring框架提供基于一種注解的控制器類,該控制器不需要完成某種接口,也不需要實(shí)現(xiàn)框架的基類。

        第三,使用映射請求RequestMapping類完成類定義的標(biāo)注,將Controller定義控制轉(zhuǎn)發(fā)類與其他類關(guān)聯(lián),以便下一步實(shí)現(xiàn)的控制轉(zhuǎn)發(fā)。在映射請求RequestMapping類實(shí)現(xiàn)了Controller接口,而通過方法實(shí)現(xiàn)的過程中讓功能擴(kuò)展Spring框架。

        3.3 Spring MVC框架中XML配置的缺點(diǎn)

        Bean容器則是Spring框架的核心所在,并有效地結(jié)合AOP技術(shù),將業(yè)務(wù)功能管理加入其中,就需要構(gòu)建無狀態(tài)會話Bean容器即可實(shí)現(xiàn)一個(gè)輕量級框架。

        Spring框架實(shí)現(xiàn)MVC的設(shè)計(jì)結(jié)構(gòu)存在多種組件,他們都是基于XML文件格式實(shí)現(xiàn)的參數(shù)配置,Spring框架MVC設(shè)計(jì)結(jié)構(gòu)的缺點(diǎn):

        ①該框架必須要結(jié)合工程中的配置文件才可以對象間的一一對應(yīng)關(guān)系,該配置文件的代碼可讀性非常差。

        ②必須經(jīng)過依賴關(guān)系實(shí)現(xiàn)對XML文件解析,在XML文件中必須將這種配置關(guān)系全部配置正確后系統(tǒng)才可以運(yùn)行,而系統(tǒng)運(yùn)行之后并不能識別XML文件的錯(cuò)誤之處。

        ③由于系統(tǒng)中引入XML文件配置和描述的JavaBean對象,當(dāng)應(yīng)用系統(tǒng)的實(shí)體對象達(dá)到一定數(shù)量時(shí),該應(yīng)用系統(tǒng)很難升級和維護(hù),一旦應(yīng)用系統(tǒng)中的XML文件變多,可讀性就越差。本文建議配置完XML文件的功能,從而有效減少XML文件配置任務(wù),有效地提高程序代碼的高內(nèi)聚性。

        4 Spring MVC框架的具體實(shí)現(xiàn)

        4.1 視圖層的具體實(shí)現(xiàn)

        視圖層的實(shí)現(xiàn)是通過JSP技術(shù),本文主要是根據(jù)實(shí)際的功能需求構(gòu)建視圖層頁面顯示過程。

        4.2 控制層的實(shí)現(xiàn)

        ①系統(tǒng)主控制器的實(shí)現(xiàn)

        系統(tǒng)主控制器的實(shí)現(xiàn)過程主要包括:構(gòu)建和配置主控制類。主控制類需要繼承于HttpServlet類,主要繼承了基本的接口函數(shù)。

        ②系統(tǒng)過濾器的實(shí)現(xiàn)

        系統(tǒng)過濾器MainFilter接口是由Filter類所組成,前者負(fù)責(zé)實(shí)現(xiàn)主要過濾功能,后者玩初始化Filter類。Filter類實(shí)現(xiàn)在系統(tǒng)的Web.xml配置文件中過濾,過濾器模式使用的URL樣式,而且兩者使用控制元素不同而已。

        4.3 業(yè)務(wù)邏輯層的實(shí)現(xiàn)

        ①基本業(yè)務(wù)邏輯處理類的實(shí)現(xiàn)

        基本業(yè)務(wù)邏輯處理類Manager()函數(shù),其與具體業(yè)務(wù)非常緊密,需根據(jù)特定的業(yè)務(wù)處理才能夠?qū)崿F(xiàn)基本業(yè)務(wù)處理功能,基本業(yè)務(wù)邏輯處理類實(shí)現(xiàn)步驟如下:

        第一,系統(tǒng)中定義了xxxManager()類,會根據(jù)實(shí)際業(yè)務(wù)功能需求繼承父類的方法,每個(gè)接口方法會實(shí)現(xiàn)具體業(yè)務(wù)需求,例如:管理用戶功能、實(shí)現(xiàn)訂單管理等。

        第二,系統(tǒng)中定義了xxxManagerImpl()接口類,根據(jù)特定的業(yè)務(wù)功能編寫此類接口方法。在接口實(shí)現(xiàn)過程中,完成數(shù)據(jù)的持久化操作與用戶的交互行為,通過調(diào)用數(shù)據(jù)訪問類DAO實(shí)現(xiàn)對數(shù)據(jù)庫的訪問操作。

        第三,配置Application Context.xml文件,為xxxManagerImpl接口類配置實(shí)體對象和注入能夠操作數(shù)據(jù)庫對象。

        ②AOP事務(wù)的實(shí)現(xiàn)

        高級業(yè)務(wù)邏輯處理是需要基于控制反轉(zhuǎn)機(jī)制和面向切面編程技術(shù)共同實(shí)現(xiàn)的管理操作??刂品崔D(zhuǎn)完成用于業(yè)務(wù)對象依賴注入關(guān)系的一種機(jī)制,其原理是將程序員所設(shè)計(jì)的類與類之間的關(guān)系全部交給容器實(shí)現(xiàn),只需要調(diào)用類在這個(gè)容器中定義函數(shù)名稱即可,有效減小業(yè)務(wù)對象之間的彼此依賴度,并實(shí)現(xiàn)了很多業(yè)務(wù)對象之間耦合度。

        5 本文結(jié)論與未來研究方向

        Spring框架實(shí)現(xiàn)的MVC設(shè)計(jì)模式主要是利用控制反轉(zhuǎn)策略和依賴注入機(jī)制共同完成,以達(dá)到降低代碼之間的耦合度、減少重復(fù)代碼編寫量的目的。Spring框架實(shí)現(xiàn)的MVC設(shè)計(jì)模式分離了Web應(yīng)用系統(tǒng)的全部功能。本文重點(diǎn)研究了Spring框架實(shí)現(xiàn)的MVC設(shè)計(jì)模式的基本原理和組成。此外,Spring框架實(shí)現(xiàn)的MVC設(shè)計(jì)模式可通過配置相關(guān)的攔截器類實(shí)現(xiàn)AOP權(quán)限反轉(zhuǎn)控制,如何在Spring框架實(shí)現(xiàn)的MVC設(shè)計(jì)模式基本流程是下一步的研究方向。

        [1]鄒存潔.基于MVC模式的Spring框架的應(yīng)用與研究[D].大連:大連海事大學(xué),2006

        [2]陳平.基于Spring的輕量級Web框架的研究與設(shè)計(jì)[D].江蘇鎮(zhèn)江:江蘇大學(xué),2005

        [3]符培炯,杜忠軍.Spring在實(shí)現(xiàn)MVC構(gòu)架中的應(yīng)用[J].計(jì)算機(jī)技術(shù)與發(fā)展,2006,16(6):236-238

        [4]張利,吳傳勝,崔雷,等.應(yīng)用MVC模式構(gòu)建Web信息系統(tǒng)框架研究[J].合肥工業(yè)大學(xué)學(xué)報(bào):自然科學(xué)版,2007,30(7):829-832

        [5]王承冠,陸金桂.基于SPRING和VELOCITY的Web開發(fā)模式及其應(yīng)用[J].微計(jì)算機(jī)信息,2006,22(30):230-232

        猜你喜歡
        設(shè)計(jì)模式視圖框架
        仿生設(shè)計(jì)模式的創(chuàng)新應(yīng)用探索
        玩具世界(2023年6期)2024-01-29 12:14:36
        “1+1”作業(yè)設(shè)計(jì)模式的實(shí)踐探索
        框架
        廣義框架的不相交性
        交通機(jī)電工程設(shè)計(jì)模式創(chuàng)新探討
        5.3 視圖與投影
        視圖
        Y—20重型運(yùn)輸機(jī)多視圖
        SA2型76毫米車載高炮多視圖
        WTO框架下
        法大研究生(2017年1期)2017-04-10 08:55:06
        天堂岛国精品在线观看一区二区| 高h小月被几个老头调教| 精品久久久无码人妻中文字幕豆芽| 国产又爽又粗又猛的视频| 精品国产国产AV一区二区| 日本一区二区不卡超清在线播放| a级三级三级三级在线视频| 精品国产成人av久久| 国产成人亚洲综合无码品善网| 色偷偷久久一区二区三区| 国产精品国产三级国产专区5o| 国产日韩精品视频一区二区三区| 日本最新视频一区二区| 国产a级三级三级三级| 中文日韩亚洲欧美制服| 久久青青草原亚洲AV无码麻豆| 又污又爽又黄的网站| 鲁一鲁一鲁一鲁一曰综合网| 久久婷婷国产剧情内射白浆 | 欧美丰满少妇xxxx性| 国产精品熟女视频一区二区| 99热最新在线观看| 精品国产又大又黄又粗av| 亚洲精品国产亚洲av| 色哟哟最新在线观看入口| 全部孕妇毛片丰满孕妇孕交| 日韩AV无码一区二区三不卡| 蜜臀一区二区av天堂| 亚洲中文字幕舔尻av网站| 成人精品视频一区二区三区尤物| 蜜臀av一区二区| 国产精品人人爱一区二区白浆| 国产交换精品一区二区三区| 男女猛烈拍拍拍无挡视频| 老司机在线精品视频网站| 蜜芽尤物原创AV在线播放| 亚洲精品中文字幕乱码无线| 日韩久久无码免费毛片软件| 国产精品白丝喷水在线观看| 国产超碰人人一区二区三区| 中文字幕有码久久高清|