论坛首页 Java企业应用论坛

Struts与Spring MVC的比较

浏览 17112 次
该帖已经被评为新手帖
作者 正文
   发表时间:2010-06-17   最后修改:2011-03-07

前段时间与一名同事一起讨论起了spring mvc与struts,今天查看了相应的资料,,对其作了总结:

 

一,Struts2 

 1,每次请求(request)都会实例化一个控制类(Action),因为Model存在与Action中,即action是有状态的,所以每次请求都要实例化,而且struts2的设计者认为在强大的垃圾收集器下,用完就扔,并不会影响性能问题,而且还可以保证线程的安全问题.

 

2,自从struts2之后,里面的设计除了action之外,大部分功能都围绕着拦截器设计,如果称我们平常的逻辑为横性思维的话,拦截器提供了纵向思维扩展,在我们执行action时,可以任意提供其他的应用,有点像aop的味道....

 

3,至于struts2提供了很丰富的界面功能,,这点我觉的没必要比较,因为在大多数应用开发中,,大多数人在界面上都运用其他的第三方如jstl或者extjs等等...这个不作优势比较

 

4,稍微看了下源码,使用了代理(ActionProxy)以及反射机制进行(dispatch),有些人说这样的代理是最损耗性能,,,如上面的设计者所说每次都创建一个实例没事,更何况这个代理呢,,,在java企业应用时,大部分可以就架构而去性能..

 

二,spring mvc

 

1,也有提供拦截器,,但是提供的并没有sturts2完全以及强大

 

2,spring提供了annotation的注释,使我们更少的去配置xml,而且灵活度非常强,使开发起来更加便利

 

3,spring 提供的handleAdapter,可使servlet或者其他自己实现的接口替换进来,相当灵活

 

4,spring提供的mapping,action,view(jsp,velocity等),根据需要可以实现最大限度的灵活性

 

结:本人认为,综合了上述的内容,,

一个团队中决定使用哪种框架开发,应该取决于团队对某种框架的了解程度,,达到更高效的开发才最合适,,没有最好的框架,只有最适合的框架...

-----------------------------------------------------------------------------------------------------------

综上只是本人作的一些比较,,,如有错误可以提出指正.....

 

 

   发表时间:2010-06-18  
我也是2个都用,
struts2 超级强大,很方便,

springmvc 很精致,annotation 注解是一大亮点,性能突出

0 请登录后投票
   发表时间:2010-06-18  
少用jsp就好了
0 请登录后投票
   发表时间:2010-06-18  
一直使用strut2,想学学spring MVC,不过一直淡定不下来
0 请登录后投票
   发表时间:2010-06-18  
看了点东西~做项目~但是一时用不上来
0 请登录后投票
   发表时间:2010-06-18   最后修改:2010-06-18
Struts2的拦截器估计很少有人用吧, AOP直接用Spring的
0 请登录后投票
   发表时间:2010-06-18  
一直用spring mvc 想学学struts2 不过一直没时间
0 请登录后投票
   发表时间:2010-06-19  
edgar615 写道
一直使用strut2,想学学spring MVC,不过一直淡定不下来


有同感,不知道是不是用惯了就产生惰性了。
0 请登录后投票
   发表时间:2010-06-19  
SpringMVC其实更像struts1的后继。
0 请登录后投票
   发表时间:2010-06-19  
Cindy_Lee 写道
一直用spring mvc 想学学struts2 不过一直没时间

我正好相反
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics