mvc框架范例6篇

前言:中文期刊網精心挑選了mvc框架范文供你參考和學習,希望我們的參考范文能激發你的文章創作靈感,歡迎閱讀。

mvc框架

mvc框架范文1

Abstract: Along with the development of J2EE technology, many excellent Java Web frames based on mvc pattern were produced. It becomes a major challenge for system developers that how to choose the appropriate Web framework according to the characteristics of the actual project to develop projects. This paper makes a deep comparison analysis and discussion to several popular MVC frameworks in the application of J2EE.

關鍵詞: J2EE;MVC;Struts;Spring;Web Work;Tapestry;JSF

Key words: J2EE;MVC;Struts;Spring;Web Work;Tapestry;JSF

中圖分類號:TP311 文獻標識碼:A文章編號:1006-4311(2010)19-0102-02

0引言

隨著應用程序的大型化和復雜化,傳統開發方式已不能滿足應用需求。MVC(模型一視圖一控制器)設計模式的引入很好的解決了上述問題,MVC的核心思想就是視圖層只關注顯示相關的內容,模型層只負責業務邏輯,控制器則把視圖和模型相互聯系起來。然而在現實中由于每個人對應用的理解不盡相同,所以很難嚴格按照MVC的規范來做。在J2EE的應用中,已經出現了很多實現MVC規范的框架,框架是可重用半成品軟件。在J2EE的應用中使用這些實現了MVC規范的框架,開發人員采用“填空式”的方式來進行軟件開發,有助于開發者快速和容易地建立起可擴展、可復用的大型的企業級應用,大大提高開發效率,同時也可以大大降低因人員變更所帶來的風險,隨著J2EE的成熟,MVC設計模式正成為在J2EE平臺上推薦的一種設計模型,也是廣大Java開發者非常感興趣的設計模型。

1Web MVC框架的三種類型

1.1 基于請求驅動目前最流行的Web MVC框架,如WebWork、Struts、Spring MVC。

1.2 基于事件驅動代表的Web MVC框架有Tapestry、JSF(JSR127)。

1.3 基于Portlets(JSR168)類似于Servlets,代表的Web MVC框架是JetSpeed。

2MVC框架簡介

2.1 Struts MVCStruts是一個基于J2EE平臺的輕量級開源MVC框架,也是目前最成熟的Web框架的之一。Struts是Apache軟件基金下Jakarta項目的一個組成部分。Struts簡單易用、敏捷迅速,它把Servlet、JSP、JavaBean、自定義標簽和信息資源整合到一個統一的框架中,極大地節省了運用MVC模式開發Web應用的時間。

2.2 Spring MVCSpring是一個輕量級的控制反轉(IOC)和面向切面(AOP)的容器框架。從大小與開銷兩方面而言Spring都是輕量級的。Spring通過一種稱作控制反轉(IOC)的技術促進了松耦合。同時,Spring提供了面向切面編程的豐富支持,允許通過分離應用的業務邏輯與系統級服務進行內聚性的開發。

2.3 WebWork MVCWebWork是由OpenSymphony組織開發的,致力于組件化和代碼重用,是基于MVC模式的JavaWeb框架,較Struts框架更為簡單、靈活、高效。

2.4 Tapestry MVCTapestry是基于組件的Java Web應用框架。它架構在Java Servlet基礎之上,用于創建動態、交互式網站。在Tapestry中一切都是組件。Tapestry框架是一個位于Java Servlet容器和Tapestry應用程序之間的層。Tapestry不是一個獨立運行的服務器,是一個Servlet的擴展,運行于Servlet容器或包含Servlet容器的應用服務器中。Tapestry應用其實是由一系列頁面組成,頁每個頁面是由可以復用的組件構成。

2.5 JSF 框架JavaServer Faces(JSF)是一種用于構建Web應用程序的新標準。JSF非常簡單,是一個定義良好的編程模型。利用這個技術,開發者通過在頁面內組合可重用的UI組件,在把這些組件和應用的數據源相連,路由客戶產生的事件到服務器端的事件處理器進行編程。JSF處理了所有幕后的復雜工作,使得開發者把關注重點放在應用代碼上。

3MVC框架的比較分析

對于Struts來說,由于許多問題已經被解決,使用它開發容易。HTML標簽是它最優秀的地方。Struts是目前Java Web MVC框架中不爭的王者。經過長達五年的發展,Struts已經逐漸成長為一個穩定、成熟的框架,并且占有了MVC框架中最大的市場份額。但是Struts某些技術特性上已經落后于新興的MVC框架。面對Spring MVC、Webwork2這些設計更精密,擴展性更強的框架,Struts受到了前所未有的挑戰。但站在產品開發的角度而言,Struts仍然是最穩妥的選擇。

Spring作為一個輕量級的控制反轉( IOC) 和面向切面(AOP)的容器框架已經非常優秀,如果非要談論其不足,Spring框架的開放性可能會給它帶來一些不好的因素,另外它的控制器過于靈活,缺少一個公用控制器。

WebWork結構簡單易于擴展,標簽庫易于定制,攔截器也非常出色,但它的文檔示例少,客戶端驗證技術不成熟。

Tapestry技術過于復雜,學習難度高,實現很不容易。這樣就算你掌握了這種技術,仍然不能夠把整個Web層做出來,還需要掌握其他很多相配合的技術,然后整合一個Web層的完整框架出來。

相對于以上幾種框架技術,我個人更看好JavaServer Faces,拋開JSF是標準而非一個簡單的open source framework,筆者認為,JSF將是未來發展的主流,因為軟件開發“工業化”不可避免的是未來發展的方向。

4SSH的體系架構

SSH即Struts2+Spring+Hibernate,表現層的開源Struts2,數據持久層的Hibernate框架以及中間層的Spring框架,這三者構成了當前主流的開發J2EE應用的輕量級框架組合,使用Struts2架構作為了整個系統的基礎框架,它負責了MVC模型中各層的分離,使項目的可擴展性大大增強,提升了開發效率,降低了維護成本。Hihernate作為持久層上的“對象-關系”映射輕量級組件,對持久層進行了輕量級封裝,降低了程序的復雜度,減輕了開發的負擔。中間業務邏輯層由Spring支持,Spring作為一個優秀的輕量級框架,具有強大的應用功能及靈活性,非常適合中間層平臺。三個框架的組合將在web企業開發中有廣闊的發展空間。

5結束語

隨著技術的進步,各種Web框架的功能必將不斷發展和完善。對于業務邏輯較簡單的系統,開發人員可以根據項目的特點選擇合適的框架作為基礎進行開發。對于業務邏輯復雜的系統,開發人員可以充分利用各框架的優勢進行整合開發,從而提高系統的性能和開發效率。

參考文獻:

[1]強勇軍,楊春.基于MVC的J2EE應用開發分析與比較.實驗科學與技術,2008,(6).

[2]葉加青.Spring框架技術的應用.計算機時代,2009,(10).

[3]秦海鷗,蔡秋楓.Struts、Spring和JSF框架的比較與分析.科技廣場,2009,(7).

[4]葉顯中,劉曉燕,周紹景.基于J2EE平臺的MVC框架的研究.工業控制計算機,2010,(4).

mvc框架范文2

【關鍵詞】應用型人才 Web開發技術 MVC框架

【中圖分類號】G434 【文獻標識碼】A 【文章編號】1674-4810(2012)05-0009-01

一 背景

當今軟件行業蓬勃發展,很多高校認識到發展應用型本科教育既是社會發展的要求,也是教育發展的要求?,F有計算機專業教學內容的選擇,不同學校由于培養目標不同,觀點也不同。但對軟件開發,普遍認同Web開發是大勢所趨,因此,以Web應用開發為教學內容的核心,是許多面向應用型人才培養高校的選擇。但許多高校還停留在的事件驅動模式,有的甚至采用ASP作為主要教學內容。

在Web應用開發技術中,越來越多的軟件開發采用了MVC設計模式。由此可見,研究如何將教學內容從傳統的之類的模式轉向MVC開發模式是十分有必要的,也是十分緊迫的一項工作。

本文首先討論MVC開發模式的教學方式選擇,然后介紹MVC原理和自主開發實現的一個既適用于教學,又適用于實際開發的輕量級MVC開發框架,以及使用該框架開展教學的思路。

二 教學方式選擇

計算機專業教學必須做到理論和技術相結合,但如把“實際設計實現某系統”作為教學目標,則是一個看似合理卻很難操作的事情。在結合實踐開展教學方面,目前國內外高校采用的通常有以下幾種形式:模擬驗證型、使用驗證型、剖析驗證型和擴展設計型。

通常程序教學采用的教學方法為使用驗證型,教師先提出需求,再通過實例說明如何實現需求,最后給出類似的題目讓學生模仿,這可以幫助學生快速掌握開發技術。但由于MVC將輸入―處理―顯示過程徹底分離,使用傳統教學方法使得學生往往不理解MVC的原理,很難將其模仿得到的技能知識推廣到其他問題中。

顯然要培養高素質的應用型人才,最理想的形式應該是“擴展設計型”。這方面最著名的例子就是Minix,改變了操作系統這門課程的教學形式。由此可見,要將Web應用開發的教學從傳統的之類的模式轉向MVC開發模式,應該采用擴展設計型的教學方式。

三 教學MVC框架

目前流行的MVC開發框架有很多,但采用這些技術作為教學內容,則只能采用模擬驗證、使用驗證方式開展教學,因此有必要開發一個面向教學、兼顧實用的MVC開發框架,以該框架為基礎開展教學。該開發框架應該具有MVC所有核心功能,功能簡單、清晰,有利于教學,但同時必須考慮足夠實用性,避免教學脫離實踐。

1.MVC框架

MVC應用程序被分成三個核心部件:模型、視圖、控制器。其處理過程,首先由控制器接收用戶請求,并決定調用哪個模型來進行處理,然后模型用業務邏輯來處理請求并返回數據,最后控制器用相應的視圖格式化模型返回的數據,并通過表示層呈現給用戶。

2.Pangu MVC框架

Pangu MVC是.NET平臺下的一個MVC開發框架,由紹興市教育科學2011年度規劃課題(SGJ11007)資助開發,主要包括Model、Controller和View三部分。Model實現ORM,復雜但和MVC原理關系不大,教學中可以略講。Controller的核心包括Router和Controllers兩個模塊。Router實現URL路由,也就是根據URL請求確定對應的Controller、Action和參數;Controller實現控制器基類,主要實現Web上下文管理、調用Action和操縱View。而View部分則提供視圖操控能力,也就是將變量融合到模板中組裝出Html的方法,其核心是Token(標簽)的處理。

該教學框架功能清晰,在保持足夠實用性的基礎上去掉了許多“高級功能”,有利于學生將注意力集中在MVC原理的關鍵技術上,有利于教學的開展。支持以下重要教學概念:依賴注入(DI)、多數據庫、ORM、對象訪問服務、控制器、URL路由、視圖模板。

3.教學安排

基于該MVC框架,教學活動安排如下:第一,按照“擴展設計”模式,完成一個開發教學案例,幫學生不但掌握使用MVC開發系統的原理,而且能將其應用到實際的開發過程中。第二,編寫教程,對MVC原理和實現思路進行詳細介紹,便于教師將其用到教學中,讓學生真正掌握MVC開發框架思想。

四 總結

通過開發面向教學的MVC框架以及配套的教學素材,將其應用到計算機專業本科學生Web應用開發的教學中,解決了原來學生難以理解MVC運作機制,從而難以真正應用MVC開發模式的問題,收到了良好的教學效果。

參考文獻

[1]馬小軍、王育堅.計算機應用型人才培養與課程建設淺析[J].計算機教育,2009(10)

[2]Ed H. Chi, Ruben Ortega. Expanding CS education; improving software development[J]. Communications of the ACM, 2010(53)

[3]劉林東. Web應用開發課程的教學研究[J].電腦知識與技術,2009(27)

mvc框架范文3

                             圖2        ctmbform作為actionform bean可以在視圖和控制器之間傳遞html表單,其屬性與表單中的字段是一一對應的,ctmbform的validate()方法可以完成與表單的數據格式和語法相關的有效性檢查,如銷售單編碼、結算金額不能為空等。

struts框架的核心控制器組件actionservlet的doget()或dopost()方法在收到用戶請求后都會調用其process()方法處理請求。首先選擇能夠處理當前請求的子應用模塊,并在request范圍內寫入配置信息和消息資源;之后完成一些預處理請求操作,在預處理請求操作的尾部創建并保存ctmbaction實例,并調用ctmbaction實例的execute()方法,該方法再調用相應模型進行實際的業務邏輯處理,完成用戶的請求;最后根據execute()方法返回的結果執行請求轉發或重定向。 在系統中模型由ejb組件實現,系統多層結構的設計如圖3所示:                                    圖3       ctmbejb作為一種jndi資源運行在ejb容器中,在多層結構中ctmbejbdelegateimpl業務實現類無法創建ctmbejb組件,而是通過查找名為“ejb/ctmbejb”的jndi資源獲得該資源的引用。 ictmb接口的作用是削弱客戶程序與模型的關系,客戶程序通過該接口來訪問ejb組件的業務方法。 ctmbaction對ejb組件進行調用的時序圖如圖4所示:

                                圖4       在多層結構中,業務對象bo主要封裝了一些實體,如客戶customerbo、銷售單salesslipbo、結算單balancingslipbo、應收款帳accountsreceivablebo、預收款帳prereceivingbo、現金帳cashaccountbo和銀行帳bankaccountbo等等。圖5所示為上述七個業務對象之間的關聯關系,以及部分業務對象的屬性和方法:                                 

