struts2和springMVC的区别

本文深入探讨了Struts2和Spring MVC的架构差异,重点阐述了它们在请求处理过程中的方法级与类级拦截机制。详细对比了两个框架如何管理请求上下文,并指出Spring MVC在实现RESTful URL方面更为灵活。同时,文章还分析了两种框架在验证、请求数据处理以及方法间独立性等方面的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

============================================ 
struts2框架是类级别的拦截,每次来了请求就创建一个Action,然后调用setter getter方法把request中的数据注入
struts2实际上是通过setter getter方法与request打交道的 
struts2中,一个Action对象对应一个request上下文 


spring3 mvc不同,spring3mvc是方法级别的拦截,拦截到方法后根据参数上的注解,把request数据注入进去
在spring3mvc中,一个方法对应一个request上下文 


好了 我们来整理一下 
struts2是类级别的拦截, 一个类对应一个request上下文, 
springmvc是方法级别的拦截,一个方法对应一个request上下文,而方法同时又跟一个url对应
所以说从架构本身上 spring3 mvc就容易实现restful url 
而struts2的架构实现起来要费劲 
因为struts2 action的一个方法可以对应一个url 
而其类属性却被所有方法共享,这也就无法用注解或其他方式标识其所属方法了 


=================================== 
spring3mvc的方法之间基本上独立的,独享request response数据 
请求数据通过参数获取,处理结果通过ModelMap交回给框架 
方法之间不共享变量 


而struts2搞的就比较乱,虽然方法之间也是独立的,但其所有Action变量是共享的 
这不会影响程序运行,却给我们编码 读程序时带来麻烦 


==================================== 
spring3 mvc的验证也是一个亮点,支持JSR303 
处理ajax的请求更是方便 只需一个注解@ResponseBody ,然后直接返回响应文本即可 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值