【转】Struts2 和 Spring MVC对比
1. 實現(xiàn)機制
struts2框架是類級別的攔截,每次來了請求就創(chuàng)建一個controller中對應(yīng)的Action,然后調(diào)用setter getter方法把request中的數(shù)據(jù)注入 。struts2實際上是通過setter getter方法與request打交道的。struts2中,一個Action對象對應(yīng)一個request上下文。spring3 mvc不同,spring3mvc是方法級別的攔截,攔截到方法后根據(jù)參數(shù)上的注解,把request數(shù)據(jù)注入進(jìn)去。在spring3mvc中,一個方法對應(yīng)一個request上下文,而方法同時又跟一個url對應(yīng)。所以說從架構(gòu)本身上 spring3 mvc就容易實現(xiàn)restful url。而struts2的架構(gòu)實現(xiàn)起來要費勁,因為struts2 action的一個方法可以對應(yīng)一個url,而其類屬性卻被所有方法共享,這也就無法用注解或其他方式標(biāo)識其所屬方法。
spring MVC會稍微比struts快。
2. Request數(shù)據(jù)共享
spring3mvc的方法之間基本上獨立的,獨享request response數(shù)據(jù)。請求數(shù)據(jù)通過參數(shù)獲取,處理結(jié)果通過ModelMap交回給框架,方法之間不共享變量。而struts2搞的就比較亂,雖然方法之間也是獨立的,但其所有Action變量是共享的。這不會影響程序運行,卻給我們編碼、讀程序時帶來麻煩 。
?
轉(zhuǎn)載于:https://www.cnblogs.com/sunada2005/p/3577883.html
總結(jié)
以上是生活随笔為你收集整理的【转】Struts2 和 Spring MVC对比的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jQuery开发技巧
- 下一篇: JavaScript库开发者们的规则