mvc框架范文4

關鍵詞:MVC設計模式;B/S;CRM;三層模式;APP;Android;iOS

中圖分類號:TP317 文獻標識碼:A 文章編號:1009-3044(2017)05-0066-03

Abstract: To follow computer network application technology globalization upsurge, human society has entered a new era of Internet information, the network technology has seeped into every field of industry economic development, the network technology has evolved into enterprise development, effective rapid success way, promote the enterprise economic growth at the same time, and promote the economic interests of the national overall rise, become a new important form to promote economic development. With the rapid development of market economy in our country, the third industry headed by network technology also quietly rising. Mobile Internet bring to people's life style earth-shaking changes, on the one hand, smart phones in rapid development, the use of young people to occupy the main market, for the realization of the mobile Internet application to lay a good foundation; Mobile Internet, on the other hand, with a new user experience, and is convenient, interaction and application of these new features, for young people to pursue fashion attitude and the satisfaction of large and deep to attract

Key words: MVC design pattern; B / S; CRM; three-tier model; APP; Android; iOS

追S計算機的網絡應用技術全球化的熱潮,人類推動社會進入了一個全新的信息互聯時代,網絡技術已經滲到經濟發展行業的各個領域中,網絡技術已經演變成企業發展,行之有效的快速成功途徑、推進企業經濟增長的同時,帶動國家的經濟利益整體上升,成為新型經濟發展重要推動形式,以互聯網應用技術為首的第三產業也悄然崛起。2016年中國互聯網用戶數突破8.68億,隨著互聯網中國用戶群的日益龐大,新興的互聯網產業正悄然占據著市場經濟的大片江山。

與時俱進,通信行業也隨著這場信息時代的浪潮,徹底顛覆了人們傳統的觀念。從最早的寄信方式轉變到打電話,從打電話轉到移動手機通話,從移動手機通話演變到能獲取大信息量的智能手機時代,人們獲取信息的方式和發展速度發生了翻天覆地的變化。據中國的權威的工業信息化部的官方數據顯示,截至2016年11月未,中國的手機用戶人群數達11.04億,較去年用戶數增長了近1.18億。結果表明目前中國市場約82%的人是手機用戶。而4G手機人數達2.2億,約占到總人數的20%。除了通信行業增長勢頭猛進,傳統互聯網用戶數增幅240.3萬,而移動互聯網增幅5.5億新用戶。

據另一權威調研機構的報告顯示,2016年移動互聯網第一大用戶群是18-24歲這個范圍,達到57.0%;位居第二位的是25-30歲的用戶,占比為23.2%;40歲以上的移動互聯網用戶占比僅為2.1%,比例最小。該機構展示了2016年和2015年調研對比數據,24歲及以下年青追求時尚,用戶占比飛躍上升,而25歲群體相對理性些,呈現階梯型的下降,對比報告展示出移動互聯網用戶人群低齡化的趨勢。新一代的大學生成為消費主體,快速的推動移動互聯網發展。

低齡化的移動互聯網趨勢,也透漏出未來三到五年的移動互聯網市場前景,年輕用戶仍將作為移動互聯網主體群體延續。這體現在,一方面,智能手機在飛速發展,年輕人群占據主要的使用市場,為移動互聯網應用的實現打下良好基礎;另一方面,移動互聯網以新的用戶體驗,及便捷、互動、新型應用這些特點,使年輕人追尋時尚的心態得到及大的滿足和深深的吸引。24歲以下的群體以在校大學生為主,他們對于各種信息平臺的認知和熟悉度普遍非常強。

根據馬斯洛需求理論,人們在最基本的安全與生理需要得到滿足后,會追求思考更高一層的境界,情感和歸屬的需求,尊重的需求,自我實現的需求?,F代大學生趕上市場經濟的轉型與信息量爆炸的年代,隨著學歷的提高,他們對手機的要求,不止滿足于通話與發短信的功能,更多的是把手機作為信息接受傳播,了解時事新聞,建立社交網絡,生活助力,游戲娛樂的工具。針對大學生的這些現狀,魚龍混雜的生活服務類應用軟件更是層出不窮,以大學生的利益為發點,提供信息方便,學習生活的應用軟件還并不多見,于是這個需求市場趨動下,大學生群體的高博微校園APP也孕育而生了。

