springmvc与struts2的区别

Springmvcstruts都是基于mvc模式的javaEE框架、

区别一:SpringMVC基于方法开发,struts基于类开发。

在使用SpringMVC框架进行开发时,会将URL请求路径与Controller类的某个方法进行绑定,请求参数作为该方法的形参。当用户请求该URL路径时,SpringMVC会将URL信息与Controller类的某个方法进行映射,生成一个Handler对象,该对象中只包含了一个method方法。方法执行结束之后,形参数据也会被销毁。

而在使用struts框架进行开发时,Action类中所有的方法使用的请求参数都是Action类中的成员变量,随着方法变得越来越多,就很难分清楚Action中那么多的成员变量到底是哪一个方法使用的,整个Action会变得十分混乱。

比较而言,SpringMVC的优点是,其所有的请求参数都会被定义为相应方法的形参,用户在网页上的请求路径会被映射到Controller类对应的方法上,此时请求参数会注入到对应方法的形参上。

 

区别二:SpringMVC可以进行单例开发,strtus无法使用单例。

        SpringMVC支持单例开发模式,而strtuts由于只能通过类的成员变量接收参数,所以无法使用单例模式,只能使用多例。

(单例:1.私有的构造方法初始化2.常用一个单例的对象3.通过方法获取单例对象)

区别三:struts的处理速度略微比SpringMVC慢,原因是Struts使用了struts标签,struts标签由于设计原因,会出现加载数据慢的情况。      

区别四:SpringMvc使用更加简洁,同时还支持JSR303,处理ajax的请求更方便。

         (JSR303是一套参数校验的标准,它定义了很多常用的校验注解,我么可以直接将这些注解加在我们JavaBean的属性上面,尤其是JavaBean的属性上面,就可以在需要校验的时候进行校验了。)

           Struct2的OGNL表达式使页面的开发效率相比SpringMVC更高,但执行效率并并没有JSTL提升,尤其是struts2的表单标签,远没有html执行效率高。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值