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

淺談Struts與Spring在MVC模式中的應用

2012-04-29 00:00:00馬東波

摘要:本文主要介紹了當前比較流行的兩個MVC框架,Struts和Spring MVC,本文中主要分為三部分,第一部分主要介紹了Struts框架的基本體系結構和工作原理,并簡單總結了Struts的優缺點,第二部分主要介紹Spring框架的組成,并簡單總結了Spring的優缺點,第三部分,通過對于兩個框架的總結,進行了簡單對比。

關鍵詞:MVC Struts Spring

0 引言

MVC框架是Xerox PARC在20世紀80年代為編程語言Smalltalk-80發明的一種軟件設計模式,其中M是指數據模型,V是指視圖界面,C是指控制器,使用MVC的目的是將數據模型和視圖界面實現代碼分離,從而使同一個應用程序可以使用不同的表現形式,目前MVC在Java EE里已經廣泛使用,并不斷有新的MVC框架發布。各個MVC框架都有各自的優勢和不足,在進行項目開發的過程中,如何選擇一個合適開發框架就是需要重點考慮的問題,選擇了合適開發框架可以提高開發的效率。本文將主要對于目前最流行、最常用的兩類MVC框架Struts、Spring MVC進行簡要介紹,并對比兩者的不同之處。

1 struts簡介

Struts是Apache軟件基金下Jakarta項目的一部分。Struts框架的主要架構設計和開發者是Craig R.McClanahan。Struts是目前Java Web MVC框架中不爭的王者。經過多年的發展Struts已經逐漸成長為一個穩定、成熟的框架,并且占有了MVC框架中最大的市場份額。

1.1 struts的體系結構 struts是一個基于Sun J2ee平臺的MVC框架,它將Servlet和JSP標簽作為實現自身功能的一部分。MVC的每個特征Struts都有,而且還在他的基礎上有了進一步的創新,它的體系結構如1-1所示。

圖1-1向我們展示了Struts的體系結構的三部分:視圖(View),模型(Model)和控制器(Controller)。

視圖(View):Struts的視圖主要是JSP文件。Struts提供了許多定制JSP標簽,它們使用起來簡單、功能強大,在創建視圖界面的時候使用Struts標簽可達到事半功倍的效果。模型(Model):模型組件代表應用的業務數據和邏輯。Struts中的系統模型的狀態主要由ActionForm Bean和值對象來體現。控制器(Controller):Struts的控制器主要是ActionServlet,但是操作業務邏輯的則是Action、ActionMapping和ActionForward,業務邏輯工作主要是在他們的相互作用下實現的。其中Action是真正的業務邏輯的實現者,ActionMapping與ActionForward的任務是指定不同的業務邏輯或流程的運行方向。

1.2 struts的工作原理 在Struts中,擔任控制器工作的是ActionServlet,所有的請求都會發送給ActionServlet,當ActionServlet接受到一個請求時,會根據URI來決定使用哪一個Action處理請求。如圖1-2所示:

在上圖中,當ActionServlet接受一個來自客戶端的請求時,執行以下操作:①檢索和請求相匹配ActionMapping實例,若是匹配就進行下一步創建ActionForm,但是若不存在則返回請求路徑無效500錯誤信息。②檢查是不是存在ActionFrom實例,若不存在,就創建一個ActionForm 對象,在ActionFrom中保存好用戶提交的表單數據。③是否需要表單驗證(validate)是由其配置決定的,驗證時采用的是ActionForm的validate()方法。④ActionServlet從ActionMapping實例所包含的映射信息出發,最終決定由哪個Action接收,如果不存在相應的Action實例,那就要先創建一個合適的Action實例,然后調用Action的execute()方法。⑤Action的execute()方法返回一個ActionForward對象。ActionServlet把轉發給ActionForward對象指向的jsp組件。⑥ActionForward對象指向的jsp組件生成的動態網頁,返回給客戶端。

1.3 struts的優缺點

1.3.1 優點 ①實現MVC模式,結構清晰,這樣開發者只關注業務邏輯的實現。②可使用的tag有很多,Struts的標記庫(Taglib),如能靈活動用,就會使開發效率變得高很多。③頁面導航。這一功能在以后的發展中表現出了良好的前景,實際上,這樣可使系統的脈絡更清晰。④提供Exception處理機制。⑤數據庫鏈接池管理。⑥支持I18N。

1.3.2 缺點 ①Struts的Action必需是thread-safe方式,它要求只需一個實例處理全部請求。②Struts的每個Action都會跟Web層耦合起來,進行測試時離不開Web容器,也不容易進行單元測試。③Struts的FormBean將全部數據都看做String類型,它可借助工具Commons-Beanutils做類型轉化。但它的轉化都是在Class級別,而且轉化的類型是不可配置的。不容易將類型轉化時的錯誤信息返回給用戶。④Struts處理Action時離不開ServletRequest 和ServletResponse,所以必須要有Servlet容器。⑤Struts創建一個Action,極其不容易控制它的執行順序,而且要想實現這一功能,很可能需要重新去寫Servlet。⑥Struts處理Action以class的hierarchies為基礎,不容易在action處理前和后進行操作。