1 盈利模式

由于高博微校園是一個以服務在校大學生為立足點的應用APP,所以對于大學生而言這是一個完全免費的應用軟件,免費下載,免費使用,免費升級,我們不向大學生收取任何費用。簡單來說,我們把使用APP的大學生賣給廣告商,再把廣告商的廣告賣給大學生。我們在周邊生活指南的時候,向大學生推薦一些商家和他們的產品,我們向這些商家收取一定的宣傳費即廣告費,他們有新產品推出的時候我們及時在APP上進行更新,如果消費者拿著APP上的優惠券進行消費,或者直接通過我們的應用軟件叫外賣或定位點餐,我們將會這一數據統計,與商家進行一個盈利分賬。

2 MVC設計模式

本設計采用經典的MVC設計模式,它作為一套標準的解決問題方案,在B/S軟件設計框架中廣泛應用。簽于這種開發模式對于一模型處理多個請求的優點,使客戶端的節點數增加更加容易,更為靈活的設計和實現模型對象。

MVC全名是Model View Controller,是基于模型(modal)、視圖(view)、控制器(controller)三者組成的設計模式。其中的模型(modal)的功能是接受控制層傳入過來的數據,從而進一步調用數據層實現業務開展功能,主要包括模型實體層、模型業務層。視圖對象(view)提供用戶界面展示功能,主要包括UI(JSP、HTML等)??刂破鳎╟ontroller)對象作為銜接視圖對象和模型對象之間的橋梁作為,主要包括servlet、filter等。MVC設計模式如圖1所示。

從圖1可以看到,請求操作從客戶端開始,傳達到控制器,控制器接收到請求內容后調用業務層邏輯,業務層邏輯負責再調用數據訪問層,實現業務層功能的數據部分處理,最后業務層把數據結果帶給控制器,控制器根據業務邏輯的返回結果信息,跳轉到相應的頁面進行展示,在這一系列過程中,實體層作為數據裝載體,進行不同層之間的數據傳遞。

3 系統分析

基于MVC框架下高博微校園APP系統主要包括如下幾個方面的功能:

1)注冊、登錄功能,主要針對除游客以外的所有用戶。

2)二手市場模塊,用戶可以要出售的二手商品,也可以訂購二手商品。

3)尋物啟事模塊,用戶可以自己的遺失物品,也可以為他人找回遺失物。

4)找代課模塊,用戶可以自己要找代課的具體信息,也可申請其他用戶請求的代課。

5)個人中心模塊,用戶可以查看自己以及好友的個人資料,也可以修改自己的個人資料。

以上功能綜合,形成一種性能優化且高效的實現校園日常生活輔助的應用小工具。系統具體的功能模塊如圖2所示。

4 系統相關功能模塊設計

由圖2分析出系統五大功能模塊,針對高博校園APP的需求進行細致的分析,再結合軟件架構的設計,最終實現所有功能,在這里以部分模塊的部分功能為例,進行詳細分析。

4.1 注冊登錄模塊管理

除游客外,其他使用該應用的用戶都需要注冊登錄應用。游客只能瀏覽應用的大致信息,若要具體查看,則需注冊登入應用。注冊是以輸入電話號碼獲取短信驗證碼的形式進行注冊的,一旦注冊,以后只需登錄即可。

1)注冊功能:用戶點擊注冊按鈕,輸入電話號碼,點擊獲取驗證碼;輸入驗證碼,點擊注冊;后臺接受提交數據,檢測數據是否有效;注冊成功,自動登錄;注冊失敗,可繼續注冊。

2)登錄功能:用戶點擊登錄按鈕,彈出登錄頁面;填寫用戶名、密碼,點擊登錄按鈕;后臺接受登錄信息,檢測數據匹配是否成功;若要找回密碼,點擊忘記密碼;輸入電話號碼,后臺檢測號碼是否存在,若不存在,跳出提示框;點擊獲取驗證碼,輸入驗證碼,匹配成功后,輸入新密碼,調用后臺數據接口修改密碼;登錄成功,返回首頁;登錄失敗,繼續登錄。

3)本模塊業務流程如下圖3所示:

4.2 尋物啟事模塊管理

