今天下午看了springmvc,之前一直被springmvc简洁的处理方式和基于restful的风格所吸引,不过还是很难从struts的影子里面摆脱出来,显得还是不太适应。
springmvc和struts的机制还是存在一定的区别,struts是基于类级别的url请求拦截,springmvc是基于方法级别的拦截,springmvc继承了jsr的良好传统,通过Annation可以写出很流畅、很简洁的代码,或许之前一直用struts2开发项目,总觉得springmvc在处理muti-part的视图解析和视图返回类型的时候没struts的那么细致,且一些处理的annatation的标签不容易读懂,诸如处理页面参数绑定的时候,springmvc是通过method args 来与request params进行绑定,脱离了以往通过反射类字段并调用setter方法的绑定,这一点尤为不适应,而且里面用于处理绑定的@参数不能很明确的指明意思,大多数靠猜测。
当然,我还没有开发过基于springmvc 应用的项目,现在对springmvc只能算是一知半解,网上能找的资料不是很全面,具体的demo也不多,读源码又太消耗时间和精力,只能一步一步来吧,即便如此,springmvc3很多优良的设计已经改变了传统struts2的定位,扩展性、灵活性比较强,下一步打算继续研究springmvc,了解各个环节的具体实现以及原理。