您当前的位置: 首页 >  spring

水的精神

暂无认证

  • 2浏览

    0关注

    711博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

根据 springMVC 与 struts2的不同点,说说为什么选择使用springMVC框架

水的精神 发布时间:2019-07-29 07:34:52 ,浏览量:2

  现在使用springMVC的企业是比较多的。明明都是控制层的框架,struts2在springMVC前边,为啥springMVC现在如此受欢迎呢。

  下边我从两者的差异,讲一下为啥用springMVC而不用struts2了。

   参考文章:springMVC 与 struts2 最大的区别

 

  # # 第一点不得不提的是两者的实现机制,springMVC使用 servlet,而struts2使用 Filter。

  至于servlet 和 filter 的区别又是什么,参考文章:

   https://blog.csdn.net/weixin_42669555/article/details/81049423

   在这个层面上不能说谁优谁劣,从设计者的角度出发,他们都觉得自己的实现是最棒的。

 

  # # 第二点说一下拦截机制

  springMVC是对方法的拦截,struts2是对类的拦截。显然springMVC是更加细颗粒的拦截。

  springMVC拦截的每一个方法共享一个request和response。每个方法是独立的。

  struts2 是对整个类的拦截,每个请求都要创建一个action,和spring整合以后,action交给 spring去管理。action是多例的,否则值栈,作用域就会很乱。

 

   # # 性能方面

 SpringMVC实现了零配置,由于SpringMVC基于方法的拦截,有加载一次单例模式bean注入。而Struts2是类级别的拦截,每次请求对应实例一个新的Action,需要加载所有的属性值注入,所以,SpringMVC开发效率和性能高于Struts2。

 

  # # 使用方面

  框架是软件的半成品,是别人封装好的底层,也就是说,实现功能不再使用底层去写了。别人给我们提供了框架。那么想要使用框架,就肯定要遵守使用的规则,就像想要在路上开车,就要遵守交通规则一样,否则就不能在路上跑。

  配置就是我们使用框架的 “交通规则 ” 。

  springMVC能和spring 无缝整合,特别是在使用注解开发了以后,配置文件非常的少。至少相比struts2的配置文件要少的多。

 

  # # 集成方面

  springMVC集成了ajax,使用一个标签 @ResponseBody 这个注解,开启注解扫描就可以使用了,相当方便,如果开发使用注解开发的话,并不需要专门的开启注解扫描。

  而struts2 想要使用ajax 就需要装插件了。

 

 

 

关注
打赏
1664074814
查看更多评论
立即登录/注册

微信扫码登录

0.0443s