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