該模塊主要包括:尋物啟事的具體信息以及發現遺失物的功能。登錄成功后,進入到尋物啟事模塊,可以采用UITableView或者UICollectionView來定義合適的樣式來展示所尋物品的具體信息。若遺失物品已找回,尋物信息便會下架。

1)尋物啟事:進入我的遺失物品,先判斷是否成功登錄,只有登錄成功的情況下才可以尋物啟事,填寫尋物信息的具體描述,上傳物品圖片,提交到校園APP平臺,所有平臺用戶可以看到此尋物啟事。

2)查看z失物:進入尋物列表,先判斷是否成功登錄,只有登錄成功的情況下才可以查看的遺失物品列表,如果自己有找到其失主的遺失物品,可以在平臺上選擇對應尋物啟事,申請發現遺失物,與失主進行聯系,把遺失物還給失主。

3)本模塊業務流程如下圖4所示:

4.3 二手市場模塊管理

該模塊主要包括:出售二手商品信息,訂購二手商品。登陸成功后,進入到二手市場模塊,可以采用UITableView或者UICollectionView來定義合適的樣式來展示二手商品的信息,點擊撥號可以直接聯系買家或者賣家。在商品交易成功后,的商品交易信息便會下架。

1)二手商品信息:進入我的商品,先判斷是否成功登錄,只有登錄成功的情況下才可以出售二手商品,填寫二手商品信息的具體描述,上傳商品圖片,提交到校園APP平臺,所有平臺用戶可以看到此二手商品信息。

2)購買二手商品:進入尋物列表,先判斷是否成功登錄,只有登錄成功的情況下才可以查看的二手商品列表,如果有中意的商品,可以在平臺上選擇對應商品信息詳情,聯系賣家,與賣家進行微信,短信,電話等方式進行聯系,確認交易方式。

3)本模塊業務流程如下圖5所示:

4.4 個人中心模塊管理

該模塊主要包括:展示用戶的個人信息及修改用戶的個人信息。登陸成功后,進入到個人中心模塊,將個人的信息展示出來,并且具有修改資料的功能。

1)個人中心管理:打開APP,進入首頁,可以點擊“我的”,進入個人中心頁面,先判斷是否成功登錄,沒有登錄,必須注冊賬號,并進行登錄(詳見注冊登錄模塊管理)。登錄成功后,可以查看/修改自己的資料,并完善信息,填寫聯系方式,上傳圖片。也可以查看好友的相關資料信息,實現個人相關資料的管理。

2)本模塊業務流程如下圖6所示:

5 結論

鑒于以上所規劃的功能,考慮到適應性,安全性,擴展性,采用MVC經典設計模式,便于本系統的升級和二次開發,也能保障軟件開發規范與易擴展性規范。后續在實現了基本功能后,可以再擴展朋友圈功能,增加這款高博微校園APP的娛樂性與交互性。

參考文獻:

[1] 周雙權, 廖英杰, 胡龍超, 等. 基于MVC框架下的生產用電統計分析系統的設計與實現[J]. 電腦知識與技術, 2016, 12(4).

[2] 王晶晶. 基于MVC3架構醫院基建管理系統的設計開發和應用[J]. 電子設計工程, 2016, 24(6): 118-120.

mvc框架范文5

【關鍵詞】電力營銷系統;軟件開發;MVC2;Struts

電力營銷系統是大型分布式行業應用軟件,具有技術復雜、軟件規模大、復雜度和數據處理量大的特點,然而代碼的復用率、可維護性和可擴展性就成為這類軟件是否具有生命力的關鍵因素。技術人員一直試圖解決軟件開發的復雜性問題,盡力使開發的軟件使用壽命延長,并努力提高軟件代碼的復用率,使各部分形成松耦合,使系統的層次結構更加清晰,易于分工協作,從而提高系統的可擴展性和可維護性,提高代碼復用率。MVC模型及Struts框架就是符合這種需求的一種軟件開發技術。

1.MVC模型

MVC由Trygve Reenskaug提出,首先被應用在SmallTalk-80環境中,是許多交互和界面系統的構成基礎。MVC不是一種具體的程序設計、開發工具,而是一種思想、一種開發模式,這種思想(模式)就是程序框架的思想(模式),框架是可重用的。MVC的主要思想就是在各個對象之間取得高層接口,同時在程序與程序之間進行重用。MVC主要由3個部分組成:模塊(Model)、視圖(View)和控制器(Controller)。MVC模型如圖1所示。

各部分主要功能如下:

