15.SpringMVC与Structs2的差异

1.        Struct2是类级别的拦截,一个类对应一个request上下文。

SpringMVC是方法级别的拦截,一个方法对应一个request上下文。

方法同时对应一个url,所以从架构上说,SpringMVC更容易实现restfulurl。但是Structs2实现则费劲一些,因为Structs2Action的一个方法可以对应一个url,但是类属性却被其它方法所共享,这就无法用注解或者其它的方式标识其所属的方法了

2.        SpringMVC方法之间相互独立,独享requestresponse数据,请求数据通过参数获取,处理结果通过ModelMap交回给框架,方法之间变量不共享;而Structs2搞得比较乱,虽然方法独立,但是其Action变量是共享的。不影响程序运行,但是编码和读程序时却带来麻烦,每次来一个请求则创建一个Action,一个Action对象对应一个request上下文。

3.        Structs2对每个request进行封装,把一个一个的request,session等servlet生命周期的变量封装成一个一个的Map,供给每个Action使用,并保证线程安全,比较耗内存。

4.        拦截器的实现机制上Struct2有自己的interceptor机制,而SpringMvc采用独立的AOP方式,这样导致了Structs2的配置文件量比SpringMVC大。

5.        SpringMVC的入口是Servlet,Structs2的是filter导致了二者的机制不同。

6.        SpringMVC集成了Ajax注解@RequestBody则可以实现,直接返回响应文本。而Structs2拦截器集成了Ajax,在Action处理要安装插件或者自己写代码集成进去,使用起来相对不方便。

7.        SpringMVC验证支持JSR303,处理起来相对更加灵活方便,而Struts2验证比较繁琐,感觉太烦乱。

8.        SpringMVCSpring无缝连接,从这点看来在项目管理和安全性上比Structs2高很多。

9.        在设计思想上,Structs2符合面向对象的编程思想,SpringMVC则在servlet上扩展。

10.     SpringMVC开发性能和效率高于Structs2

11.     SpringMVC可以认为100%的零配置了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值