2 Spring簡介

2.1 Spring概述 Spring是一個提供了解決Java EE問題的一站式框架。Spring的核心是控制反轉,通過配置文件來完成業務對象之間的依賴注入,它是對接口編程而不是對類編程。

2.2 Spring框架組成 Spring框架由7個模塊組成,Spring框架如圖2-1所示。

2.3 Spring優缺點。

2.3.1 優點 ①它為我們找到了一種管理對象的方法,能將中間層對象進行有效的組織。②主要運用的是分層結構,在項目中可實現增量引入。③對于面向接口編程習慣的養成是十分有幫助的。④要達到的一個目標是寫出更容易進行測試的代碼。⑤非侵入性,可最大程度減小應用程序對Spring API的依賴。

2.3.2 缺點 ①使應用程序的邏輯不具連續性,造成代碼不完整,不夠具體。這時僅僅從Source是不能完全把握應用的全部行為的。②將原本應該代碼化的邏輯配置化,這樣就可能出錯的幾率更大,額外負擔會變多。③調試階段比較抽象,后期的bug對應階段,很難找出問題在哪里。

3 Struts與Spring MVC的比較

下面對于Struts和Spring進行簡單對比總結。通過對比可以使我們更好的理解Struts和Spring框架。Struts只是一個MVC框架,主要是用來開發Java Web應用,效率較高。Struts實現的重點在C(Controller)。但Struts基本上是不涉及M(Model),所以Struts可以采用JAVA實現的任何形式的商業邏輯。Spring是一個輕型容器,它的主干是Bean工廠,用以構造我們所需要的M(Model)。在此基礎之上,Spring提供了AOP的實現;對Bean工廠的擴展ApplicationContext對于實現J2EE的應用是很有利的。

4 結束語

上面所介紹的兩類MVC框架,都有著自己的優點和不足,在進行項目開發的過程中,應該多方面考慮,均衡兩者利弊選擇合適的框架進行項目開發。也可以將兩者進行整合,綜合使用兩類框架,這樣可以使兩者的特點得到互補。

參考文獻:

[1]楊磊,陳凌云著.精通Eclipse Web開發-Java體系結構、工具、框架及整合應用.人民郵電出版社.

[2]三洋科技著.Struts+Spring+Hibernate開發入行真功夫.電子工業出版社.

[3]鄔繼成著.J2EE開源編程精要15講-整合Eclipse、Struts、Hibernate和Spring的Java Web開發.電子工業出版社.

主站蜘蛛池模板: 国产精女同一区二区三区久| 91精品啪在线观看国产60岁| 国产成人精品免费视频大全五级 | 五月婷婷中文字幕| 国产精品女主播| 欧洲日本亚洲中文字幕| 成人av专区精品无码国产| 国产xx在线观看| 69av在线| 超清人妻系列无码专区| 久久亚洲国产视频| 亚洲欧美在线看片AI| 亚洲一区二区三区香蕉| 91外围女在线观看| 国产亚洲精品自在久久不卡| 免费观看国产小粉嫩喷水| 免费无遮挡AV| 日韩性网站| 国产十八禁在线观看免费| 日韩小视频在线观看| 特级aaaaaaaaa毛片免费视频| 农村乱人伦一区二区| 美女国内精品自产拍在线播放| 亚洲无码高清免费视频亚洲 | 青草视频久久| 久久精品人妻中文系列| 国产精品福利导航| 国产精品私拍在线爆乳| 2020国产在线视精品在| 欧美成a人片在线观看| 国产女主播一区| 久久6免费视频| 国产无套粉嫩白浆| 伊人五月丁香综合AⅤ| 日本欧美视频在线观看| 国产精品成人久久| 欧美午夜小视频| 欧美色亚洲| 亚洲swag精品自拍一区| 亚洲浓毛av| 国产一区二区三区免费观看| 一区二区欧美日韩高清免费 | 亚洲国产欧美国产综合久久 | 狠狠色狠狠综合久久| 国产欧美精品一区aⅴ影院| 国外欧美一区另类中文字幕| 国产高清在线观看| 国产精品va免费视频| 久久国产精品无码hdav| 国产欧美日韩在线一区| 亚洲最大福利视频网| 国产精品视频3p| 国产一级视频在线观看网站| 欧美日韩中文国产| 国产精品私拍在线爆乳| 99中文字幕亚洲一区二区| 91亚洲影院| AV在线天堂进入| 国产一区在线观看无码| 国产精品漂亮美女在线观看| 国产在线91在线电影| 国产成人综合欧美精品久久| 国产99视频精品免费视频7 | 青青青国产精品国产精品美女| 日本不卡在线视频| 毛片免费在线| 四虎影视国产精品| 青青青视频91在线 | 国产精品香蕉在线观看不卡| 国产拍在线| 露脸真实国语乱在线观看| 国产女同自拍视频| 六月婷婷精品视频在线观看| 亚洲天堂首页| 免费视频在线2021入口| 色婷婷狠狠干| 日韩亚洲高清一区二区| 91九色国产在线| 国产精品思思热在线| 日本一本在线视频| 红杏AV在线无码| 国产SUV精品一区二区6|