(1)模塊是程序執行的關鍵部分。所有的操作都是在這一部分實現的。他提供應用業務邏輯類。他若需要取得視圖中的對象或更新視圖時,需要通過控制器來進行處理。

(2)視圖是屏幕上的顯示,模塊進行操作之后,其結果就是通過視圖來顯示的。

(3)控制器用于管理用戶與視圖發生的交互。一旦用戶想對模塊進行處理時,他不能直接去執行模塊,而是通過控制器來間接地實現??刂破骶哂刑幚硪晥D和模塊的指針。具體來說,就是能從控制器視圖中取值,然后將相應的值傳給模塊進行處理。

MVC2是專門針對Web應用程序開發的MVC模型。他由3個主要組成元素:JSP,Servlet和JavaBeane。其中JSP對應于MVC模型的view,Servlet對應于Controller,Bean對應于Model。MVC2的結構如圖2所示。

MVC2與MVC的主要區別是:在MVC模型中,View和Model間是登錄和通知的關系,當Model對象的數據發生變化時,通知己登錄的View對象,顯示新的數據,這是所謂Observer的設計模型。在Observer模式下,每次Model的變化都會傳給View,但并不是所有的View都對變化的數據感興趣,同時也增加了網絡的負擔,影響運行效率。而在MvC2模型中,View和Model間是工作在非Observer模式,這是由web應用軟件的特點所決定的。因為在HTTP協議中,客戶端發出請求,收到服務器的應答數據后,客戶端和服務器間的鏈接就斷開了,在該模式下網絡流量降低,提高了系統性能。

MVC是一種模型,可以有各種不同的具體實現MVC思想的程序框架,Struts則是一種具體實現MVC2模式的優秀的程序框架。

2.Struts概念

Struts是Apache組織的一個開放源碼項目。他由一組相互協作的類、ServIet和JSP標記組成的一個可重用的系統設計[2]。Struts包含了豐富的標記庫和獨立于該框架運行的實用程序類。Struts體系結構如圖3。

作為一個MVC的框架,Struts對Model,View和Controller都提供了相應的實現組件。Struts框架的核心組件是:ActionServlet,Action,ActionMapping,ActionFor-ward,ActionForm。他們與MVC模型的關聯描述如下:

(1)Model:MVC系統中的Model部分從概念上可以分為2類:系統的內部狀態和改變系統狀態的動作。Struts為Model部分提供了Action和ActionForm對象,所有的Action處理器對象都是開發者從Struts的Action類派生的子類。Action處理器對象封裝了具體的處理邏輯,調用業務邏輯模塊,并且把響應提交到合適的View組件以產生響應。Struts提供的ActionForm組件對象,他可以通過定義屬性描述客戶端表單數據。開發者可以從他派生子類對象,利用他和Struts提供的自定義標記庫結合可以實現對客戶端的表單數據的良好封裝和支持,Ac-tion處理器對象可以直接對他進行讀寫操作,而不再需要和request,response對象進行數據交互。通過ActionF-orm組件對象實現了對View和Model之間交互的支持。Struts通常建議使用一組JavaBean表示系統的內部狀態,根據系統的復雜度也可以使用象Entity Bean和SessionBean等組件來實現系統狀態。Struts建議在實現時把Action和業務邏輯分離,這樣便于實現代碼復用。

(2)View:Struts應用中的view部分是通過JSP技術實現的。Struts提供了白定義的標記庫,通過這些自定義標記可以很好地和系統的Model部分交互,通過使用這些自定義標記創建的JSP表單,可以實現和Model部分中的ActionForm的映射,完成對用戶數據的封裝,同時這些自定義標記還提供了像模板定制等多種顯示功能。

(3)Controller:控制器的作用是從客戶端接受請求,并且選擇執行相應的業務邏輯,然后把響應結果送回到客戶端。在Struts中Controller功能由圖中ActionServlet和ActionMapping對象構成,核心是一個Servlet類型的對象ActionServlet,他用來接受客戶端的請求。ActionServ-let包括一組基于配置的ActionMapping對象,每個Ac-tionMapping對象實現了一個請求到一個具體的Model中Action處理器對象之間的映射。

Struts框架根椐配置文件中的信息,使ActionServlet,Action,ActionMapping,ActionForm,ActionForward這幾個不同層次的組件交互、協調工作。這些配置文件在系統啟動時,讀入內存中,供控制器使用。Struts的核心是Ac-tionServIet,ActionServIet的核心是Struts-config.xml[3]。

3.Struts工作原理

用戶發起一個HTTP請求,Struts控制器的ActionS-ervlet首先接收用戶請求,然后調用ActionMapping的方法得到ActionFom對象。最后把Action Form作為參數傳給動作對象的execute方法,這個方法結束之后會返回給控制組件一個ActionForward對象,控制組件進行下一步的處理。

Struts是符合MVC2模型的程序框架,只要遵循他的規則,就可以提高程序的開發效率,提高代碼的復用率、可維護性以及可擴展性。

Struts系統中通過對struts-config.xml和web.xml的配置,實現系統各個模塊之間的交互。

4.應用

電力營銷系統是一個分布式Web應用系統,MVC2模型是一種很好的開發模式。在具體實現中以ApacheStruts為核心,根據業務需求對ActionServlet的功能進行了擴展,構成Controller;應用JSP實現頁面展示,作為View;由JavaBean和EJB組件實現業務邏輯,構成Mod-el。應用struts開發系統時的步驟如下:

(1)收集和定義應用需求。

(2)基于數據采集和顯示的原則定義和開發“屏幕顯示”需求。

(3)為每一個“屏幕顯示”定義訪問路徑。

(4)定義ActionMapping,建立業務邏輯之問的關系。

(5)開發滿足“屏幕顯示”需求的所有支持對象。

(6)根椐用戶的數據模型創建ActionForm。

(7)開發被ActionMapping調用的Action對象。

(8)開發業務邏輯對象JavaBean或EJB組件。

(9)對應ActionMapping設計的流程創建JSP頁面。

(10)創建配置文件Struts-config.xml,web.xml等。

(11)開發/部署。

5.結束語

綜上所述,MVC及MVC2模型將應用系統的表示邏輯、業務處理邏輯和數據徹底分開,提高了系統部署的靈活性、可維護性、可擴展性以及程序代碼的復用性,實現了軟件生產的分工協作。Struts是符合MVC2模型的web應用程序開發框架,由于其開放性,Struts框架提供了許多現成的對象組件以及M、V、C之間的調度控制機制,大大提高了程序開發效率和軟件的標準化程度。因此,采用基于MVC2模式的Struts框架開發的電力營銷系統具有便于部署、便于擴充、維護方便、開發效率高、代碼復用率高等特點,是一個真正意義上的分布式web應用系統。

參考文獻:

mvc框架范文6

>> 基于Jfinal+Shiro框架的Web應用系統開發研究 基于JFinal的社交網絡研究 Javaweb軟件開發框架技術介紹 JavaWeb開發的環境配置 基于JavaWeb的物流配送系統的研究 基于JavaWeb的MVC架構模式分析研究 基于Struts框架的Java Web應用開發研究 基于跨平臺的移動應用開發框架研究 基于WEB開發框架的研究 基于MVC和持久框架的WEB開發框架研究 基于JFinal的小區物業管理系統的設計 基于JavaWeb技術的表單重復提交問題解決方案分析與應用 基于模塊化設計的Web應用程序漏洞利用框架研究與開發 基于JQuery框架的web移動端快速開發技術研究與應用 基于 MVC6框架的Web應用開發研究 基于Java的數據庫應用框架研究及開發 基于JQuery框架技術開發的WEB應用 基于XSLT和Struts的Web應用開發框架 基于MVC和NHibernate的開發框架研究 基于MVC模式的PHP開發框架研究 常見問題解答 當前所在位置:.

[2] 詹波.JAVA 極速WEB+ORM框架 JFinal [DB/OL].http:///p/jfinal.

[3] 夏艷秋,袁汝華.基于 JFinal 框架和 HTML5 技術的手機應用開發平臺設計[J].計算機與現代化,2014(1):201-205,210.

[4] 胡啟敏,薛錦云,鐘林輝.基于 Spring 框架的輕量級 J2EE 架構與應用[J].計算機工程與應用,2008, 44(5).

[5] 劉軍,戴金山.基于 Spring MVC 與 iBATIS 的輕量級 Web 應用研究[J].計算機應用,2006,26(4):840-843.

[6] 李峰,劉彥隆.基于 SSH 框架與 jQuery 技術的 JavaWeb 開發應用[J].科技情報開發與經濟,2010(6):106-108.

[7] 許鑫,費翔林.基于 MVC 模式的應用軟件開發框架研究[J].計算機工程與應用,2006,41(30):102-104.

[8] 蘇曉波.Web 快速開發框架的設計與實現[D].武漢:華中科技大學,2010.

相關精選

亚洲精品一二三区-久久